/* ===== TumaCV v3 ===== */
html,body{overflow-x:hidden}
.grid-2>*,.grid-3>*,.split>*,.editor>*{min-width:0}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}
.split-wide{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.stats-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media (max-width:900px){.split,.split-wide{grid-template-columns:1fr}}

/* Header menus (desktop) */
.app-head .wrap{gap:14px}
.app-nav{align-items:center}
.app-nav .count{background:var(--yellow);color:var(--ink);border-radius:999px;font-size:.72rem;padding:1px 7px}
details.menu{position:relative}
details.menu>summary{list-style:none;cursor:pointer}
details.menu>summary::-webkit-details-marker{display:none}
.app-nav details.menu>summary{color:#C9D0E0;padding:8px 12px;border-radius:999px;font-weight:600;font-size:.93rem;display:inline-flex;gap:6px;align-items:center}
.app-nav details.menu>summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.app-nav details.menu>summary:hover,.app-nav details.menu[open]>summary{color:#fff;background:rgba(255,255,255,.08)}
.app-nav details.menu>summary.on{background:#fff;color:var(--ink)}
.menu-pop{position:absolute;top:calc(100% + 8px);left:0;z-index:90;background:#fff;color:var(--ink);border-radius:14px;border:1px solid var(--line);box-shadow:0 18px 40px -16px rgba(20,33,61,.4);padding:6px;min-width:250px}
.menu-right{left:auto;right:0}
.menu-pop a,.menu-btn{display:grid;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--ink);background:none;border:0;font:inherit;text-align:left;width:100%;cursor:pointer}
.menu-pop a:hover,.menu-btn:hover{background:var(--mist)}
.menu-pop a span{font-size:.82rem;color:var(--muted)}
.menu-btn.danger{color:#A2231D}
.menu-form{padding:8px 12px}
.menu-who{display:grid;padding:10px 12px 12px;border-bottom:1px solid var(--line-2);margin-bottom:6px}
.menu-who span{font-size:.85rem;color:var(--muted)}
.menu-hl{background:var(--yellow-soft)!important;margin-bottom:4px}
.menu-out{width:100%;text-align:left;border:0;background:none;padding:10px 12px;border-radius:10px;font:600 .95rem var(--body);color:#A2231D;cursor:pointer;border-top:1px solid var(--line-2);margin-top:4px}
details.profile{margin-left:auto}
details.profile>summary{display:block;border-radius:50%}
details.profile>summary:focus-visible{outline:3px solid #fff}
.more-hl{display:grid;background:var(--yellow-soft);border-radius:14px;padding:12px 14px;margin-bottom:10px;text-decoration:none;color:var(--ink)}
.more-hl span{font-size:.85rem;color:var(--ink-2)}

/* Big tabs */
.big-tabs{margin-bottom:20px}
.big-tabs a{padding:10px 18px;font-size:.98rem}

/* Email preview (our own look) */
.mailview{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.mv-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 6px}
.mv-subject{font:700 1.25rem/1.3 var(--display);word-break:break-word}
.mv-tag{flex:none;font-size:.72rem;font-weight:700;background:var(--jac-soft);color:var(--jac-deep);border-radius:6px;padding:3px 8px}
.mv-from{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:10px 20px 14px;border-bottom:1px solid var(--line-2)}
.mv-av{width:40px;height:40px;border-radius:50%;background:var(--jac);color:#fff;display:grid;place-items:center;font-weight:800}
.mv-who{font-size:.92rem;min-width:0;overflow:hidden;text-overflow:ellipsis}
.mv-who .muted{font-size:.82rem}
.mv-to{display:block;font-size:.82rem;color:var(--muted)}
.mv-time{font-size:.8rem;color:var(--muted)}
.mv-body{padding:16px 20px;white-space:pre-line;font-size:.97rem;line-height:1.6;max-height:420px;overflow:auto}
.mv-atts{display:flex;flex-wrap:wrap;gap:10px;padding:4px 20px 20px}
.mv-att{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:8px 12px 8px 8px;text-decoration:none;color:var(--ink);min-width:0;max-width:100%;background:#FBFBFD}
.mv-att:hover{border-color:var(--jac)}
.mv-pdf{width:36px;height:42px;border-radius:5px;background:#C9353A;color:#fff;display:grid;place-items:end center;padding-bottom:6px;font:800 .62rem var(--body);flex:none;position:relative}
.mv-pdf::before{content:"";position:absolute;top:0;right:0;border-style:solid;border-width:0 10px 10px 0;border-color:transparent #fff transparent transparent;opacity:.6}
.mv-att-name{display:grid;min-width:0}
.mv-att-name b{font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mv-att-name span{font-size:.75rem;color:var(--muted)}
details.edit-mail{margin-top:12px}
details.edit-mail>summary{list-style:none}
details.edit-mail>summary::-webkit-details-marker{display:none}

/* Send card with states */
.sendcard,.appready{position:relative;overflow:hidden}
.sendcard{background:#fff;border-radius:18px;border:1px solid var(--line-2);box-shadow:var(--shadow);padding:20px;min-height:220px}
.sc-busy,.sc-done,.ar-busy,.ar-done{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#fff;opacity:0;pointer-events:none;transition:opacity .35s ease;text-align:center;padding:20px}
.sendcard.is-busy .sc-busy,.sendcard.is-done .sc-done,.appready.is-busy .ar-busy,.appready.is-done .ar-done{opacity:1;pointer-events:auto}
.sc-spin{width:56px;height:56px;border-radius:50%;border:5px solid var(--green-soft);border-top-color:var(--green);animation:spin .8s linear infinite}
.sc-check svg{width:64px;height:64px}
.sc-check circle{fill:none;stroke:var(--green);stroke-width:3;stroke-dasharray:151;stroke-dashoffset:151}
.sc-check path{fill:none;stroke:var(--green);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40}
.is-done .sc-check circle{animation:draw .5s ease forwards}
.is-done .sc-check path{animation:draw .35s .4s ease forwards}
.sc-done b,.ar-done b{font:800 1.4rem var(--display);color:var(--green)}
@keyframes draw{to{stroke-dashoffset:0}}

/* CV list */
.cv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.cv-card{background:#fff;border:1px solid var(--line-2);border-radius:18px;overflow:visible;display:flex;flex-direction:column}
.cv-card.is-default{border-color:var(--jac)}
.cv-thumb{display:block;border-radius:18px 18px 0 0;overflow:hidden}
.cv-thumb .sheet-mini{display:block;height:200px;border-radius:0;box-shadow:none;border-bottom:1px solid var(--line-2)}
.cv-thumb .sheet-mini .scale{display:block}
.cv-body{padding:14px 16px 16px}
.cv-body .spread>div{display:grid}
.cv-name{font:700 1.08rem var(--display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-actions{margin-top:12px}
.cv-actions .menu-pop{left:auto;right:0;min-width:240px}
.new-cv{margin-bottom:20px}
.chip-btn{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font:500 .9rem var(--body);cursor:pointer}
.chip-btn:hover{border-color:var(--jac);background:var(--jac-soft)}
.cv-switch{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.cv-switch select{width:auto;min-height:38px;padding:6px 10px;font-size:.92rem}
.cv-mini{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line-2);text-decoration:none;color:var(--ink)}

/* Applications page approvals */
.approve-box{background:#fff;border:2px solid var(--green);border-radius:18px;padding:16px 18px;margin-bottom:20px}
.approve-box h2{font-size:1.2rem;margin:0 0 2px;display:flex;align-items:center;gap:8px}
.count-pill{background:var(--green);color:#fff;border-radius:99px;font-size:.8rem;padding:2px 9px}
.approve-list{margin-top:12px;display:grid;gap:8px}
.approve-row{display:grid;grid-template-columns:22px 1fr auto;gap:12px;align-items:center;margin:0;padding:10px 12px;border-radius:12px;background:var(--mist);font-weight:500;cursor:pointer}
.approve-row input{width:20px;height:20px;accent-color:var(--green)}
.ar-main{display:grid;min-width:0}
.ar-main b,.ar-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Fake job result */
.risk{background:#fff;border-radius:18px;border:1px solid var(--line-2);padding:18px;box-shadow:var(--shadow)}
.risk-head{display:flex;gap:16px;align-items:center}
.risk-meter{--c:var(--green);flex:none;width:92px;height:92px;border-radius:50%;display:grid;place-content:center;text-align:center;background:conic-gradient(var(--c) calc(var(--v) * 1%),var(--mist) 0);position:relative}
.risk-meter::before{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}
.risk-meter b,.risk-meter span{position:relative}
.risk-meter b{font:800 1.7rem/1 var(--display)}
.risk-meter span{font-size:.72rem;color:var(--muted)}
.risk-suspicious .risk-meter{--c:var(--yellow)}.risk-high .risk-meter{--c:#E8603C}.risk-very_high .risk-meter{--c:var(--red)}
.risk-level{font:800 1.4rem var(--display);margin:0 0 2px}
.risk-low .risk-level{color:var(--green)}.risk-suspicious .risk-level{color:var(--amber)}.risk-high .risk-level{color:#C2410C}.risk-very_high .risk-level{color:#A2231D}
.rules{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rules li{border-radius:12px;padding:10px 12px;background:var(--mist)}
.rules li.rule-strong{background:var(--red-soft)}.rules li.rule-medium{background:var(--amber-soft)}
.rules p{margin:4px 0 0;font-size:.9rem;color:var(--ink-2)}
.rules .evidence{font-size:.8rem;color:var(--muted)}
.rules q{font-style:italic}
.verify{margin:0;padding-left:18px;font-size:.92rem}
.disclaimer{margin:14px 0 0;font-size:.8rem;color:var(--muted);border-top:1px solid var(--line-2);padding-top:10px}

/* Matcher */
.kw{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.kw span{border-radius:999px;padding:4px 10px;font-size:.84rem;font-weight:600}
.kw-yes{background:var(--green-soft);color:#155f3d}
.kw-no{background:var(--red-soft);color:#8a1f1a}
.tick{color:var(--green);font-weight:800;margin-right:6px}
.tool-wrap{max-width:1100px}
.tool-lead{max-width:62ch!important}

/* Interview coach */
.coach{background:#fff;border:1px solid var(--line-2);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.coach-top{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line-2);flex-wrap:wrap}
.coach-top input{min-height:38px;padding:6px 10px}
.coach-modes{margin:0}
.coach-chat{height:380px;overflow-y:auto;padding:16px;background:var(--mist);display:flex;flex-direction:column;gap:10px}
.msg{max-width:86%;border-radius:16px;padding:10px 14px;font-size:.95rem;animation:toastIn .25s ease}
.msg p{margin:0 0 6px}.msg p:last-child{margin:0}
.msg .who{display:block;font-size:.72rem;font-weight:700;color:var(--muted);margin-bottom:2px}
.coach-msg{background:#fff;align-self:flex-start;border-top-left-radius:4px}
.me-msg{background:var(--jac);color:#fff;align-self:flex-end;border-top-right-radius:4px}
.me-msg .who{color:#E4DCFF}
.is-thinking p{animation:pulse 1.2s infinite}
.stars{color:#E3A008;letter-spacing:2px;font-size:1.05rem}
.coach-bar{padding:12px 14px;border-top:1px solid var(--line-2)}
.coach-bar textarea{min-height:76px}
.coach-actions{margin-top:10px}
.listening{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--red);margin-bottom:8px}
.listening .pulse{width:12px;height:12px;border-radius:50%;background:var(--red);animation:pulse 1s infinite}
.interview-card{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:16px;background:linear-gradient(120deg,var(--jac-soft),#fff)}
.refer-hl{display:grid;margin-top:16px;padding:14px 16px;border-radius:16px;background:var(--yellow);color:var(--ink);text-decoration:none}
.refer-hl span{font-size:.88rem}
.chip-any span{border-style:dashed}

/* ===== Phone pass ===== */
@media (max-width:760px){
  .wrap,.narrow{width:calc(100% - 28px)}
  body{font-size:16px}
  .page-title{flex-direction:column;align-items:stretch}
  .page-title .row{justify-content:flex-start}
  .page-title h1{font-size:1.55rem}
  .card,.section-card{padding:16px}
  .row>input[type=text],.row>input[type=search],.row>input[type=email]{min-width:0}
  .job{grid-template-columns:40px minmax(0,1fr);padding:14px;gap:12px}
  .job h3{font-size:1.02rem}
  .job .side{grid-column:1/-1;flex-direction:row!important;justify-content:space-between;align-items:center!important;gap:10px}
  .job .side .btn{width:auto;margin-top:0!important}
  .jobx .facts{gap:2px 12px}
  .appready dl div{grid-template-columns:86px 1fr}
  .mv-top{padding:14px 14px 4px}
  .mv-from{grid-template-columns:34px 1fr;padding:8px 14px 12px}
  .mv-av{width:34px;height:34px}
  .mv-time{display:none}
  .mv-body{padding:12px 14px;max-height:none;font-size:.93rem}
  .mv-atts{padding:4px 14px 14px}
  .mv-att{flex:1 1 100%}
  .editor aside .sendcard{min-height:200px}
  .dl-menu{position:fixed;left:12px;right:12px;bottom:78px;top:auto;min-width:0}
  .menu-pop{position:fixed;left:12px;right:12px;top:auto;bottom:78px;min-width:0}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat{padding:12px 14px}.stat b{font-size:1.4rem}
  .result-head{gap:16px}
  .scores2{gap:8px}
  .scores2 .ring{--size:96px!important}
  .scores2 .ring:last-child{--size:116px!important}
  .ats li{grid-template-columns:22px 86px minmax(0,1fr)}
  .tabs{width:100%}
  .big-tabs{display:grid;grid-template-columns:1fr 1fr;border-radius:14px}
  .big-tabs a{text-align:center;padding:10px 6px;font-size:.88rem;border-radius:10px}
  .table{font-size:.85rem}
  section.section-card{overflow-x:auto}
  .risk-head{gap:12px}.risk-meter{width:78px;height:78px}
  .coach-chat{height:52vh}
  .msg{max-width:94%}
  .approve-box .spread{flex-direction:column;align-items:stretch}
  .approve-box .spread .row{justify-content:space-between}
  .approve-row{grid-template-columns:22px minmax(0,1fr)}
  .approve-row .btn{grid-column:2;justify-self:start}
  .cv-grid{grid-template-columns:1fr}
  .interview-card{flex-direction:column;align-items:flex-start}
  .doc-row{grid-template-columns:40px minmax(0,1fr);row-gap:8px}
  .doc-row>a,.doc-row>form{grid-column:2}
  .sheet{padding:0}
  .sheet:not([data-fit]){padding:16px;overflow-x:auto}
  .saved-actions .btn,.saved-actions details{flex:1 1 100%}
  .saved-actions details .btn{width:100%}
  .site-head .wrap{height:60px}
  .lip{padding:8px}
  .lip-body{padding:0 14px 14px}
  .lip-avatar{width:96px;height:96px;margin-top:-52px}
  .lip-sec{padding:14px}
  .guide-steps li{flex-wrap:wrap}
  .guide-steps li .btn{margin-left:40px}
  .ask-reply .row{width:100%}
}
@media (max-width:380px){
  .hero h1{font-size:2.6rem}
  .tabbar a,.tabbar button{font-size:.66rem}
}
.appready dl div{grid-template-columns:104px minmax(0,1fr)}
@media (max-width:760px){.appready dl div{grid-template-columns:98px minmax(0,1fr)}}
@media (max-width:760px){.rules .spread{flex-wrap:wrap!important;gap:6px}}
