:root{
  --paper:#FFFFFF;
  --sky:#f2fcf9;
  --sky-deep:#e7faf4;
  --sky-line:#e2f3ee;
  --ink:#0c251d;
  --ink-soft:#1f3d34;
  --ink-invert:#0c251d;
  --slate:#3b5850;
  --slate-2:#5a786f;
  --visa:#0B8367;
  --visa-ink:#075A49;
  --visa-soft:#E9F7F3;
  --stamp:#C15A42;
  --stamp-soft:#F7EAE6;
  --good:#1B8A33;
  --good-soft:#E6F5E9;
  --amber:#A6813F;
  --amber-soft:#F5EFDE;
  --radius-lg:18px;
  --radius-md:12px;
  --radius-sm:8px;
  --shadow-card:0 1px 2px rgba(12,37,29,.04), 0 1px 1px rgba(12,37,29,.03);
  --shadow-pop:0 12px 32px rgba(12,37,29,.14), 0 2px 8px rgba(12,37,29,.08);
  --font-display:'Manrope', system-ui, sans-serif;
  --font-body:'Manrope', system-ui, sans-serif;
  --font-mono:'IBM Plex Mono', monospace;
  --slogan:#a3c2b8;

  --ui-scale:1;
  --vh100:calc(100vh / var(--ui-scale));
}

.petition-workspace-open-btn{background:linear-gradient(135deg,#195244,#33866f);color:#fff;border:none;white-space:nowrap}
.petition-workspace-open-btn svg{width:17px;height:17px;margin-right:7px;vertical-align:-4px}
.petition-workspace-page{
  --pw-fs:14px;
  height:calc(var(--vh100) - 84px); min-height:650px; display:flex; flex-direction:column;
  color:var(--ink); margin:-4px calc(-1 * var(--pw-bleed,24px)) 0;
  padding:0 12px;
}
@media (max-width:900px){ .petition-workspace-page{--pw-bleed:12px; --pw-fs:13.5px} }

.petition-workspace-top{min-height:64px;display:flex;align-items:center;gap:14px;padding:10px 16px;background:var(--paper);border:1px solid var(--sky-line);border-radius:14px 14px 0 0}
.petition-workspace-ident{min-width:190px;flex:none;margin-right:auto}
.pw-summon{display:flex;align-items:center;gap:8px;flex:none}
.pw-summon .btn{white-space:nowrap}
.pw-summon-btn.is-attention{border-color:color-mix(in srgb,var(--amber) 45%,transparent);color:var(--amber)}
.pw-summon-btn.is-attention svg{color:var(--amber)}
.pw-summon .btn.active{background:var(--visa-soft);border-color:var(--visa);color:var(--visa-ink)}
.pw-switch{position:relative;flex:none}
.pw-switch .petition-workspace-client-search{position:absolute;top:38px;right:0;width:320px;max-width:70vw;margin-left:0;z-index:26}
.petition-workspace-ident h2{font-size:19px;margin:1px 0;line-height:1.2}
.petition-workspace-ident .hint{font-size:11.5px;letter-spacing:.05em}
.petition-workspace-client-search{position:relative;flex:1;max-width:360px;margin-left:auto}
.petition-workspace-client-search input{width:100%;height:36px;background:var(--sky);border-color:transparent}
.petition-workspace-search-results{position:absolute;z-index:25;top:41px;left:0;right:0;background:var(--paper);border:1px solid var(--sky-line);border-radius:12px;box-shadow:var(--shadow-pop);overflow:hidden}
.petition-workspace-search-results button{display:flex;flex-direction:column;width:100%;padding:10px 13px;border:0;border-bottom:1px solid var(--sky-line);background:transparent;text-align:left;color:var(--ink);cursor:pointer}
.petition-workspace-search-results button:hover{background:var(--sky)}
.petition-workspace-search-results button:focus-visible{outline:2px solid var(--visa);outline-offset:-2px}
.petition-workspace-search-results span{font-size:12.5px;color:var(--slate);margin-top:2px}
.petition-workspace-top-actions{display:flex;gap:8px;flex:none}

.petition-progress-line{display:flex;align-items:center;gap:12px;min-height:34px;padding:7px 16px;
  background:var(--paper);border:1px solid var(--sky-line);border-top:0}
.petition-progress-bar-thin{flex:none;width:96px;margin:0}
.petition-progress-sentence{flex:1;min-width:0;font-size:12.5px;color:var(--slate);line-height:1.4;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.petition-progress-toggle{flex:none;border:0;background:transparent;color:var(--slate);
  font:700 10.5px/1.4 var(--font-body);cursor:pointer;padding:3px 4px;border-radius:6px}
.petition-progress-toggle:hover{color:var(--visa)}
.petition-progress-toggle:focus-visible{outline:2px solid var(--visa);outline-offset:1px}
.petition-progress-strip{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--sky-line);border:1px solid var(--sky-line);border-top:0}
.petition-progress-tile{background:var(--paper);padding:9px 15px 10px;display:flex;flex-direction:column;gap:1px;min-width:0}
.petition-progress-label{font:700 9px/1.4 var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--slate-2)}
.petition-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0}
.petition-progress-note{font-size:11.5px;color:var(--slate);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.petition-progress-headline{display:flex;align-items:baseline;gap:7px;min-width:0}
.petition-progress-headline>b{font-size:21px;font-weight:800;line-height:1.2;letter-spacing:-.015em;flex:none}
.petition-progress-headline>b i{font-style:normal;font-size:13px;font-weight:700;color:var(--slate-2)}
.petition-progress-tile small{font-size:11.5px;color:var(--slate);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.petition-progress-tile.is-attention .petition-progress-headline>b{color:var(--amber)}
.petition-progress-bar{display:flex;gap:2px;margin:2px 0 3px}
.petition-progress-bar i{flex:1 1 0;min-width:4px;height:5px;border-radius:2px;background:var(--sky-deep)}
.petition-progress-legend{display:flex;flex-wrap:wrap;align-items:center;gap:1px 11px;min-width:0}
.petition-progress-chip{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--slate);white-space:nowrap}
.petition-progress-chip>i{width:7px;height:7px;border-radius:2px;background:var(--sky-deep);flex:none}
.petition-progress-chip>b{color:var(--ink);font-weight:800}
.petition-progress-bar i.state-ready,.petition-progress-chip>i.state-ready{background:var(--good)}
.petition-progress-bar i.state-working,.petition-progress-chip>i.state-working{background:var(--visa)}
.petition-progress-bar i.state-needs-input,.petition-progress-chip>i.state-needs-input{background:var(--amber)}
.petition-progress-bar i.state-insufficient,.petition-progress-chip>i.state-insufficient{background:var(--stamp)}
.petition-progress-bar i.state-not-started,.petition-progress-chip>i.state-not-started{background:var(--sky-deep)}

.petition-mobile-tabs{display:none;gap:5px;padding:8px 12px;background:var(--paper);border:1px solid var(--sky-line);border-top:0}
.petition-mobile-tabs button{flex:1;border:1px solid var(--sky-line);background:var(--paper);color:var(--slate);font-size:13px;font-weight:700;padding:8px;border-radius:9px;cursor:pointer;font-family:var(--font-body)}
.petition-mobile-tabs button.active{background:var(--visa);border-color:var(--visa);color:var(--visa-on,#fff)}
.petition-mobile-tabs button:focus-visible{outline:2px solid var(--visa);outline-offset:2px}
.petition-mobile-tabs button span{margin-left:5px;border-radius:8px;padding:1px 6px;font-size:11.5px;background:var(--amber-soft);color:var(--amber)}
.petition-mobile-tabs button.active span{background:rgba(255,255,255,.24);color:#fff}

.petition-workspace-loading,.petition-workspace-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;background:var(--paper);border:1px solid var(--sky-line);border-top:0;border-radius:0 0 14px 14px}
.petition-workspace-empty{justify-content:flex-start;text-align:left;padding:0}
.petition-workspace-page.is-landing .petition-workspace-empty{
  border-top:1px solid var(--sky-line);border-radius:14px;background:var(--sky);overflow-y:auto}
.petition-landing{width:100%;max-width:1240px;margin:0 auto;padding:24px 24px 32px;
  display:grid;grid-template-columns:minmax(0,1.95fr) minmax(316px,1fr);gap:20px;align-items:start}
.pl-card{background:var(--paper);border:1px solid var(--sky-line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);min-width:0}
.pl-head{display:flex;align-items:center;gap:14px;justify-content:space-between;
  padding:12px 22px;border-bottom:1px solid var(--sky-line)}
.pl-head-ident .hint{font-size:11.5px;letter-spacing:.08em}
.pl-head-ident b{display:block;margin-top:2px;font:800 17px/1.25 var(--font-display);
  letter-spacing:-.018em;color:var(--ink)}
.pl-head .petition-workspace-client-search{max-width:270px;margin-left:auto}
.pl-head-stack{flex-direction:column;align-items:flex-start;gap:1px;padding:12px 16px}
.pl-head-stack b{font:800 13.5px/1.3 var(--font-display);letter-spacing:-.012em;color:var(--ink)}
.pl-head-stack small{font-size:12.5px;color:var(--slate-2)}

.pl-body{padding:34px 26px 24px}
.pl-body>*{max-width:660px;margin-left:auto;margin-right:auto}
.pl-body .petition-start-title{text-align:center;max-width:17ch;font-size:clamp(24px,2.1vw,31px)}
.pl-body .petition-start-lead{text-align:center;max-width:62ch}
.pl-body .petition-start-states{align-items:center;margin-top:22px}
.pl-body .petition-start-states .petition-progress-legend{justify-content:center}
.pl-body .petition-start-states .petition-progress-chip>i{width:8px;height:8px;border-radius:50%}
.pl-body .petition-start-states .petition-progress-chip>i.state-not-started{
  box-shadow:inset 0 0 0 1px var(--slate-2)}
.pl-body .petition-start-steps{margin-top:24px}
.petition-start-step-num{font:700 11px/1.5 var(--font-mono);letter-spacing:.06em;color:var(--slate-2);flex:none;padding-top:2px}

.pl-criteria{margin-top:24px;border:1px solid var(--sky-line);border-radius:var(--radius-md);overflow:hidden}
.pl-criteria-head{padding:10px 14px;background:var(--sky);border-bottom:1px solid var(--sky-line);
  display:flex;flex-direction:column;gap:2px}
.pl-criteria-head b{font-size:14px;font-weight:800}
.pl-criteria-head small{font-size:12.5px;color:var(--slate-2)}
.pl-criteria-row{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--sky-line)}
.pl-criteria-row:last-child{border-bottom:0}
.pl-criteria-row>b{flex:1;font-size:14px;font-weight:600;color:var(--ink)}
.pl-criteria-roman{font:700 10.5px/1 var(--font-mono);color:var(--slate-2);width:34px;flex:none}
.pl-criteria-state{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--slate)}
.pl-criteria-state>i{width:7px;height:7px;border-radius:2px;background:var(--sky-deep);flex:none}
.pl-criteria-state>i.state-ready{background:var(--good)}
.pl-criteria-state>i.state-working{background:var(--visa)}
.pl-criteria-state>i.state-needs-input{background:var(--amber)}
.pl-criteria-state>i.state-insufficient{background:var(--stamp)}
.pl-criteria-state>i.state-not-started{background:var(--sky-deep);box-shadow:inset 0 0 0 1px var(--slate-2)}

.pl-picker{margin-top:26px;padding-top:20px;border-top:1px solid var(--sky-line);
  display:flex;flex-direction:column;gap:10px}

.pl-side{min-width:0;display:flex;flex-direction:column;gap:18px;position:sticky;top:14px}
.pl-quick-body{padding:6px 16px 16px;display:flex;flex-direction:column;gap:9px}
.pl-steps-list{display:flex;flex-direction:column}
.pl-step{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid var(--sky-line)}
.pl-step:last-child{border-bottom:0}
.pl-step-tile{width:33px;height:33px;border-radius:10px;display:grid;place-items:center;flex:none;
  background:var(--sky);color:var(--slate-2)}
.pl-step-tile svg{width:16px;height:16px}
.pl-step.is-current .pl-step-tile{background:var(--visa-soft);color:var(--visa)}
.pl-step.is-done .pl-step-tile{background:var(--good-soft);color:var(--good)}
.pl-step-text{display:flex;flex-direction:column;min-width:0;flex:1;gap:1px}
.pl-step-text b{font-size:14px;font-weight:700;color:var(--ink)}
.pl-step-text small{font-size:12.5px;line-height:1.45;color:var(--slate)}
.pl-mark{width:20px;height:20px;border-radius:50%;flex:none;display:grid;place-items:center}
.pl-mark.is-pending{border:2px solid var(--sky-deep)}
.pl-mark.is-current{border:2px dashed var(--visa)}
.pl-mark.is-done{color:var(--good)}
.pl-mark svg{width:20px;height:20px}
.btn.pl-secondary{width:100%;justify-content:center;margin-top:2px}
.btn.pl-secondary svg{width:16px;height:16px;flex:none}

.pl-metric{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--sky-line)}
.pl-metric:last-of-type{border-bottom:0}
.pl-metric-ic{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;flex:none}
.pl-metric-ic svg{width:15px;height:15px}
.pl-metric-ic.tone-visa{background:var(--visa-soft);color:var(--visa)}
.pl-metric-ic.tone-good{background:var(--good-soft);color:var(--good)}
.pl-metric-ic.tone-amber{background:var(--amber-soft);color:var(--amber)}
.pl-metric-ic.tone-slate{background:var(--sky);color:var(--slate-2)}
.pl-metric-label{flex:1;min-width:0;font-size:13px;color:var(--slate)}
.pl-metric-value{font:800 14px/1 var(--font-display);color:var(--ink);white-space:nowrap}

.petition-start-title{margin:0;font:800 clamp(26px,2.3vw,34px)/1.18 var(--font-display);letter-spacing:-.022em;color:var(--ink);max-width:19ch;text-wrap:balance}
.petition-start-lead{margin:15px 0 0;max-width:56ch;font-size:15px;line-height:1.65;color:var(--ink-soft)}
.petition-start-steps{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:1px;background:var(--sky-line);border-top:1px solid var(--sky-line);border-bottom:1px solid var(--sky-line)}
.petition-start-step{display:flex;gap:16px;padding:15px 2px;background:var(--paper)}
.petition-start-step-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.petition-start-step-body b{font-size:15px;font-weight:700;color:var(--ink)}
.petition-start-step-body small{font-size:14px;line-height:1.6;color:var(--slate);max-width:60ch}
.petition-start-states{display:flex;flex-direction:column;gap:9px}
.petition-start-states>small{font-size:12.5px;color:var(--slate-2)}
.petition-start-states .petition-progress-legend{gap:7px 16px}
.petition-start-states .petition-progress-chip{font-size:12.5px}
.petition-start-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.petition-start-panel-head b{font-size:15px;font-weight:800;letter-spacing:-.01em}
.petition-start-panel-head span{font:600 10px/1.4 var(--font-mono);letter-spacing:.05em;color:var(--slate-2);white-space:nowrap}
.petition-start-note{margin:0;font-size:12.5px;line-height:1.55;color:var(--slate-2)}
.petition-start-list{width:100%;border:1px solid var(--sky-line);border-radius:var(--radius-md);background:var(--paper);overflow:hidden;max-height:min(46vh,400px);overflow-y:auto}
.petition-start-row{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border:0;border-bottom:1px solid var(--sky-line);background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.petition-start-row:last-child{border-bottom:0}
.petition-start-row:hover{background:var(--sky)}
.petition-start-row:focus-visible{outline:2px solid var(--visa);outline-offset:-2px}
.petition-start-row.is-test .petition-start-initials{background:var(--sky);color:var(--slate-2)}
.petition-start-initials{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--sky-deep);color:var(--visa);font:800 11px/1 var(--font-body);flex:none}
.petition-start-name{display:flex;flex-direction:column;min-width:0;flex:1}
.petition-start-row-top{display:flex;align-items:center;gap:7px;min-width:0}
.petition-start-name b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.petition-start-name small{font-size:12px;color:var(--slate);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.petition-start-go{width:15px;color:var(--slate-2);flex:none}
.petition-start-row.is-picked{background:var(--visa-soft)}
.petition-start-row.is-picked .petition-start-name b{color:var(--visa-ink)}
.petition-start-row.is-picked .petition-start-go{color:var(--visa)}
.petition-start-row.is-picked .petition-start-initials{background:var(--visa);color:var(--visa-on,#fff)}
.btn.petition-start-cta{width:100%;justify-content:center;padding:12px 14px;font-size:15px;border-radius:12px;
  box-shadow:0 6px 16px color-mix(in srgb,var(--visa) 26%,transparent);white-space:normal;text-align:center;
  line-height:1.3;margin-top:4px}
.btn.petition-start-cta:disabled{box-shadow:none}
.btn.petition-start-cta svg{width:17px;height:17px;flex:none}
.petition-start-cta-note{margin-top:-3px}
@media (max-width:1120px){
  .petition-landing{grid-template-columns:minmax(0,1fr);gap:16px;padding:16px 14px 26px}
  .pl-side{position:static}
  .pl-body{padding:26px 18px 20px}
  .pl-body .petition-start-title{max-width:22ch}
  .pl-head{flex-wrap:wrap;padding:12px 16px}
  .pl-head .petition-workspace-client-search{max-width:none;width:100%;margin-left:0}
}
.petition-workspace-error{margin-top:16px;border:1px solid color-mix(in srgb,var(--stamp) 40%,transparent);background:var(--stamp-soft)}
.petition-workspace-alert{display:flex;align-items:flex-start;gap:10px;padding:9px 14px;background:var(--amber-soft);border:1px solid color-mix(in srgb,var(--amber) 35%,transparent);color:var(--ink)}
.petition-workspace-alert>span{width:20px;color:var(--stamp);flex:none}
.petition-workspace-alert div{flex:1;min-width:0}
.petition-workspace-alert p{font-size:13px;margin:2px 0 0;white-space:pre-wrap}
.petition-workspace-alert .icon-btn{width:28px;height:28px;flex:none}

.petition-workspace-grid{flex:1;min-height:0;display:grid;grid-template-columns:256px minmax(0,1fr) var(--pw-susan-w,376px);border:1px solid var(--sky-line);border-top:0;border-radius:0 0 14px 14px;background:var(--paper);overflow:hidden}
.petition-workspace-grid.is-left-collapsed{grid-template-columns:58px minmax(0,1fr) var(--pw-susan-w,376px)}
.petition-workspace-left{min-height:0;overflow-y:auto;padding:12px 10px 20px;border-right:1px solid var(--sky-line);background:color-mix(in srgb,var(--sky) 55%,var(--paper))}
.petition-left-head-actions{display:flex;align-items:center;gap:2px;margin-left:auto}
.is-left-collapsed .petition-workspace-left{padding:12px 6px 20px}
.is-left-collapsed .petition-panel-head{padding:2px 0 11px}
.is-left-collapsed .petition-criterion-row{padding:6px 4px;justify-content:center;gap:0}
.is-left-collapsed .petition-criterion-name,
.is-left-collapsed .petition-criterion-count,
.is-left-collapsed .petition-team-details{display:none}
.is-left-collapsed .petition-criterion-dot{position:absolute;right:4px;top:6px}
.is-left-collapsed .petition-criterion-row{position:relative}
.petition-workspace-right{min-height:0;display:flex;flex-direction:column;border-left:1px solid var(--sky-line);background:color-mix(in srgb,var(--sky) 55%,var(--paper))}
.pw-questions-panel{position:absolute;top:0;right:0;bottom:0;width:var(--pw-susan-w,376px);max-width:100%;
  background:var(--paper);box-shadow:-22px 0 44px -30px rgba(12,37,29,.45)}
:root[data-theme="dark"] .pw-questions-panel{box-shadow:-22px 0 44px -26px rgba(0,0,0,.6)}
.petition-workspace-center{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--paper)}

.pw-susan{min-width:0}
.pw-susan .petition-chat{flex:1;min-height:0;border-radius:0}
.pw-susan-head{align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--sky-line);background:var(--paper);flex:none}
.pw-susan-ava{position:relative;width:34px;height:34px;flex:none}
.pw-susan-ava img{width:34px;height:34px;border-radius:11px;object-fit:cover;object-position:50% 50%;display:block}
.pw-susan-ava .online-dot{position:absolute;right:-2px;bottom:-2px}
.pw-susan-ident{display:flex;flex-direction:column;min-width:0;margin-right:auto;gap:1px}
.pw-susan-ident b{font-size:calc(var(--pw-fs) + 0.5px);line-height:1.25}
.pw-susan-ident small{font-size:calc(var(--pw-fs) - 2px);color:var(--slate);line-height:1.3}
.pw-susan-scope{flex:none;padding:10px 12px;border-bottom:1px solid var(--sky-line);background:var(--visa-soft);color:var(--ink-soft);font-size:calc(var(--pw-fs) - 1.5px);line-height:1.6}
.pw-susan-msg-ava{overflow:hidden;background:var(--sky-deep)}
.pw-susan-msg-ava img{width:100%;height:100%;object-fit:cover;display:block}
.pw-susan-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}
.pw-susan-chip{border:1px solid var(--sky-line);background:var(--sky);color:var(--visa);font:700 10.5px/1.35 var(--font-body);padding:6px 10px;border-radius:999px;cursor:pointer;text-align:left;max-width:100%}
.pw-susan-chip:hover{background:var(--visa-soft);border-color:var(--visa)}
.pw-susan-chip:focus-visible{outline:2px solid var(--visa);outline-offset:1px}
.pw-susan .petition-chat-scroll{padding:14px 12px 10px}
.pw-susan .petition-composer{padding:10px 12px 12px}
.pw-susan .petition-msg.is-user .petition-msg-body{max-width:92%}

.pw-draft-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.pw-draft-pane{background:var(--sky, #f2fcf9)}
.pw-draft-card{background:#fff;border:1px solid var(--sky-line);border-radius:4px;
  padding:15px 17px;box-shadow:0 2px 10px rgba(20,60,49,.09);margin:0 auto 16px;max-width:860px}
.pw-draft-card>.petition-section-preview{border:0;padding:0;background:transparent}
.pw-draft-empty b{display:block;font-size:calc(var(--pw-fs) + 1px);margin-bottom:6px;color:var(--ink)}
.pw-draft-empty p{margin:0;font-size:calc(var(--pw-fs) - 0.5px);line-height:1.65;color:var(--slate)}
.petition-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 6px 11px}
.petition-panel-head>b{font-size:calc(var(--pw-fs) - 0.5px);letter-spacing:.01em}
.petition-panel-head .icon-btn{width:28px;height:28px}
.petition-panel-head .icon-btn svg{width:15px;height:15px}

.petition-criteria-list{display:flex;flex-direction:column;gap:3px}
.petition-criterion-row{display:flex;align-items:center;width:100%;gap:9px;padding:8px 9px;border:1px solid transparent;background:transparent;color:var(--ink);border-radius:10px;text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease}
.petition-criterion-row:hover{background:var(--paper);border-color:var(--sky-line)}
.petition-criterion-row:focus-visible{outline:2px solid var(--visa);outline-offset:1px}
.petition-criterion-row.active{background:var(--paper);border-color:var(--sky-line);box-shadow:0 3px 14px rgba(31,91,74,.09)}
.petition-criterion-row.active .petition-criterion-roman{background:var(--visa);color:var(--visa-on,#fff)}
.petition-criterion-row.state-na{opacity:.6}
.petition-criterion-roman{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--sky-deep);color:var(--visa);font:700 10px/1 var(--font-mono);flex:none}
.petition-criterion-name{display:flex;min-width:0;flex:1;flex-direction:column;align-items:flex-start;gap:4px}
.petition-criterion-name>b{font-size:calc(var(--pw-fs) - 1px);font-weight:700;line-height:1.3;max-width:100%;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.petition-criterion-name .pill{font-size:11px;padding:1px 7px;max-width:100%}
.petition-criterion-count{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--amber-soft);color:var(--amber);font:800 10px/20px var(--font-mono);text-align:center;flex:none}
.petition-criterion-dot{width:7px;height:7px;border-radius:2px;background:var(--sky-deep);flex:none}
.petition-criterion-dot.state-ready{background:var(--good)}
.petition-criterion-dot.state-working{background:var(--visa)}
.petition-criterion-dot.state-needs-input{background:var(--amber)}
.petition-criterion-dot.state-insufficient{background:var(--stamp)}
.petition-criterion-dot.state-not-started{background:var(--sky-deep)}
.petition-criterion-dot.state-na{background:transparent;border:1px solid var(--sky-deep)}

.petition-team-details{margin:15px 4px 0;border-top:1px solid var(--sky-line);padding-top:11px}
.petition-team-details>summary{display:flex;align-items:center;gap:6px;padding:4px;font-size:12.5px;font-weight:700;color:var(--slate);cursor:pointer;list-style:none;border-radius:7px}
.petition-team-details>summary::-webkit-details-marker{display:none}
.petition-team-details>summary::before{content:'▸';font-size:10.5px;color:var(--slate-2)}
.petition-team-details[open]>summary::before{content:'▾'}
.petition-team-details>summary:hover{color:var(--visa)}
.petition-team-details>summary:focus-visible{outline:2px solid var(--visa);outline-offset:1px}
.petition-detail-block{margin-top:13px}
.petition-detail-block>b{display:block;font:800 9px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate-2);margin-bottom:5px}
.petition-stage-line{display:flex;align-items:center;gap:8px;padding:4px 5px;color:var(--slate);font-size:12px;border-radius:7px}
.petition-stage-line>span{width:18px;height:18px;border:1px solid var(--sky-line);border-radius:50%;display:grid;place-items:center;font-size:10.5px;background:var(--paper);flex:none}
.petition-stage-line>b{font-weight:700;font-size:12px}
.petition-stage-line.active{background:var(--visa-soft);color:var(--visa)}
.petition-stage-line.active>span{background:var(--visa);border-color:var(--visa);color:var(--visa-on,#fff)}
.petition-stage-line.done{color:var(--ink)}
.petition-stage-line.done>span{background:var(--good);border-color:var(--good);color:#fff}
.petition-source-line{display:flex;justify-content:space-between;gap:8px;padding:5px 2px;font-size:11.5px;border-bottom:1px dashed var(--sky-line)}
.petition-source-line span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--slate)}
.petition-source-line b{white-space:nowrap;color:var(--visa);font-size:11.5px}
.petition-method-line{display:flex;flex-direction:column;gap:2px;padding:7px 2px;border-bottom:1px dashed var(--sky-line)}
.petition-method-line b{font-size:11px;line-height:1.3}
.petition-method-line span{font-size:9.5px;color:var(--slate)}
.petition-method-line code{font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--visa)}
.petition-activity{display:flex;align-items:flex-start;gap:8px;padding:8px 2px;border-bottom:1px solid var(--sky-line)}
.petition-activity>span{width:14px;color:var(--visa);flex:none}
.petition-activity div{display:flex;flex-direction:column;min-width:0}
.petition-activity b{font-size:11.5px;line-height:1.35;overflow-wrap:anywhere}
.petition-activity small{font-size:9.5px;color:var(--slate);margin-top:3px}
.petition-job{display:grid;grid-template-columns:64px 1fr auto;gap:6px;align-items:center;padding:7px 2px;border-bottom:1px dashed var(--sky-line);font-size:10.5px}
.petition-job>span{font-weight:800}
.job-succeeded{color:var(--good)}.job-failed{color:var(--stamp)}.job-running{color:var(--amber)}

.petition-workspace-center-head{min-height:62px;display:flex;align-items:center;justify-content:space-between;column-gap:14px;row-gap:9px;flex-wrap:wrap;padding:9px 20px;border-bottom:1px solid var(--sky-line)}
.petition-center-title{display:flex;align-items:center;gap:11px;min-width:0;flex:1 1 250px}
.petition-center-title .petition-criterion-roman{width:32px;height:32px;font-size:12.5px}
.petition-center-title-text{min-width:0}
.petition-center-title-text h3{font-size:calc(var(--pw-fs) + 4px);margin:0;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.petition-center-sub{display:flex;align-items:center;gap:8px;margin-top:3px;min-width:0}
.petition-center-sub .hint{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.petition-workspace-tabs{display:flex;gap:3px;padding:3px;background:var(--sky);border-radius:10px;flex:none}
.petition-workspace-tabs{flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none;}
.petition-workspace-tabs::-webkit-scrollbar{display:none;}
.petition-workspace-tabs button{border:0;background:transparent;color:var(--slate);font-size:calc(var(--pw-fs) - 1.5px);font-weight:700;padding:6px 9px;border-radius:8px;cursor:pointer;white-space:nowrap;font-family:var(--font-body);flex:none}
.petition-workspace-tabs button:hover{color:var(--ink)}
.petition-workspace-tabs button:focus-visible{outline:2px solid var(--visa);outline-offset:1px}
.petition-workspace-tabs button.active{background:var(--paper);color:var(--visa);box-shadow:0 2px 8px rgba(31,91,74,.08)}
.petition-workspace-tabs button span{margin-left:5px;background:var(--sky-deep);color:var(--visa);border-radius:8px;padding:1px 5px;font-size:10.5px}
.petition-workspace-tabs button.active span{background:var(--visa-soft)}

.petition-chat{flex:1;min-height:0;display:flex;flex-direction:column;background:color-mix(in srgb,var(--sky) 55%,var(--paper))}
.petition-chat-scroll{flex:1;min-height:0;overflow-y:auto;padding:20px 20px 12px}
.petition-chat-thread{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.petition-msg{display:flex;gap:10px;align-items:flex-start}
.petition-msg-avatar{width:28px;height:28px;border-radius:9px;flex:none;display:grid;place-items:center;background:linear-gradient(145deg,var(--visa-soft),var(--sky-deep));color:var(--visa)}
.petition-msg-avatar svg{width:15px;height:15px}
.petition-msg-body{flex:1;min-width:0;background:var(--paper);border:1px solid var(--sky-line);border-radius:4px 14px 14px 14px;padding:12px 15px;box-shadow:var(--shadow-card)}
.petition-msg-who{font:800 9px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate-2);margin-bottom:6px}
.petition-msg-who small{font-family:var(--font-body);letter-spacing:0;text-transform:none;font-weight:600;font-size:11px}
.petition-msg-body>p{font-size:var(--pw-fs);line-height:1.65;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.petition-msg-body>small.hint{display:block;margin-top:8px;font-size:calc(var(--pw-fs) - 2.5px);line-height:1.45}
.md{font-size:14px;line-height:1.65;color:var(--ink-soft);overflow-wrap:anywhere}
.md>*:first-child{margin-top:0}
.md>*:last-child{margin-bottom:0}
.md p{margin:0 0 8px}
.md ul,.md ol{margin:0 0 9px;padding-left:19px;display:flex;flex-direction:column;gap:3px}
.md li{margin:0}
.md li::marker{color:var(--slate-2)}
.md strong{font-weight:700;color:var(--ink)}
.md em{font-style:italic}
.md h4,.md h5,.md h6{margin:13px 0 6px;color:var(--ink);font-weight:800;letter-spacing:-.01em;line-height:1.35}
.md h4{font-size:15px}
.md h5{font-size:14.5px}
.md h6{font-size:14px}
.md code{font:600 11.5px/1.5 var(--font-mono);background:var(--sky);border:1px solid var(--sky-line);border-radius:5px;padding:1px 5px}
.md pre{margin:0 0 9px;background:var(--sky);border:1px solid var(--sky-line);border-radius:9px;padding:9px 11px;overflow-x:auto}
.md pre code{border:0;background:none;padding:0;white-space:pre}
.md blockquote{margin:0 0 9px;padding:2px 0 2px 11px;border-left:2px solid var(--sky-line);color:var(--slate)}
.md a{color:var(--visa)}
.petition-msg-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.petition-msg.is-user{flex-direction:row-reverse}
.petition-msg.is-user .petition-msg-body{flex:0 1 auto;max-width:86%;margin-left:auto;background:var(--visa-soft);border-color:color-mix(in srgb,var(--visa) 20%,transparent);border-radius:14px 4px 14px 14px;box-shadow:none}
.petition-msg.is-user .petition-msg-who{color:var(--visa-ink)}
.petition-msg.is-tool .petition-msg-body{background:var(--sky);border-style:dashed;box-shadow:none}
.petition-msg.is-document .petition-msg-body{padding:12px}
.petition-typing{display:flex;gap:4px;align-items:center;height:16px}
.petition-typing i{width:6px;height:6px;border-radius:50%;background:var(--slate-2);animation:petitionTyping 1.2s ease-in-out infinite}
.petition-typing i:nth-child(2){animation-delay:.15s}
.petition-typing i:nth-child(3){animation-delay:.3s}
@keyframes petitionTyping{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

.petition-gen-panel.is-error{border-color:color-mix(in srgb,var(--stamp) 35%,transparent)}
.petition-gen-head{display:flex;align-items:center;gap:9px}
.petition-gen-dot{width:8px;height:8px;border-radius:50%;background:var(--visa);flex:none;animation:petitionGenPulse 1.1s ease-in-out infinite}
.petition-gen-panel.is-error .petition-gen-dot{animation:none;background:var(--stamp)}
.petition-gen-panel.is-stopped .petition-gen-dot{animation:none;background:var(--slate-2)}
@keyframes petitionGenPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}
.petition-gen-stage{font-size:12.5px;font-weight:700;color:var(--visa)}
.petition-gen-panel.is-error .petition-gen-stage{color:var(--stamp)}
.petition-gen-text{margin-top:12px;font-family:Georgia,serif;font-size:14px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);min-height:26px}
.petition-gen-cursor{display:inline-block;width:7px;height:14px;margin-left:1px;background:var(--visa);vertical-align:text-bottom;animation:petitionGenBlink .9s step-end infinite}
@keyframes petitionGenBlink{0%,100%{opacity:1}50%{opacity:0}}
.petition-gen-error{margin-top:10px;padding:10px 12px;border-radius:9px;background:var(--stamp-soft);color:var(--stamp);font-size:12.5px;line-height:1.5}
.petition-gen-actions{margin-top:12px;display:flex;gap:8px}

.petition-section-preview{background:#fff;color:#0c251d;border:0;border-radius:0;
  padding:56px 72px 64px}
.petition-section-preview h3{font-family:Georgia,serif;font-size:19px;line-height:1.35;
  margin:0 0 20px;color:#0c251d;text-align:center;font-weight:700}
.petition-section-preview>p{font-family:Georgia,serif;font-size:14.5px;line-height:1.85;
  margin:0 0 14px;white-space:pre-wrap;text-align:justify;hyphens:auto;}
@media (max-width:1100px){ .petition-section-preview{padding:32px 28px 36px} }
.petition-recommender-card > .petition-section-preview,
.petition-final-assembly{border:1px solid var(--sky-line);border-radius:4px;
  box-shadow:0 2px 10px rgba(20,60,49,.09);margin-top:12px;max-width:860px}
.petition-recommender-card > .petition-section-preview h3{text-align:left}
.petition-version-meta{display:flex;justify-content:space-between;gap:10px;font:700 9px/1.4 var(--font-mono);color:var(--slate-2);text-transform:uppercase;letter-spacing:.05em}
.petition-status-line{display:flex;align-items:center;gap:8px;margin-top:12px}
.petition-warnings{margin-top:18px;padding:13px;border-left:3px solid var(--amber);background:var(--amber-soft);border-radius:0 9px 9px 0;font-size:12.5px;font-family:var(--font-body)}
.petition-warnings b{display:block;margin-bottom:6px;color:var(--amber)}
.petition-warnings ul{padding-left:0;margin:0;list-style:none}
.petition-warnings li{padding:5px 0;border-top:1px dashed color-mix(in srgb,var(--amber) 30%,transparent);line-height:1.5}
.petition-warnings li:first-child{border-top:none}
.petition-warnings li small{display:block;color:var(--slate);margin-top:2px;font-size:11px}
.petition-recommendations{margin-top:14px;padding:13px;border-left:3px solid var(--visa);background:var(--visa-soft);border-radius:0 9px 9px 0;font-size:12.5px;font-family:var(--font-body)}
.petition-recommendations b{display:block;margin-bottom:6px;color:var(--visa-ink)}
.petition-rec-item{display:flex;gap:8px;align-items:flex-start;padding:6px 0;border-top:1px dashed color-mix(in srgb,var(--visa) 25%,transparent)}
.petition-rec-item:first-child{border-top:none}
.petition-rec-item>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.petition-rec-item b{margin:0;font-size:12.5px;color:var(--ink)}
.petition-rec-item small{color:var(--slate);font-size:11px;line-height:1.45}
.pw-draft-notes{margin-top:18px;border-top:1px solid var(--sky-line);padding-top:11px}
.pw-draft-notes>summary{cursor:pointer;font:700 11px/1.4 var(--font-body);color:var(--slate);padding:3px;list-style:none;display:flex;align-items:center;gap:6px;border-radius:7px}
.pw-draft-notes>summary::-webkit-details-marker{display:none}
.pw-draft-notes>summary::before{content:'▸';font-size:10.5px;color:var(--slate-2)}
.pw-draft-notes[open]>summary::before{content:'▾'}
.pw-draft-notes>summary:hover{color:var(--visa)}
.pw-draft-notes>summary:focus-visible{outline:2px solid var(--visa);outline-offset:1px}
.pw-draft-notes .petition-warnings:first-of-type{margin-top:10px}
.petition-weaknesses,.petition-placeholders{margin-top:18px;padding:13px;border-left:3px solid var(--amber);background:var(--amber-soft);border-radius:0 9px 9px 0;font-size:12.5px;font-family:var(--font-body)}
.petition-weaknesses ul{padding-left:17px;margin:7px 0 0;line-height:1.55}
.petition-placeholders{border-left-color:var(--visa);background:var(--visa-soft)}
.petition-placeholders p{margin:5px 0 0;line-height:1.5;color:var(--ink-soft)}

.petition-composer{flex:none;border-top:1px solid var(--sky-line);background:var(--paper);padding:11px 20px 13px}
.petition-composer>*{max-width:780px;margin-left:auto;margin-right:auto}
.petition-composer>textarea{width:100%;resize:none;font-size:14px;line-height:1.55;min-height:50px;max-height:150px}
.petition-composer-tools{display:flex;align-items:center;gap:7px;margin-top:8px}
.petition-composer-tools>.btn{margin-left:auto}
.petition-file-input{display:none}
.petition-voice-note{font-size:11.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.35}
.petition-workspace-page .icon-btn{width:32px;height:32px}
.petition-workspace-page .icon-btn svg{width:15px;height:15px}
.petition-workspace-page .icon-btn:focus-visible{outline:2px solid var(--visa);outline-offset:1px}
.petition-workspace-page .icon-btn:disabled{opacity:.4;cursor:not-allowed}
.petition-workspace-page .icon-btn.is-recording{background:var(--stamp-soft);color:var(--stamp);animation:petitionRec 1.4s ease-out infinite}
@keyframes petitionRec{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--stamp) 45%,transparent)}70%,100%{box-shadow:0 0 0 7px transparent}}

.petition-workspace-scroll{flex:1;min-height:0;overflow-y:auto;padding:18px 20px}
.petition-section-editor{max-width:860px;margin:auto}
.petition-section-editor label{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-weight:700;font-size:12.5px}
.petition-section-editor textarea{resize:vertical;white-space:pre-wrap;font:13px/1.65 Georgia,serif}
.petition-editor-warning{display:flex;flex-direction:column;gap:3px;padding:11px 13px;border-radius:10px;background:var(--visa-soft);color:var(--ink-soft);font-size:12px;margin-bottom:14px}
.petition-editor-warning b{color:var(--visa-ink)}
.petition-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.petition-source-card{display:flex;align-items:center;gap:11px;border:1px solid var(--sky-line);border-radius:10px;padding:10px;margin-bottom:7px;max-width:860px}
.petition-source-card div{display:flex;flex-direction:column;min-width:0}
.petition-source-card b{font-size:13px;overflow-wrap:anywhere}
.petition-source-card small{color:var(--slate);font-size:11.5px;margin-top:2px}
.petition-empty-section{padding:36px 24px;text-align:center;color:var(--slate);font-size:13px;line-height:1.6}
.petition-final-assembly{max-width:850px;margin:auto;padding:36px 52px;box-shadow:0 10px 35px rgba(31,91,74,.09)}
.petition-final-assembly article{border-top:1px solid var(--sky-line);margin-top:34px;padding-top:18px}
.petition-final-assembly article>p{font-family:Georgia,serif;font-size:14px;line-height:1.78;white-space:pre-wrap;overflow-wrap:anywhere}

.petition-questions-head{flex:none;padding:12px 8px 11px 14px;border-bottom:1px solid var(--sky-line)}
.petition-questions-head .petition-question-nav{margin-left:auto}
.petition-question-nav{display:flex;align-items:center;gap:4px;font:700 10.5px/1 var(--font-mono);color:var(--slate)}
.petition-workspace-page .petition-question-nav .icon-btn{width:26px;height:26px}
.petition-answer-saved{display:flex;align-items:flex-start;gap:9px;margin:10px 12px 0;padding:10px 11px;background:var(--good-soft);border:1px solid color-mix(in srgb,var(--good) 30%,transparent);border-radius:11px}
.petition-answer-saved>span{width:15px;color:var(--good);flex:none;margin-top:1px}
.petition-answer-saved>div{flex:1;min-width:0}
.petition-answer-saved b{display:block;font-size:12.5px;line-height:1.35;color:var(--good)}
.petition-answer-saved small{display:block;margin-top:3px;font-size:11.5px;line-height:1.5;color:var(--ink-soft)}
.petition-workspace-page .petition-answer-saved .icon-btn{width:24px;height:24px;flex:none;background:transparent}
.petition-workspace-right-scroll{flex:1;min-height:0;overflow-y:auto;padding:12px}
.petition-question{padding:14px;border:1px solid var(--sky-line);border-radius:13px;background:var(--paper);box-shadow:var(--shadow-card)}
.petition-question-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.petition-question-criterion{max-width:70%;border:0;background:var(--visa-soft);color:var(--visa-ink);border-radius:99px;padding:3px 9px;font:700 10px/1.4 var(--font-body);cursor:pointer;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.petition-question-criterion:hover{background:var(--sky-deep)}
.petition-question-criterion:focus-visible{outline:2px solid var(--visa);outline-offset:1px}
.petition-question>b{display:block;font-size:14.5px;line-height:1.45}
.petition-question>p{font-size:12.5px;color:var(--ink-soft);line-height:1.5;margin:7px 0 0}
.petition-gap-label{font-weight:700;color:var(--slate)}
.petition-question-status{display:inline-flex;margin-top:8px;padding:3px 8px;border-radius:7px;background:var(--amber-soft);color:var(--amber);font-size:11.5px;font-weight:700}
.petition-answer-label{display:block;margin:13px 0 5px;font:800 9px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate-2)}
.petition-question textarea{width:100%;resize:vertical;font-size:13px;line-height:1.55;white-space:pre-wrap}
.petition-answer-tools{display:flex;align-items:center;gap:7px;margin-top:8px}
.petition-attached{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.petition-attached .link-chip{font-size:11.5px;gap:4px;padding:3px 6px 3px 9px}
.petition-workspace-page .petition-attached .icon-btn{width:18px;height:18px;background:transparent}
.petition-workspace-page .petition-attached .icon-btn svg{width:11px;height:11px}
.petition-question-sources{margin-top:10px}
.petition-question-sources summary{cursor:pointer;font-size:11.5px;color:var(--visa);font-weight:700}
.petition-question-sources label{display:flex;align-items:flex-start;gap:6px;padding:5px 0;font-size:11.5px}
.petition-question-sources input{width:auto;margin-top:2px}
.petition-question-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}
.petition-question-actions .btn{font-size:12.5px;padding:7px 8px;justify-content:center}
.petition-question-actions .btn:first-child{grid-column:1 / -1}
.petition-question-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:9px;border-top:1px dashed var(--sky-line)}
.petition-question-foot .hint{flex:1;font-size:11px;line-height:1.45}
.petition-linkish{flex:none;border:0;background:transparent;color:var(--slate);font:700 10px/1.4 var(--font-body);cursor:pointer;text-decoration:underline;text-underline-offset:2px;padding:2px}
.petition-linkish:hover{color:var(--visa)}
.petition-linkish:focus-visible{outline:2px solid var(--visa);outline-offset:1px}
.petition-linkish:disabled{opacity:.45;cursor:not-allowed}
.petition-right-empty{padding:34px 16px;text-align:center;color:var(--slate)}
.petition-right-empty b{display:block;font-size:14px;color:var(--ink);margin-bottom:6px}
.petition-right-empty p{font-size:12.5px;line-height:1.6;margin:0}
.petition-handled{margin-top:14px;border-top:1px solid var(--sky-line);padding-top:11px}
.petition-handled>summary{cursor:pointer;font-size:12px;font-weight:700;color:var(--slate);padding:3px}
.petition-handled>summary:hover{color:var(--visa)}
.petition-handled-row{display:flex;gap:8px;align-items:flex-start;padding:8px 2px;border-bottom:1px dashed var(--sky-line)}
.petition-handled-row>div{min-width:0}
.petition-handled-row b{display:block;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.petition-handled-row small{display:block;margin-top:3px;font-size:11px;color:var(--slate);line-height:1.45}

@media(max-width:1440px){
  .petition-workspace-grid{grid-template-columns:240px minmax(0,1fr) var(--pw-susan-w,352px)}
  .petition-workspace-grid.is-left-collapsed{grid-template-columns:58px minmax(0,1fr) var(--pw-susan-w,352px)}
  .pw-questions-panel{width:352px}
  .petition-final-assembly{padding:30px 38px}
}
@media(max-width:1300px){
  .petition-workspace-grid{grid-template-columns:224px minmax(0,1fr) var(--pw-susan-w,328px)}
  .petition-workspace-grid.is-left-collapsed{grid-template-columns:58px minmax(0,1fr) var(--pw-susan-w,328px)}
  .pw-questions-panel{width:328px}
  .petition-chat-scroll{padding:16px 14px 10px}
  .petition-composer{padding:10px 14px 12px}
  .petition-workspace-center-head{padding:10px 14px}
  .petition-workspace-scroll{padding:16px 14px}
}
@media(max-width:1080px){
  .petition-workspace-page{height:auto;min-height:0}
  .petition-mobile-tabs{display:flex}
  .petition-workspace-top{flex-wrap:wrap}
  .pw-switch{order:3;flex-basis:100%}
  .pw-switch .petition-workspace-client-search{position:static;width:auto;max-width:none;margin-top:8px}
  .petition-workspace-client-search{max-width:none;margin-left:0}
  .petition-progress-strip{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,1fr)}
  .petition-progress-sentence{white-space:normal}
  .petition-workspace-grid{grid-template-columns:1fr;height:72vh;min-height:520px}
  .petition-workspace-grid.is-left-collapsed{grid-template-columns:1fr}
  .pw-questions-panel{position:static;width:auto;box-shadow:none}
  .is-left-collapsed .petition-workspace-left{padding:12px 10px 20px}
  .is-left-collapsed .petition-criterion-row{padding:8px 9px;justify-content:flex-start;gap:9px}
  .is-left-collapsed .petition-criterion-name{display:flex}
  .is-left-collapsed .petition-criterion-count,
  .is-left-collapsed .petition-team-details{display:block}
  .petition-workspace-grid>.petition-workspace-left,
  .petition-workspace-grid>.petition-workspace-center,
  .petition-workspace-grid>.petition-workspace-right{display:none;border-left:0;border-right:0}
  .petition-workspace-grid[data-mobile-tab="criteria"]>.petition-workspace-left{display:block}
  .petition-workspace-grid[data-mobile-tab="work"]>.petition-workspace-center{display:flex}
  .petition-workspace-grid[data-mobile-tab="susan"]>.pw-susan{display:flex}
  .petition-workspace-grid[data-mobile-tab="questions"]>.pw-questions-panel{display:flex}
  .petition-final-assembly{padding:24px 20px}
}
@media(max-width:640px){
  .petition-progress-strip{grid-template-columns:repeat(2,1fr)}
  .petition-progress-tile-wide{grid-column:1/-1}
  .petition-workspace-ident{min-width:0}
  .pw-summon{flex-wrap:wrap}
  .petition-question-actions{grid-template-columns:1fr}
  .petition-question-actions .btn:first-child{grid-column:auto}
  .petition-workspace-tabs{width:100%;overflow-x:auto}
}
.contract-sign-page{min-height:var(--vh100);background:linear-gradient(145deg,#effefa,#f7fcfa 55%,#edf7f2);padding:24px;color:#17332b;box-sizing:border-box;font-family:Manrope,Arial,sans-serif}
.contract-sign-page h1,.contract-sign-page h2,.contract-sign-page h3{color:#17332b}
.contract-sign-brand{max-width:980px;margin:0 auto 18px;display:flex;align-items:center;gap:11px}.contract-sign-brand small{display:block;color:#66857c}.contract-sign-logo{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#1eca9d;color:#fff;font-size:25.5px;font-weight:800;box-shadow:0 8px 22px #1747d133}
.contract-sign-state{max-width:620px;margin:14vh auto;padding:42px;text-align:center;background:#fff;border:1px solid #dcf1ea;border-radius:22px;box-shadow:0 16px 48px #1f33551a}.contract-sign-error{border-color:#f1b9b9}.contract-sign-success{border-color:#a9dfc1}.contract-sign-check{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:#dff7e9;color:#147a47;font-size:36px;font-weight:800}
.contract-sign-head,.contract-sign-notice,.contract-sign-paper,.contract-sign-confirm{box-sizing:border-box;max-width:980px;margin-left:auto;margin-right:auto}.contract-sign-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:14px}.contract-sign-head h1{font-size:26.5px;margin:0 0 4px}.contract-sign-head p{margin:0;color:#66857c}.contract-sign-expiry{text-align:right;font-size:13px;color:#66857c}.contract-sign-notice{padding:14px 16px;background:#fff8dc;border:1px solid #eed887;border-radius:12px;font-size:14.5px;margin-bottom:16px}.contract-sign-notice code{word-break:break-all}
.contract-sign-paper{padding:64px 70px;background:#fff;border:1px solid #dcf1ea;border-radius:12px;box-shadow:0 14px 42px #1f335516;font:15px/1.58 Arial,sans-serif}.contract-block{margin:0 0 9px}.contract-block.title{text-align:center;font-size:23.5px;font-weight:700;margin:18px 0}.contract-block.heading{font-size:18px;font-weight:700;margin-top:18px}.contract-block.subheading{font-weight:700}.contract-sign-columns{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin:20px 0}.contract-sign-pagebreak{border:0;border-top:1px dashed #aac3bb;margin:30px 0}
.contract-sign-manager{margin:20px 0;padding:15px;border:1px solid #c9eae0;border-radius:11px;background:#f8fffd}.contract-sign-manager span{display:block;font:700 12px/1.3 Manrope,Arial,sans-serif;color:#538777}.contract-sign-manager img{display:block;width:auto;max-width:min(100%,320px);max-height:130px;margin-top:8px}
.contract-sign-field{margin:22px 0;padding:16px;border:3px solid #37e3b2;border-radius:15px;background:#f5fffc;box-shadow:0 0 0 5px #2f6feb18}.contract-sign-field-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.contract-sign-field-head p{margin:2px 0 0;font:12px Manrope,Arial,sans-serif;color:#608a7d}.contract-sign-canvas{display:block;width:100%;height:220px;background:#fff;border:2px dashed #8ad8c1;border-radius:10px;touch-action:none;cursor:crosshair}
.contract-sign-confirm{margin-top:18px;margin-bottom:40px;padding:20px;background:#fff;border:1px solid #dcf1ea;border-radius:15px;box-shadow:0 12px 36px #1f335514}.contract-sign-confirm label{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.5}.contract-sign-confirm input{width:20px;height:20px;margin-top:1px;flex:none}.contract-sign-submit{min-height:48px;margin:16px 0 8px;font-size:16px}.contract-sign-inline-error{margin:12px 0 0;color:#b42318;font-weight:650}
.contract-sign-manager-box{margin-top:9px;padding:9px 11px;border:1px solid var(--sky-line);border-radius:10px;background:var(--sky)}.contract-sign-manager-box summary{cursor:pointer;font-weight:700;color:var(--visa-ink)}.contract-sign-manager-grid{display:grid;grid-template-columns:1fr;gap:9px;margin-top:12px}.contract-sign-manager-grid label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--ink-soft);min-width:0}.contract-sign-manager-grid label:nth-child(3){max-width:150px}
.contract-sign-manager-grid select,.contract-sign-manager-grid input{width:100%;max-width:100%;min-width:0}.contract-sign-manager-grid .btn{align-self:end;justify-self:start}
.contract-sign-manager-grid select{width:100%;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.contract-sign-manager-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}
.contract-sign-manager-actions input{flex:1 1 0;min-width:0;font-family:var(--font-mono);font-size:12.5px;text-overflow:ellipsis}
.contract-sign-manager-actions .btn{flex:none}
.contract-sign-pipeline{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:11px}.contract-sign-pipeline span{padding:4px 8px;border:1px solid var(--sky-line);border-radius:999px;background:var(--paper);color:var(--slate);font-size:12px}.contract-sign-pipeline span.done{border-color:color-mix(in srgb,var(--good) 42%,var(--sky-line));color:var(--good)}.contract-sign-pipeline span.current{background:var(--good-soft);font-weight:800}
.contract-card-list{display:grid;gap:6px;margin-top:7px}.contract-card-item{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:7px 9px;background:var(--sky);border-radius:9px}.contract-card-item>span:first-child{flex:1;min-width:180px}
@media(max-width:700px){.contract-sign-page{padding:14px 0}.contract-sign-brand,.contract-sign-head,.contract-sign-notice,.contract-sign-confirm{margin-left:14px;margin-right:14px}.contract-sign-head{align-items:flex-start;flex-direction:column}.contract-sign-expiry{text-align:left}.contract-sign-paper{padding:30px 18px;border-radius:0;border-left:0;border-right:0}.contract-sign-columns{grid-template-columns:1fr;gap:12px}.contract-sign-manager img{max-width:100%}.contract-sign-canvas{height:190px}.contract-sign-state{margin:12vh 14px;padding:30px 20px}}
@media(max-width:700px){.contract-sign-manager-actions input{min-width:100%}}

.contract-sign-slot{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px;margin:22px 0}
.contract-sign-slot>*{box-sizing:border-box;width:min(100%,max(260px,var(--sign-w,100%)));min-width:min(100%,260px);margin-top:0;margin-bottom:0}
.contract-sign-slot>.sign-align-left{margin-right:auto;margin-left:0}
.contract-sign-slot>.sign-align-center{margin-left:auto;margin-right:auto}
.contract-sign-slot>.sign-align-right{margin-left:auto;margin-right:0}
.contract-sign-canvas{height:clamp(110px,var(--sign-h,220px),46vh)}
@media(max-width:700px){.contract-sign-slot{gap:12px}.contract-sign-slot>*{width:100%;min-width:0;margin-left:0;margin-right:0}}

.sign-place-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:18px;background:rgba(12,37,29,.55)}
.sign-place-modal{position:relative;display:flex;flex-direction:column;width:min(1180px,100%);height:min(88vh,100%);background:var(--paper);border:1px solid var(--sky-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);overflow:hidden}
.sign-place-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;padding:13px 16px;border-bottom:1px solid var(--sky-line)}
.sign-place-head p{margin:3px 0 0}
.sign-place-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sign-place-phone{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-soft)}
.sign-place-phone input{width:16px;height:16px}
.sign-place-body{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 254px;min-height:0}
.sign-place-scroll{overflow:auto;background:var(--sky);padding:16px}
.sign-place-paper{max-width:820px;margin:0 auto;padding:40px 44px;font-size:15px}
.sign-place-paper.is-phone{max-width:390px;padding:26px 16px}
.sign-place-paper.is-phone .contract-sign-slot>*{width:100%;min-width:0;margin-left:0;margin-right:0}
.sign-place-hit{cursor:pointer;border-radius:6px;outline:1px solid transparent}
.sign-place-hit:hover{background:var(--visa-soft);outline-color:color-mix(in srgb,var(--visa) 30%,transparent)}
.sign-place-hit.is-drop{background:var(--visa-soft);outline-color:var(--visa)}
.sign-place-ghost{position:relative;cursor:pointer}
.sign-place-ghost.is-active{box-shadow:0 0 0 3px color-mix(in srgb,var(--visa) 45%,transparent)}
.sign-place-ghost.is-dragging{opacity:.45;outline:2px dashed color-mix(in srgb,var(--visa) 55%,transparent);outline-offset:3px}
.sign-place-stub{margin-top:8px;height:56px;display:grid;place-items:center;border:1px dashed #8ad8c1;border-radius:8px;background:#fff;font:11px var(--font-body);color:#608a7d;text-align:center;padding:0 8px}
.sign-place-pad{display:grid;place-items:center}
.sign-place-grip{position:absolute;top:-11px;left:-11px;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:var(--visa);color:#fff;font-size:13px;line-height:1;cursor:grab;touch-action:none}
.sign-place-corner{position:absolute;right:-9px;bottom:-9px;width:18px;height:18px;padding:0;border:2px solid var(--paper);border-radius:5px;background:var(--visa);cursor:nwse-resize;touch-action:none}
.sign-place-side{display:flex;flex-direction:column;gap:14px;padding:14px;border-left:1px solid var(--sky-line);overflow:auto}
.sign-place-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.sign-place-row{display:flex;flex-direction:column;gap:6px}
.sign-place-row input[type=range]{width:100%}
.sign-place-label{font-size:12.5px;font-weight:700;color:var(--ink-soft)}
.sign-place-place,.sign-place-aligns{display:flex;gap:6px;flex-wrap:wrap}
.sign-place-note{margin:0}
.sign-place-dropline{position:fixed;height:3px;border-radius:2px;background:var(--visa);box-shadow:0 0 0 3px color-mix(in srgb,var(--visa) 22%,transparent);pointer-events:none;z-index:70}
.sign-place-dropline::before,.sign-place-dropline::after{content:'';position:absolute;top:-3px;width:9px;height:9px;border-radius:50%;background:var(--visa)}
.sign-place-dropline::before{left:-4px}
.sign-place-dropline::after{right:-4px}
.sign-place-droptag{position:absolute;left:0;bottom:14px;white-space:nowrap;padding:4px 9px;border-radius:var(--radius-sm);background:var(--visa);color:var(--paper);font:700 11.5px/1.25 var(--font-body);box-shadow:var(--shadow-pop)}
.sign-place-droptag::after{content:'';position:absolute;left:13px;bottom:-3px;width:8px;height:8px;background:var(--visa);transform:rotate(45deg);border-radius:1px}
.sign-place-droptag.is-below{bottom:auto;top:14px}
.sign-place-droptag.is-below::after{bottom:auto;top:-3px}
.sign-place-summary{display:flex;flex-direction:column;gap:2px;font-size:12.5px;color:var(--ink-soft);min-width:0;overflow-wrap:anywhere}
.sign-place-summary b{font-size:12.5px}
@media(max-width:900px){.sign-place-body{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.sign-place-side{border-left:0;border-top:1px solid var(--sky-line)}.sign-place-paper{padding:24px 16px}}

:root[data-theme="dark"]{
  --paper:#14241f;
  --sky:#1b2e28;
  --sky-deep:#223832;
  --sky-line:#2b443d;
  --ink:#ecf8f4;
  --ink-soft:#b9d6ce;
  --slate:#8baca3;
  --slate-2:#6b9086;
  --visa:#4DCBAA;
  --visa-ink:#ADEBD8;
  --visa-soft:#172B27;
  --stamp:#E8593A;
  --stamp-soft:#3A2420;
  --good:#33B34F;
  --good-soft:#1B3420;
  --amber:#D99A3D;
  --amber-soft:#3A2E14;
  --shadow-card:0 1px 2px rgba(0,0,0,.3), 0 1px 1px rgba(0,0,0,.2);
  --shadow-pop:0 12px 32px rgba(0,0,0,.45), 0 2px 8px rgba(0,0,0,.3);
  --slogan:#3a574e;
}

:root[data-theme="night"]{
  --paper:#0D0D0F;
  --paper-2:#141417;
  --sky:#17171B;
  --sky-deep:#1F1F24;
  --sky-line:#2A2A30;
  --sky-soft:#17171B;
  --ink:#F2EFEA;
  --ink-soft:#C9C2B8;
  --ink-invert:#0D0D0F;
  --slate:#948C80;
  --slate-2:#6E675D;
  --visa:#F97316;
  --visa-ink:#FFB066;
  --visa-soft:#2C1A0B;
  --stamp:#F2603C;
  --stamp-soft:#33180F;
  --good:#3FBE5B;
  --good-soft:#122917;
  --amber:#E0A93F;
  --amber-soft:#2E2210;
  --shadow-card:0 1px 2px rgba(0,0,0,.6), 0 1px 1px rgba(0,0,0,.4);
  --shadow-pop:0 12px 32px rgba(0,0,0,.7), 0 2px 8px rgba(0,0,0,.5);
  --slogan:#3A352C;
}


:root[data-theme="olej"]{
  --paper:#0B0C0E;
  --paper-2:#111317;
  --sky:#14161A;
  --sky-deep:#1C1F24;
  --sky-line:#2A2E35;
  --sky-soft:#14161A;
  --ink:#F6F3EA;
  --ink-soft:#D8D2C0;
  --ink-invert:#0B0C0E;
  --slate:#A39D8A;
  --slate-2:#74705F;
  --visa:#FFC400;
  --visa-ink:#FFDE59;
  --visa-soft:#2A2208;
  --stamp:#F2603C;
  --stamp-soft:#33180F;
  --good:#46C26A;
  --good-soft:#12291A;
  --amber:#FFC400;
  --amber-soft:#2E2508;
  --shadow-card:0 1px 2px rgba(0,0,0,.6), 0 1px 1px rgba(0,0,0,.4);
  --shadow-pop:0 12px 32px rgba(0,0,0,.75), 0 2px 8px rgba(0,0,0,.55);
  --slogan:#3A372B;
}
:root[data-theme="olej"] body{background:var(--paper)}
:root[data-theme="olej"] .btn-primary,
:root[data-theme="olej"] button[style*="17e08f"],
:root[data-theme="olej"] .btn[style*="linear-gradient"]{
  background:#FFC400 !important; color:#0B0C0E !important; border-color:#FFC400 !important;
  box-shadow:0 0 0 1px rgba(255,196,0,.55), 0 0 18px rgba(255,196,0,.45), 0 6px 20px -6px rgba(255,196,0,.55) !important;
  font-weight:700;
}
:root[data-theme="olej"] .btn-primary:hover,
:root[data-theme="olej"] button[style*="17e08f"]:hover{
  background:#FFD633 !important; box-shadow:0 0 0 1px rgba(255,214,51,.8), 0 0 26px rgba(255,196,0,.65), 0 8px 24px -6px rgba(255,196,0,.7) !important;
}
:root[data-theme="olej"] .btn-primary svg,:root[data-theme="olej"] button[style*="17e08f"] svg{color:#0B0C0E !important; stroke:#0B0C0E}
:root[data-theme="olej"] .page-head h1,
:root[data-theme="olej"] .section-title,
:root[data-theme="olej"] h2,
:root[data-theme="olej"] .drawer-title{color:#FFC400}
:root[data-theme="olej"] a:not(.btn):not(.rail-item){color:#FFD21F}
:root[data-theme="olej"] .rail-item.active{background:#FFC400; color:#0B0C0E; box-shadow:0 0 16px rgba(255,196,0,.4)}
:root[data-theme="olej"] .rail-item.active svg{color:#0B0C0E}
:root[data-theme="olej"] .rail-item:hover{color:#FFC400}
:root[data-theme="olej"] input:focus,:root[data-theme="olej"] textarea:focus,:root[data-theme="olej"] select:focus{border-color:#FFC400 !important; box-shadow:0 0 0 3px rgba(255,196,0,.22) !important}
:root[data-theme="olej"]{
  --font-display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
  --font-body:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
  --radius-lg:20px; --radius-md:14px; --radius-sm:10px;
}
:root[data-theme="olej"] body{font-family:var(--font-body)}
:root[data-theme="olej"] h1,:root[data-theme="olej"] h2,:root[data-theme="olej"] h3,:root[data-theme="olej"] .page-head h1{font-family:var(--font-display);font-weight:800;letter-spacing:-.035em}
:root[data-theme="olej"] .page-head h1{font-weight:900;letter-spacing:-.045em}
:root[data-theme="olej"] .btn{border-radius:12px;font-weight:700;transition:transform .25s,box-shadow .25s,background .25s}
:root[data-theme="olej"] .btn:hover{transform:translateY(-1px)}
:root[data-theme="olej"] .btn-ghost{background:#1A1D22;border:1px solid #272B32;color:#F2F3F5}
:root[data-theme="olej"] .btn-ghost:hover{border-color:#FFC400;color:#FFC400}
:root[data-theme="olej"] .card,:root[data-theme="olej"] .pl-card{background:#14161A;border:1px solid #272B32;border-radius:20px}
:root[data-theme="olej"] input,:root[data-theme="olej"] select,:root[data-theme="olej"] textarea{border-radius:12px;background:#1A1D22;border:1px solid #272B32;color:#F2F3F5}
:root[data-theme="olej"] .rail-item{border-radius:12px;font-weight:600}
:root[data-theme="olej"] .badge-count,:root[data-theme="olej"] .chip,:root[data-theme="olej"] .pill{border-radius:99px}

.theme-pick{padding:8px 12px 10px; border-bottom:1px solid var(--sky-line);}
.theme-pick__row{display:flex; gap:6px;}
.theme-opt{
  flex:1; display:flex; flex-direction:column; align-items:center; gap:3px;
  padding:7px 4px; border:1px solid var(--sky-line); border-radius:9px;
  background:var(--paper); color:var(--ink-soft); cursor:pointer;
  font-size:11px; font-family:var(--font-body); line-height:1.2;
}
.theme-opt svg{width:15px; height:15px;}
.theme-opt:hover{border-color:var(--visa);}
.theme-opt.active{border-color:var(--visa); color:var(--visa); background:var(--visa-soft); font-weight:600;}
.theme-pick__dots{display:flex; gap:7px; margin-top:9px; flex-wrap:wrap;}
.accent-dot{
  width:20px; height:20px; border-radius:50%; cursor:pointer; padding:0;
  border:2px solid transparent; outline:1px solid var(--sky-line); outline-offset:-1px;
}
.accent-dot.active{border-color:var(--paper); box-shadow:0 0 0 2px var(--ink-soft);}
.accent-dot--auto{background:linear-gradient(135deg, #0B8367 0 50%, #F97316 50% 100%);}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
svg{width:1em; height:1em; flex-shrink:0; display:inline-block;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
  font-size:15px;
  line-height:1.5;
}
h1,h2,h3,h4{font-family:var(--font-display); color:var(--ink); margin:0; letter-spacing:-0.02em;}
::selection{background:var(--visa-soft); color:var(--visa-ink);}
a{color:inherit;}
button{font-family:inherit;}

::-webkit-scrollbar{width:10px; height:10px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--sky-line); border-radius:8px; border:2px solid var(--paper);}
::-webkit-scrollbar-thumb:hover{background:var(--slate-2);}

.mono{font-family:var(--font-mono);}

.shell{display:flex; height:var(--vh100); overflow:hidden;}

.rail{
  width:252px;
  background:var(--paper);
  border-right:1px solid var(--sky-line);
  display:flex; flex-direction:column; align-items:stretch;
  padding:18px 12px 14px;
  flex-shrink:0;
  z-index:20;
}
.rail-brand{
  display:flex; align-items:center; gap:10px;
  margin:0 0 22px 4px;
}
.rail-logo{
  width:40px; height:40px; border-radius:12px;
  box-shadow:0 4px 10px rgba(37,207,166,.25);
  background:linear-gradient(135deg, var(--visa), var(--visa-ink));
  display:flex; align-items:center; justify-content:center;
  color:white; font-family:var(--font-display); font-weight:700; font-size:16px;
  flex-shrink:0;
}
.rail-logo svg{width:23px; height:23px;}
.rail-brand-label{
  font-family:var(--font-display); font-weight:700; font-size:18px;
  color:var(--ink); letter-spacing:-.01em; white-space:nowrap;
}
.partner-logo{
  height:40px; width:auto; max-width:200px;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.partner-logo img{height:100%; width:auto; max-width:200px; object-fit:contain; display:block;}
.rail-nav{display:flex; flex-direction:column; gap:2px; flex:1; width:100%; min-height:0; overflow-y:auto; overflow-x:hidden;}
.rail-item{
  width:100%; min-height:44px; border-radius:12px;
  display:flex; align-items:center; gap:12px;
  padding:0 12px;
  color:var(--slate); cursor:pointer; position:relative;
  transition:background .15s ease, color .15s ease;
  border:none; background:none;
  text-align:left; flex-shrink:0;
}
.rail-item-icon{
  display:flex; align-items:center; justify-content:center;
  width:22px; height:22px; flex-shrink:0; position:relative;
}
.rail-item-icon svg{width:22px; height:22px; stroke-width:2.3;}
.rail-item-label{
  font-size:15px; font-weight:600; line-height:1.25;
  flex:1; min-width:0; overflow-wrap:break-word;
}
.rail-item:hover{background:var(--sky); color:var(--ink);}
.rail-item.active{background:var(--visa-soft); color:var(--visa);}
.rail-item .dot{
  position:absolute; top:9px; right:10px;
  width:8px; height:8px; border-radius:50%;
  background:var(--stamp); border:2px solid var(--paper);
}
.rail-item-badge{position:static; flex-shrink:0; margin-left:auto;}
a.rail-item{text-decoration:none;}
.rail-item--logout{flex-shrink:0; margin-top:8px;}

.settings-layout{display:grid; grid-template-columns:220px 1fr; gap:20px; align-items:start;}
.settings-back{display:none; align-items:center; gap:6px; margin:-4px 0 12px -6px;
  border:0; background:none; cursor:pointer; padding:11px 6px; min-height:44px;
  font:650 14.5px/1 var(--font-body); color:var(--visa); font-family:var(--font-body);}
.settings-back svg{width:17px; height:17px;}
@media(max-width:860px){
  .settings-layout{grid-template-columns:1fr; gap:12px;}
  .settings-layout > .card:first-child{display:flex; flex-wrap:wrap; gap:6px; padding:10px;}
  .settings-layout .settings-nav-item{width:auto; flex:0 0 auto; padding:8px 12px;}
  .settings-layout .settings-nav-label{font-size:13px;}
}
.settings-nav-item{
  width:100%; min-height:0; height:auto; align-items:flex-start; justify-content:flex-start;
  gap:9px; padding:9px 11px; border-radius:9px;
}
.settings-nav-emoji{
  flex:none; width:20px; text-align:center; font-size:15.5px; line-height:17px;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",var(--font-body);
}
.settings-nav-label{flex:1; min-width:0; font-size:14px; font-weight:600; line-height:17px;}
.settings-nav-badge{margin-left:auto; flex:none; align-self:center;}

.main{flex:1; display:flex; flex-direction:column; min-width:0; background:var(--sky); }

.topbar{
  height:64px; flex-shrink:0; background:var(--paper); border-bottom:1px solid var(--sky-line);
  display:flex; align-items:center; gap:16px; padding:0 24px;
}
.search-box{
  flex:1; max-width:420px; height:38px; background:var(--sky); border-radius:10px;
  display:flex; align-items:center; gap:8px; padding:0 12px; color:var(--slate-2);
}
.search-box input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]){
  border:none; background:none; outline:none; box-shadow:none; padding:0; border-radius:0;
  font-size:15px; color:var(--ink); width:100%; font-family:var(--font-body);
}
.search-box svg{width:16px; height:16px; flex-shrink:0;}

.topbar-spacer{flex:1;}
.topbar-slogan{
  flex:1; min-width:0; text-align:center; padding:18px 12px;
  font-family:var(--font-display); font-weight:700; font-size:15px; line-height:1;
  letter-spacing:.02em; color:var(--slogan);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  user-select:none; pointer-events:none;
}
@media (max-width:1240px){ .topbar-slogan{font-size:16px; padding:18px 8px;} }
@media (max-width:1000px){ .topbar-slogan{display:none;} .topbar .search-box{flex:1;} }

.role-switch{
  display:flex; align-items:center; gap:6px; background:var(--sky); border-radius:10px; padding:4px; font-size:14px;
}
.role-switch button{
  border:none; background:none; padding:6px 10px; border-radius:7px; cursor:pointer; color:var(--slate); font-weight:600;
  font-family:var(--font-body);
}
.role-switch button.active{background:var(--paper); color:var(--visa); box-shadow:var(--shadow-card);}

.icon-btn{
  width:38px; height:38px; border-radius:10px; border:none; background:var(--sky);
  display:flex; align-items:center; justify-content:center; color:var(--ink-soft); cursor:pointer; position:relative;
  transition:background .15s, transform .1s ease;
}
.icon-btn:hover{background:var(--sky-deep);}
.icon-btn:active{transform:scale(.92);}
.icon-btn:disabled{opacity:.35; cursor:not-allowed;}
.icon-btn:disabled:hover{background:var(--sky);}
.icon-btn svg{width:17px; height:17px;}
.telegram-btn-lg{width:46px; height:46px; border-radius:50%;}
.telegram-btn-lg svg{width:22px; height:22px;}
.chat-channel-pop{
  top:50px; left:0; right:auto; width:min(300px, calc(100vw - 32px)); padding:14px;
  transform-origin:top left;
}
.client-chat-control{position:relative; order:2; max-width:100%;}
.client-head-row .resp-project{order:1;}
.client-head-row .client-place{order:3;}
.client-head-row > .gap-dot,.client-head-row > .gap-text{order:4;}
.chat-channel-btn{
  min-height:44px; padding:0 14px; border-radius:22px; border:1px solid var(--sky-line);
  background:var(--sky); color:var(--ink-soft); display:inline-flex; align-items:center;
  justify-content:center; gap:8px; font:700 12.5px/1 var(--font-body); cursor:pointer;
  white-space:nowrap; transition:background .15s, transform .1s ease;
}
.chat-channel-btn:hover{background:var(--sky-deep);}
.chat-channel-btn:active{transform:scale(.97);}
.chat-channel-btn__icon{display:flex; width:23px; height:23px; flex:0 0 23px;}
.chat-channel-btn__icon svg{width:100%; height:100%;}
.client-chat-pop{
  left:0; right:auto; top:50px; width:min(320px, calc(100vw - 32px)); padding:14px;
  overflow:visible; transform-origin:top left;
}
.badge-count{
  position:absolute; top:-4px; right:-4px; min-width:17px; height:17px; border-radius:9px;
  background:var(--stamp); color:white; font-size:11.5px; font-weight:700; display:flex; align-items:center; justify-content:center;
  padding:0 4px; border:2px solid var(--paper); font-family:var(--font-body);
}
.badge-count--ask{animation:badge-pulse 1.6s ease-in-out infinite;}

.copy-ws{display:flex;flex-direction:column;gap:14px;max-width:1500px;}
.copy-ws__nav{display:flex;align-items:center;gap:10px;}
.copy-top{padding:16px 18px;display:flex;flex-direction:column;gap:12px;}
.copy-top__title{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.copy-top__title h2{margin:0;font-size:18px;line-height:1.3;}
.copy-top__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 16px;}
.copy-top__grid > div{display:flex;flex-direction:column;gap:2px;min-width:0;}
.copy-top__grid b,.copy-top__grid a{font-size:13.5px;overflow-wrap:anywhere;}
.copy-top__grid small{font-size:11.5px;color:var(--ink-soft);}
.copy-top__grid select{max-width:100%;}
.copy-dl--soon b,.copy-dl--soon small,.copy-dl--soon{color:var(--amber);}
.copy-dl--late b,.copy-dl--late small,.copy-dl--late{color:var(--stamp);}
.copy-blocker,.copy-return{border-radius:var(--radius-md);padding:10px 12px;font-size:13px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.copy-blocker{background:var(--stamp-soft);}
.copy-return{background:var(--amber-soft);display:block;}
.copy-return > div{margin-top:4px;white-space:pre-wrap;}
.copy-actions{display:flex;flex-wrap:wrap;gap:8px;}
.copy-form{display:flex;flex-direction:column;gap:6px;max-width:720px;}
.copy-form label{font-size:12.5px;color:var(--ink-soft);margin-top:4px;}
.copy-form textarea,.copy-form input,.copy-form select{width:100%;}
.copy-chips{display:flex;flex-wrap:wrap;gap:6px;}
.copy-cols{display:grid;grid-template-columns:minmax(230px,0.9fr) minmax(280px,1.4fr) minmax(260px,1fr);gap:14px;align-items:start;}
.copy-col--right{display:flex;flex-direction:column;gap:14px;}
.copy-sections{display:flex;flex-direction:column;gap:4px;margin:10px 0;}
.copy-section{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);border:1px solid var(--sky-line);}
.copy-section__state{border:0;background:transparent;font-size:16px;width:24px;cursor:pointer;color:var(--visa);padding:0;}
.copy-section__name{flex:1;font-size:13px;min-width:0;overflow-wrap:anywhere;}
.copy-section__label{font-size:11px;}
.copy-section--done{background:var(--good-soft);}
.copy-section--done .copy-section__state{color:var(--good);}
.copy-section--revisions .copy-section__state{color:var(--stamp);}
.copy-section--review .copy-section__state{color:var(--amber);}
.copy-doc{border:1px solid var(--sky-line);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:8px;}
.copy-doc__head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.copy-doc__btns{margin-top:8px;flex-wrap:wrap;gap:6px;}
.copy-doc-add{display:flex;flex-direction:column;gap:6px;margin-top:6px;}
.copy-doc-add input{width:100%;}
.copy-doc__meta{font-size:12px;color:var(--ink-soft,var(--muted));margin-top:3px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.copy-doc__changed{color:var(--amber);font-weight:600;}
.copy-rel{padding:7px 9px;border-radius:var(--radius-md);cursor:pointer;border:1px solid transparent;}
.copy-rel:hover{border-color:var(--sky-line);}
.copy-rel__title{font-size:13px;font-weight:600;}
.copy-rel--done{opacity:.6;}
.copy-version-modal{max-width:820px;width:calc(100vw - 32px);max-height:86vh;display:flex;flex-direction:column;gap:12px;}
.copy-version-body{overflow:auto;background:var(--paper,#fff);border-radius:var(--radius-md);padding:16px;}
.copy-mat{display:flex;flex-wrap:wrap;gap:6px;}
.copy-articles__brief{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;}
.copy-articles__list{display:flex;flex-direction:column;gap:4px;margin-top:10px;}
.copy-article{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--sky-line);cursor:pointer;}
.copy-article input{accent-color:var(--visa);margin:0;}
.copy-article__no{width:18px;text-align:right;color:var(--ink-soft,var(--muted));font-size:12.5px;}
.copy-article__topic{flex:1;min-width:0;font-size:13.5px;overflow-wrap:anywhere;}
.copy-article--done{background:var(--good-soft);}
.copy-article--done .copy-article__topic{text-decoration:line-through;opacity:.65;}
.copy-tz{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;}
.copy-tz-hints{margin-top:8px;font-size:12.5px;}
.copy-tz-hints ul{margin:4px 0 0;padding-left:18px;}
.copy-dl-row{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;padding:4px 0;}
.copy-dl-row input{max-width:160px;}
.copy-ev{padding:8px 0;border-bottom:1px solid var(--sky-line);font-size:12.5px;}
.copy-ev:last-child{border-bottom:0;}
.copy-ev__c{margin-top:3px;white-space:pre-wrap;overflow-wrap:anywhere;}
.copy-row{display:grid;grid-template-columns:minmax(0,1fr) 70px auto minmax(120px,180px);gap:10px;align-items:center;padding:9px 6px;border-top:1px solid var(--sky-line);cursor:pointer;}
.copy-row:hover{background:var(--visa-soft);}
.copy-row__main{display:flex;flex-direction:column;gap:1px;min-width:0;}
.copy-row__title{font-size:12.5px;color:var(--ink-soft);overflow-wrap:anywhere;}
.copy-row__dl{font-family:var(--font-mono);font-size:12.5px;}
.copy-row__next{font-size:12.5px;color:var(--visa);}
.copy-group{margin-bottom:14px;}
.copy-tbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;}
.copy-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.copy-search{flex:1 1 220px;min-width:0;}
.copy-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;}
.copy-filters select{flex:0 1 190px;min-width:0;}
.copy-table-card{padding:0;overflow:hidden;}
.copy-table-wrap{overflow-x:auto;}
.copy-table{min-width:860px;}
.copy-table td{vertical-align:top;padding:10px;border-top:1px solid var(--sky-line);font-size:13px;}
.copy-table tbody tr{cursor:pointer;}
.copy-table tbody tr:hover{background:var(--visa-soft);}
.copy-table td .btn{margin:0 4px 4px 0;}
.copy-table__title{font-weight:600;overflow-wrap:anywhere;}
.copy-table__block{color:var(--stamp);}
.copy-table__foot{padding:10px 12px;border-top:1px solid var(--sky-line);}
.copy-load{display:flex;flex-direction:column;}
.copy-load__row{display:grid;grid-template-columns:minmax(0,2fr) repeat(4,minmax(0,1fr));gap:8px;padding:6px 4px;border-top:1px solid var(--sky-line);font-size:13px;cursor:pointer;}
.copy-load__row--head{font-size:11.5px;color:var(--ink-soft);cursor:default;border-top:0;}
.copy-wt{display:flex;flex-direction:column;gap:12px;margin-top:12px;}
.copy-wt__item{border:1px solid var(--sky-line);border-radius:var(--radius-md);padding:10px 12px;display:flex;flex-direction:column;gap:8px;}
.copy-wt__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;}
.copy-wt label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--ink-soft);}
.copy-wt input,.copy-wt select,.copy-wt textarea{width:100%;}
.cdd-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;}
.cdd-kpi{padding:14px 16px;}
.cdd-kpi__num{font-size:30px;font-weight:700;line-height:1.15;margin:4px 0 2px;font-family:var(--font-mono);}
.cdd-delta{font-size:12px;}
.cdd-delta--good{color:var(--good);}
.cdd-delta--bad{color:var(--stamp);}
.cdd-delta--flat{color:var(--ink-soft);}
.cdd-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px;}
.cdd-row--2{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);}
.cdd-donut-wrap{display:flex;align-items:center;gap:16px;}
.cdd-donut{width:110px;height:110px;flex-shrink:0;}
.cdd-donut__num{font-size:9px;font-weight:700;fill:var(--ink);}
.cdd-donut__cap{font-size:3.6px;fill:var(--ink-soft);}
.cdd-legend{display:flex;flex-direction:column;gap:6px;font-size:12.5px;flex:1;min-width:0;}
.cdd-legend__row{display:grid;grid-template-columns:10px minmax(0,1fr) auto 32px;gap:6px;align-items:center;white-space:nowrap;}
.cdd-legend__row .hint{text-align:right;}
.cdd-legend--inline{flex-direction:row;gap:16px;margin-top:8px;font-size:12px;}
.cdd-dot{display:inline-block;width:10px;height:10px;border-radius:50%;}
.cdd-bars{display:flex;align-items:flex-end;gap:10px;height:150px;padding-top:16px;}
.cdd-bars__col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;min-width:0;}
.cdd-bars__pair{flex:1;display:flex;align-items:flex-end;gap:4px;width:100%;justify-content:center;}
.cdd-bar{width:40%;max-width:26px;min-height:2px;border-radius:4px 4px 0 0;position:relative;}
.cdd-bar span{position:absolute;top:-16px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:700;color:var(--ink);}
.cdd-bar--plan{background:color-mix(in srgb, var(--visa) 35%, transparent);}
.cdd-bar--fact{background:var(--visa);}
.cdd-bars__label{font-size:11.5px;color:var(--ink-soft);margin-top:6px;text-align:center;white-space:nowrap;}
.cdd-sum{display:flex;flex-direction:column;}
.cdd-sum > div{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid var(--sky-line);font-size:13.5px;}
.cdd-sum > div:first-child{border-top:0;}
.cdd-sum b{font-size:18px;font-family:var(--font-mono);}
.cdd-table{width:100%;border-collapse:collapse;font-size:13px;}
.cdd-table th{font-size:11.5px;color:var(--ink-soft);font-weight:500;text-align:center;padding:6px;white-space:nowrap;}
.cdd-table td{text-align:center;padding:7px 6px;border-top:1px solid var(--sky-line);}
.cdd-table th:first-child,.cdd-table td:first-child{text-align:left;}
.cdd-pct{display:inline-block;min-width:56px;padding:3px 8px;border-radius:6px;font-weight:700;}
.cdd-pct.cdd-pct--good{background:var(--good-soft);}
.cdd-pct.cdd-pct--amber{background:var(--amber-soft);}
.cdd-pct.cdd-pct--bad{background:var(--stamp-soft);}
.cdd-pct--good{color:var(--good);}
.cdd-pct--amber{color:var(--amber);}
.cdd-pct--bad{color:var(--stamp);}
.cdd-load{display:inline-block;min-width:40px;padding:6px 4px;border-radius:6px;font-weight:700;}
.cdd-load--zero{color:var(--ink-soft);background:var(--sky);}
.cdd-load--good{color:var(--good);background:var(--good-soft);}
.cdd-load--amber{color:var(--amber);background:var(--amber-soft);}
.cdd-load--bad{color:var(--stamp);background:var(--stamp-soft);}
.cdd-link{cursor:pointer;color:inherit;}
.cdd-link:hover{color:var(--visa);text-decoration:underline;}
.cdd-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;}
.cdd-person{border:1px solid var(--sky-line);border-radius:var(--radius-md);padding:12px;display:flex;flex-direction:column;gap:10px;}
.cdd-person__head{display:flex;gap:10px;align-items:center;}
.cdd-person__name{font-weight:700;}
.cdd-person__dirs{display:flex;flex-wrap:wrap;gap:6px;}
.cdd-person__nums{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.cdd-person__nums > div{display:flex;flex-direction:column;}
.cdd-person__nums b{font-size:17px;font-family:var(--font-mono);}
@media (max-width: 1100px){
  .cdd-row,.cdd-row--2{grid-template-columns:1fr;}
  .cdd-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 520px){
  .cdd-donut-wrap{flex-direction:column;align-items:stretch;}
  .cdd-donut{margin:0 auto;}
}
@media (max-width: 1100px){
  .copy-cols{grid-template-columns:1fr 1fr;}
  .copy-col--right{grid-column:1 / -1;}
}
@media (max-width: 720px){
  .copy-cols{grid-template-columns:1fr;}
  .copy-row{grid-template-columns:minmax(0,1fr) auto;}
  .copy-row__next{grid-column:1 / -1;}
  .copy-load__row{grid-template-columns:minmax(0,2fr) repeat(4,minmax(0,1fr));font-size:12px;}
  .copy-actions .btn{flex:1 1 auto;}
}

.deadline-req-btn{
  display:inline-flex; align-items:center; gap:7px; white-space:nowrap;
  border:1px solid var(--amber); background:color-mix(in srgb, var(--amber) 10%, var(--paper));
  color:var(--ink); border-radius:10px; padding:8px 12px; font-weight:600;
}
.deadline-req-btn:hover{background:color-mix(in srgb, var(--amber) 18%, var(--paper));}
.deadline-req-btn--active{background:var(--amber); border-color:var(--amber); color:#fff;}
.deadline-req-btn--active .deadline-req-count{background:#fff; color:var(--amber);}

.client-pick{position:relative;}
.client-pick input{width:100%;}
.client-filters-btn.has-active{border-color:var(--visa); color:var(--visa);}
.client-filters-count{
  min-width:18px; height:18px; padding:0 5px; border-radius:9px;
  background:var(--visa); color:var(--visa-on,#fff); font-size:11px; font-weight:700;
  display:inline-flex; align-items:center; justify-content:center; line-height:1;
}
.filter-row{display:flex; flex-direction:column; gap:6px; margin-bottom:14px;}
.filter-row > label{font-size:12px; font-weight:600; color:var(--slate-2); letter-spacing:.02em;}
.pr-mark{
  display:inline-flex; align-items:center; justify-content:center; vertical-align:-2px;
  width:21px; height:21px; border-radius:6px; flex-shrink:0;
  background:color-mix(in srgb, var(--visa) 14%, transparent); color:var(--visa);
}
.pr-mark svg{width:14px; height:14px;}
.clients-quote{
  font-style:italic; text-align:right; margin:0 40px 6px 0; flex:0 1 auto;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

.task-title{font-weight:600; font-size:16px; line-height:1.4;}
.hint.task-client{
  font-size:15.5px; color:var(--ink-soft); font-weight:600;
  display:inline-flex; align-items:center; gap:7px; margin-top:2px;
}
.hint.task-client::before{
  content:''; width:6px; height:6px; border-radius:50%;
  background:var(--visa); flex-shrink:0;
}
.hint.task-client:empty{display:none;}
.hint.task-people{font-size:15px; color:var(--ink-soft); margin-top:4px; line-height:1.5;}
.task-dl-col{text-align:right; width:212px; flex:none;}
.task-main{flex:1; min-width:0;}
.task-sub{display:flex; align-items:center; flex-wrap:wrap; gap:0 9px; min-width:0;}
.task-from{font-weight:400; font-size:13px; color:var(--slate);}
.section-fold{cursor:pointer; user-select:none; margin-bottom:0;}
.section-fold.is-open{margin-bottom:14px;}
.section-fold:hover .section-title{color:var(--visa);}
.section-fold__chev{display:inline-flex; margin-left:8px; transition:transform .15s ease; vertical-align:middle;}
.section-fold__chev svg{width:15px; height:15px;}
.section-fold.is-open .section-fold__chev{transform:rotate(90deg);}
.task-sub > :not(.task-from) + .task-from::before{content:'· '; opacity:.5;}
.hint.task-dl-change{font-size:14.5px; color:var(--ink-soft); margin-top:6px; line-height:1.5;}

.dash-clock{font-size:34px; line-height:1; user-select:none;}

.metric-drill{
  display:inline-flex; align-items:center; gap:8px; margin-top:12px;
  background:none; border:none; padding:0; cursor:pointer; color:inherit; font:inherit;
}
.metric-drill__hint{display:inline-flex; color:var(--slate-2); opacity:.55; transition:opacity .12s, color .12s;}
.metric-drill__hint svg{width:15px; height:15px;}
.metric-drill:hover .num{color:var(--visa);}
.metric-drill:hover .metric-drill__hint{opacity:1; color:var(--visa);}
.metric-bar-row{display:flex; align-items:center; gap:12px; margin-bottom:9px; border-radius:7px;}
.metric-bar-row.is-drillable{cursor:pointer; margin-left:-6px; margin-right:-6px; padding:3px 6px;}
.metric-bar-row.is-drillable:hover{background:var(--sky-soft, #f1f9f6);}
.kanban-source{
  display:inline-flex; align-items:center; gap:5px; flex-shrink:1; min-width:0;
  padding:0; font-size:11px; font-weight:600; line-height:1.3;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.kanban-source__dot{width:6px; height:6px; border-radius:50%; flex-shrink:0;}
.filter-chips{display:flex; flex-wrap:wrap; gap:7px;}
.filter-chip{
  border:1px solid var(--sky-line); background:var(--paper); color:var(--ink-soft);
  border-radius:999px; padding:7px 13px; font-size:12.5px; font-family:var(--font-body);
  cursor:pointer; transition:background .12s, border-color .12s, color .12s;
}
.filter-chip:hover{border-color:var(--visa);}
.filter-chip.active{background:var(--visa); border-color:var(--visa); color:var(--visa-on,#fff); font-weight:600;}
.tranche-grip{color:var(--slate); flex-shrink:0;}
.tranche-grip:hover{color:var(--ink-soft);}
.tranche-grip:active{cursor:grabbing !important;}
.task-cats{margin:0 0 14px;}
.chip-n{opacity:.6; font-variant-numeric:tabular-nums;}
.filter-chip.active .chip-n{opacity:.85;}
.cab-edit-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px;}
.task-cat{font-weight:400; font-size:13px; color:var(--slate);}
.task-sub > :not(.task-cat) + .task-cat::before{content:'· '; opacity:.5;}

.pwp{--pwp-violet:#64d1c6;}
.pwp-head{display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:12px;}
.pwp-head > div:first-child{flex:1; min-width:180px;}
.pwp-who{margin:2px 0 0; font-size:20px;}
.pwp-week{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.pwp-week__label{font-weight:700; min-width:130px; text-align:center;}
.pwp-person{min-width:200px;}
.pwp-chips{margin:0 0 12px;}
.pwp-tiles{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px; margin-bottom:14px;}
.pwp-tile{display:flex; flex-direction:column; align-items:flex-start; gap:2px; padding:12px 14px; cursor:pointer;
  border:1px solid var(--sky-line); border-radius:var(--radius-md); background:var(--paper); color:var(--ink-soft); font:inherit; text-align:left;}
.pwp-tile__n{font-size:24px; font-weight:800; font-variant-numeric:tabular-nums;}
.pwp-tile--notdone .pwp-tile__n{color:var(--stamp);}
.pwp-tile--carried .pwp-tile__n{color:var(--pwp-violet);}
.pwp-tile--done .pwp-tile__n{color:var(--good);}
.pwp-tile.active{border-color:var(--visa); box-shadow:0 0 0 1px var(--visa);}
.pwp-block{margin-bottom:12px;}
.pwp-block__head{display:flex; align-items:center; gap:8px; padding:8px 4px; cursor:pointer; font-weight:700; border-bottom:2px solid var(--sky-line);}
.pwp-block__head--notdone{color:var(--stamp); border-color:color-mix(in srgb, var(--stamp) 35%, transparent);}
.pwp-block__head--carried{color:var(--pwp-violet); border-color:color-mix(in srgb, var(--pwp-violet) 35%, transparent);}
.pwp-block__head--done{color:var(--good); border-color:color-mix(in srgb, var(--good) 35%, transparent);}
.pwp-block__head .hint{font-weight:400;}
.pwp-count{font-variant-numeric:tabular-nums; opacity:.8;}
.pwp-chev{margin-left:auto; transition:transform .15s; display:inline-block;}
.pwp-chev.open{transform:rotate(90deg);}
.pwp-item{display:flex; gap:10px; align-items:flex-start; padding:10px 4px; border-bottom:1px solid var(--sky-line);}
.pwp-item__main{flex:1; min-width:0;}
.pwp-item__title{font-weight:600; font-size:13.5px; cursor:pointer; overflow-wrap:anywhere;}
.pwp-item__title:hover{color:var(--visa);}
.pwp-item__details{margin-top:6px; padding:8px 10px; background:var(--sky); border-radius:9px;}
.pwp-item__meta{display:flex; flex-wrap:wrap; gap:4px 10px; margin-top:3px; font-size:12px; align-items:center;}
.pwp-cat{font-size:11px; font-weight:600; padding:1px 7px; border-radius:999px; background:var(--sky); color:var(--ink-soft);}
.pwp-badge{font-size:11px; padding:1px 7px; border-radius:999px; background:var(--amber-soft); color:var(--amber);}
.pwp-badge--violet{background:color-mix(in srgb, var(--pwp-violet) 14%, var(--paper)); color:var(--pwp-violet);}
.pwp-reason{margin-top:5px; font-size:12.5px; color:var(--slate);}
.pwp-reason--missing{color:var(--stamp); font-weight:600;}
.pwp-comments{margin-top:6px; display:flex; flex-direction:column; gap:3px;}
.pwp-comment{font-size:12.5px; color:var(--ink); padding-left:8px; border-left:2px solid var(--sky-line); overflow-wrap:anywhere;}
.pwp-comment .hint{font-size:11.5px; margin:0 4px;}
.pwp-item__side{display:flex; flex-direction:column; align-items:flex-end; gap:3px; flex-shrink:0; text-align:right;}
.pwp-item__actions{display:flex; gap:6px; margin-top:4px; flex-wrap:wrap; justify-content:flex-end;}
.pwp-state{font-size:12px; font-weight:700; color:var(--stamp);}
.pwp-state--late{color:var(--stamp);}
.pwp-state--done{color:var(--good);}
.pwp-person-row{margin-bottom:8px; padding:0;}
.pwp-person-row__head{display:flex; align-items:center; gap:12px; padding:12px 16px; cursor:pointer; flex-wrap:wrap;}
.pwp-person-row__name{display:flex; flex-direction:column; min-width:150px;}
.pwp-person-row__pills{display:flex; gap:6px; flex-wrap:wrap; flex:1;}
.pwp-person-row__body{padding:4px 16px 12px;}
.pwp-pill{font-size:11.5px; font-weight:600; padding:2px 8px; border-radius:999px;}
.pwp-pill--done{background:var(--good-soft); color:var(--good);}
.pwp-pill--notdone{background:var(--stamp-soft); color:var(--stamp);}
.pwp-pill--carried{background:color-mix(in srgb, var(--pwp-violet) 14%, var(--paper)); color:var(--pwp-violet);}
.pwp-pill--alert{background:var(--stamp); color:#fff;}
.pwp-progress{display:flex; align-items:center; gap:8px; min-width:150px;}
.pwp-progress__bar{flex:1; height:6px; border-radius:3px; background:var(--sky-deep); overflow:hidden; min-width:80px;}
.pwp-progress__bar span{display:block; height:100%; background:var(--good);}
@media (max-width: 700px){
  .pwp-item{flex-wrap:wrap;}
  .pwp-item__side{align-items:flex-start; text-align:left; width:100%; padding-left:38px;}
  .pwp-tile__n{font-size:20px;}
}
.dep-cats{padding:10px 14px 14px 46px; border-bottom:1px solid var(--sky-line);}
.dep-cat-row{display:flex; align-items:center; gap:8px; margin-bottom:8px; flex-wrap:wrap;}
.dep-cat-row input{flex:1; min-width:0;}
.dep-cat-row select{flex:0 1 240px; min-width:0;}
.filter-switch{width:100%;}
.filter-switch button{flex:1; white-space:nowrap;}
@media (max-width:560px){
  .filter-switch{flex-wrap:wrap;}
  .filter-switch button{flex:1 1 30%;}
}
.client-pick-clear{
  position:absolute; right:8px; top:50%; transform:translateY(-50%);
  border:none; background:none; cursor:pointer; color:var(--slate-2);
  display:flex; align-items:center; padding:2px; line-height:0;
}
.client-pick-clear:hover{color:var(--ink-soft);}
.client-pick-list{
  position:absolute; left:0; right:0; top:calc(100% + 4px); z-index:40;
  background:var(--paper); border:1px solid var(--sky-line); border-radius:10px;
  box-shadow:var(--shadow-pop); overflow:auto; max-height:260px; padding:4px;
}
.client-pick-row{
  display:flex; align-items:baseline; gap:8px; width:100%; text-align:left;
  border:none; background:none; cursor:pointer; padding:7px 9px; border-radius:7px;
  font-family:inherit; font-size:13.5px; color:var(--ink);
}
.client-pick-row:hover,.client-pick-row.is-active{background:var(--sky);}
.client-pick-row.is-picked{color:var(--visa); font-weight:600;}
.client-pick-name{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.client-pick-sub{font-size:11.5px; color:var(--slate-2); flex:none;}
.client-pick-empty{padding:10px; font-size:12.5px; color:var(--slate-2);}

.deadline-req-count{
  min-width:19px; height:19px; border-radius:10px; padding:0 5px;
  background:var(--stamp); color:#fff; font-size:11.5px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
  animation:badge-pulse 1.6s ease-in-out infinite;
}
.update-bar{
  position:fixed; left:50%; transform:translateX(-50%); bottom:18px; z-index:80;
  display:flex; align-items:center; gap:12px; padding:10px 12px 10px 16px;
  background:var(--paper); border:1px solid var(--sky-line); border-radius:14px;
  box-shadow:0 14px 38px rgba(20,60,50,.16);
}
.update-bar-text{font-size:14.5px; font-weight:600; color:var(--ink);}
.update-bar-ic{display:flex; color:var(--visa);}
.update-bar-ic svg{width:17px; height:17px;}
@keyframes badge-pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.22);}}

.avatar{
  width:41px; height:41px; border-radius:12px; background:var(--visa-soft); color:var(--visa-ink);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:16px; font-family:var(--font-display);
  flex-shrink:0;
}
.avatar.sm{width:30px; height:30px; font-size:13px; border-radius:8px;}

.avatar-wrap{position:relative; display:inline-flex; flex-shrink:0;}

.crop-stage{
  position:relative; overflow:hidden; border-radius:16px; background:var(--sky-deep);
  cursor:grab; touch-action:none; user-select:none; flex-shrink:0;
}
.crop-stage:active{cursor:grabbing;}
.crop-stage img{position:absolute; left:0; top:0; max-width:none; pointer-events:none; display:block;}
.crop-mask{
  position:absolute; inset:0; pointer-events:none; border-radius:16px;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.85), inset 0 0 0 3px rgba(12,37,29,.12);
}

.online-dot{
  position:absolute; left:-2px; bottom:-2px; width:11px; height:11px; border-radius:99px;
  background:#22C55E; border:2px solid var(--paper); box-shadow:0 0 0 1px rgba(12,37,29,.06);
}
.avatar-wrap .avatar.sm + .online-dot{width:9px; height:9px; border-width:1.5px;}
.avatar-wrap .avatar.lg + .online-dot{width:14px; height:14px;}
.team-ai-card .team-person{width:100%;}
.team-ai-ava{position:relative; flex:0 0 auto; line-height:0;}
.team-ai-face{width:40px; height:40px; border-radius:50%; object-fit:cover; object-position:50% 50%; display:block;}

.avatar.lg{width:64px; height:64px; font-size:22.5px; border-radius:16px;}

.user-chip{display:flex; align-items:center; gap:10px; cursor:pointer; padding:4px 6px 4px 4px; border-radius:10px;}
.user-chip:hover{background:var(--sky);}
.user-chip .name{font-size:14.5px; font-weight:600; color:var(--ink);}
.user-chip .role{font-size:12.5px; color:var(--slate);}

.view{flex:1; overflow-y:auto; padding:28px 32px 60px;}

.page-head{margin-bottom:24px;}
.page-head h1{font-size:25.5px; font-weight:700;}
.page-head p{color:var(--slate); font-size:15px; margin-top:4px;}
.eyebrow{
  font-size:12.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--visa);
  margin-bottom:6px; display:block;
}

.card{
  background:var(--paper); border:1px solid var(--sky-line); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
}
.pad-lg{padding:24px;}
.pad-md{padding:18px;}

.stat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:24px;}
.stat-tile{
  background:var(--paper); border:1px solid var(--sky-line); border-radius:var(--radius-lg);
  padding:18px 20px; display:flex; flex-direction:column; gap:10px; transition:border-color .15s, box-shadow .15s, transform .15s;
}
.stat-tile[style*="cursor:pointer"]:hover{border-color:var(--visa); box-shadow:var(--shadow-card); transform:translateY(-1px);}
.stat-tile .top{display:flex; align-items:center; justify-content:space-between;}
.stat-tile .icon{width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center;}
.stat-tile .icon svg{width:17px; height:17px;}
.stat-tile .num{font-family:var(--font-display); font-size:32px; font-weight:700; line-height:1;}
.stat-tile .label{color:var(--slate); font-size:14px; font-weight:500;}
.stat-tile .trend{font-size:12.5px; font-weight:600; padding:2px 7px; border-radius:6px;}

.fin-summary{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:16px;}
.fin-summary .num{font-family:var(--font-display); font-size:27.5px; font-weight:700; line-height:1.25;}
.fin-summary .label{color:var(--slate); font-size:14px; font-weight:500; margin-top:6px;}
.fin-summary-amounts div{line-height:1.3;}
.fin-filters-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(160px,1fr)); gap:10px; align-items:center;}
.fin-filters-grid input, .fin-filters-grid select{width:100%;}
.fin-analytics-row{display:flex; gap:12px; align-items:center; flex-wrap:wrap; padding:7px 0; border-bottom:1px solid var(--sky-line);}
.fin-analytics-row:last-child{border-bottom:none;}
.fin-payment-row{gap:16px;}
.fin-pay-date{width:150px; flex-shrink:0; font-size:14.5px;}
.fin-detail-grid{display:grid; grid-template-columns:130px 1fr; row-gap:12px; column-gap:12px; font-size:15px;}
.fin-detail-label{color:var(--slate); font-weight:600; font-size:13px; text-transform:uppercase; letter-spacing:.03em; padding-top:2px;}
@media (max-width:720px){
  .fin-summary{grid-template-columns:1fr;}
  .fin-payment-row{flex-wrap:wrap;}
  .fin-pay-date{width:auto;}
}

.fin-pending-bar{display:flex; gap:14px; align-items:center; margin-bottom:14px;
  background:var(--amber-soft); border:1px solid var(--amber-soft);}
.fin-pending-bar b{color:var(--amber);}
@media (max-width:560px){ .fin-pending-bar{flex-wrap:wrap;} .fin-pending-bar .btn{width:100%;} }

.pay-bulk-bar{display:flex; gap:10px; align-items:center; margin-bottom:12px;
  background:var(--visa-soft); border:1px solid var(--visa-soft);}
@media (max-width:560px){ .pay-bulk-bar{flex-wrap:wrap;} .pay-bulk-bar .btn{width:100%;} }

.pay-settle{display:inline-flex; align-items:center; padding:2px 8px 2px 0; cursor:pointer; vertical-align:middle;}
.pay-settle input{width:16px; height:16px; cursor:pointer; accent-color:var(--good);}

.shot-pop{position:fixed; inset:0; z-index:9000; background:rgba(15,42,35,.82);
  display:flex; align-items:center; justify-content:center; padding:32px;}
.shot-pop img, .shot-pop iframe{max-width:92vw; max-height:88vh; border-radius:12px; background:#fff; border:none;}
.shot-pop iframe{width:92vw; height:88vh;}
.shot-pop-x{position:absolute; top:16px; right:20px; width:38px; height:38px; border:none; border-radius:50%;
  background:rgba(255,255,255,.14); color:#fff; font-size:24px; line-height:1; cursor:pointer;}
.shot-pop-x:hover{background:rgba(255,255,255,.26);}
.shot-pop-nav{position:absolute; top:50%; transform:translateY(-50%); width:44px; height:64px; border:none;
  border-radius:12px; background:rgba(255,255,255,.14); color:#fff; font-size:30px; line-height:1; cursor:pointer;}
.shot-pop-nav:hover{background:rgba(255,255,255,.26);}
.shot-pop-prev{left:18px;} .shot-pop-next{right:18px;}
.shot-pop-count{position:absolute; bottom:18px; left:50%; transform:translateX(-50%); color:#fff; font-size:13px;}
@media (max-width:560px){ .shot-pop{padding:12px;} .shot-pop-nav{width:36px; height:52px; font-size:24px;} }

.pay-shots{display:flex; gap:8px; flex-wrap:wrap; margin-top:8px;}
.pay-shot{position:relative; width:64px; height:64px; border-radius:10px; overflow:hidden;
  border:1px solid var(--sky-line); background:var(--sky); flex-shrink:0;}
.pay-shot img{width:100%; height:100%; object-fit:cover; display:block; cursor:zoom-in;}
.pay-shot-pdf{width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  font:700 12px/1 Manrope,Arial,sans-serif; color:var(--slate); cursor:pointer;}
.pay-shot-x{position:absolute; top:2px; right:2px; width:18px; height:18px; border:none; border-radius:50%;
  background:rgba(17,39,33,.6); color:#fff; font-size:13px; line-height:1; cursor:pointer; padding:0;}
.pay-shot-x:hover{background:rgba(17,39,33,.85);}

.monica-bar{display:flex; gap:12px; align-items:center;}
.monica-ava{width:52px; height:52px; border-radius:50%; object-fit:cover; object-position:50% 25%; flex-shrink:0; display:block;}
@media (max-width:560px){
  .monica-bar{flex-wrap:wrap;}
  .monica-bar .btn{width:100%;}
}

.partner-split{display:grid; grid-template-columns:repeat(auto-fit, minmax(168px,1fr)); gap:12px; margin:2px 0 14px;}
.partner-split-tile{background:var(--sky); border-radius:var(--radius-lg); padding:15px 18px; display:flex; flex-direction:column; gap:9px; min-width:0;}
.partner-split-tile .label{color:var(--slate); font-size:13px; font-weight:500; line-height:1.3; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.partner-split-tile .num{font-family:var(--font-display); font-size:25px; font-weight:700; line-height:1;}
.partner-split-tile.is-ours .num{color:var(--good);}
.partner-split-note{margin:-6px 0 14px; color:var(--stamp); font-size:12.5px; line-height:1.5;}
.partner-row-split{margin-top:5px; white-space:nowrap; font-size:12.5px; color:var(--slate);}
@media (max-width:560px){
  .partner-split{grid-template-columns:repeat(2,1fr); gap:10px;}
  .partner-split-tile{padding:13px 14px;}
  .partner-split-tile .num{font-size:21px;}
  .partner-row-split{white-space:normal;}
}

.stamp-rail{display:flex; align-items:flex-start; overflow-x:auto; overflow-y:hidden; padding-bottom:2px;}
.stamp-node{display:flex; flex-direction:column; align-items:center; position:relative; flex:1 1 0; min-width:72px;}
.stamp-ring{
  width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  border:2px solid var(--sky-line); background:var(--paper); color:var(--slate-2); font-size:13px; font-weight:700;
  font-family:var(--font-mono); flex-shrink:0; z-index:2; transition:all .2s;
}
.stamp-node.done .stamp-ring{
  border-color:var(--visa); background:var(--visa); color:white;
  box-shadow:0 0 0 3px var(--visa-soft);
}
.stamp-node.current .stamp-ring{
  border:2.5px solid var(--stamp); background:var(--stamp-soft); color:var(--stamp);
  box-shadow:0 0 0 4px var(--stamp-soft);
  transform:rotate(-6deg);
}
.stamp-node .line{
  position:absolute; top:17px; left:50%; width:100%; height:2px; background:var(--sky-line); z-index:1;
}
.stamp-node.done .line{background:var(--visa);}
.stamp-node:last-child .line{display:none;}
.stamp-label{margin-top:8px; font-size:12px; text-align:center; color:var(--slate); font-weight:600; white-space:nowrap; line-height:1.25; padding:0 2px;}
.stamp-node.current .stamp-label{color:var(--stamp);}
.stamp-node.done .stamp-label{color:var(--ink-soft);}

.stamp-rail.compact .stamp-ring{width:24px; height:24px; font-size:11.5px;}
.stamp-rail.compact .stamp-node{min-width:26px;}
.stamp-rail.compact .stamp-node .line{top:11px;}
.stamp-rail.compact .stamp-label{display:none;}

.btn{
  display:inline-flex; align-items:center; gap:7px; font-weight:600; font-size:14.5px; border-radius:10px;
  padding:9px 15px; cursor:pointer; border:1px solid transparent; font-family:var(--font-body); transition:all .12s;
  white-space:nowrap;
}
.btn:active:not(:disabled){transform:scale(.97);}
.btn svg{width:15px; height:15px;}
.btn-primary{background:var(--visa); color:var(--visa-on, white);}
.btn-primary:hover{background:var(--visa-ink);}
.btn-ghost{background:var(--sky); color:var(--ink-soft);}
.btn-ghost:hover{background:var(--sky-deep);}
.btn-outline{background:var(--paper); color:var(--ink-soft); border-color:var(--sky-line);}
.btn-outline:hover{border-color:var(--slate-2);}
.btn-danger{background:var(--stamp-soft); color:var(--stamp);}
.btn-danger-outline{color:var(--stamp); border-color:var(--stamp);}
.share-guard{margin-top:12px; padding-top:10px; border-top:1px dashed var(--line);}
.share-guard-row{display:flex; gap:6px; align-items:center; flex-wrap:wrap;}
.share-guard-row input{flex:1 1 140px; min-width:0;}
.share-guard-log{margin-top:10px;}
.share-guard-log b{display:block; font-size:12px; color:var(--slate); margin-bottom:4px;}
.share-guard-ev{display:flex; justify-content:space-between; gap:8px; font-size:12.5px; padding:3px 0; border-bottom:1px solid var(--line);}
.share-guard-ev small{color:var(--slate); white-space:nowrap;}
.btn-danger:hover{filter:brightness(.93);}
.btn-soft{background:var(--visa-soft); color:var(--visa); border-color:color-mix(in srgb, var(--visa) 22%, transparent);}
.btn-soft:hover{filter:brightness(.96);}
.btn-sm{padding:6px 11px; font-size:13px; border-radius:8px;}
.btn:disabled{opacity:.45; cursor:not-allowed;}

.callout{
  font-size:13px; line-height:1.5; padding:9px 12px; border-radius:10px;
  border:1px solid transparent; color:var(--ink-soft); background:var(--sky);
}
.callout-amber{background:var(--amber-soft); border-color:var(--amber); color:var(--amber);}
.callout-visa{background:var(--visa-soft); border-color:transparent; color:var(--visa-ink);}
.callout-stamp{background:var(--stamp-soft); border-color:transparent; color:var(--stamp);}
.callout-good{background:var(--good-soft); border-color:transparent; color:var(--good);}

.pill{display:inline-flex; align-items:center; gap:5px; font-size:12.5px; font-weight:700; padding:3px 9px; border-radius:99px; letter-spacing:.02em; white-space:nowrap;}
.pill svg{width:11px; height:11px; flex-shrink:0;}
.pill-visa{background:var(--visa-soft); color:var(--visa-ink);}
.pill-good{background:var(--good-soft); color:var(--good);}
.pill-amber{background:var(--amber-soft); color:var(--amber); font-weight:600;}
.pill-stamp{background:var(--stamp-soft); color:var(--stamp); font-weight:600;}
.pill-slate{background:var(--sky); color:var(--slate);}
.task-stage-select{appearance:none;-webkit-appearance:none;border:0;border-radius:999px;padding:3px 24px 3px 10px;font-size:11.5px;font-weight:600;font-family:inherit;cursor:pointer;max-width:220px;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 12px) 55%,calc(100% - 8px) 55%;background-size:4px 4px,4px 4px;background-repeat:no-repeat;}
.task-stage-select--slate{background-color:var(--sky);color:var(--slate);}
.task-stage-select--visa{background-color:var(--visa-soft);color:var(--visa);}
.task-stage-select--amber{background-color:var(--amber-soft);color:var(--amber);}
.task-stage-select--stamp{background-color:var(--stamp-soft);color:var(--stamp);}
.task-stage-select--good{background-color:var(--good-soft);color:var(--good);}
.task-stage-select:disabled{opacity:.6;cursor:wait;}
.pill-test{background:transparent; color:var(--slate-2); border:1px solid var(--sky-line); font-size:10.5px; font-weight:600; padding:1px 6px;}
.pill-birthday{background:#FFF4E0; color:#8A5A12; border:1px solid #F3D9A8; cursor:pointer;
  display:inline-flex; align-items:center; gap:5px; font:inherit; font-size:12.5px; font-weight:700;
  line-height:1; padding:5px 11px; border-radius:999px; white-space:nowrap;
  transition:background .15s ease, border-color .15s ease, transform .12s ease;}
.pill-birthday:hover{background:#FFEBC7; border-color:#E8C888; transform:translateY(-1px);}
.pill-birthday:active{transform:none;}
.pill-birthday:focus-visible{outline:2px solid var(--visa); outline-offset:2px;}
.manager-attention-pill{background:var(--stamp-soft);color:var(--stamp);border:1px solid color-mix(in srgb,var(--stamp) 32%,transparent);white-space:normal;line-height:1.25}
.manager-attention-open-btn{background:var(--stamp-soft);color:var(--stamp);border:1px solid color-mix(in srgb,var(--stamp) 35%,var(--sky-line))}
.manager-attention-resolve-btn{background:var(--good-soft);color:var(--good);border:1px solid color-mix(in srgb,var(--good) 35%,var(--sky-line))}
.manager-attention-card{margin-top:12px;padding:12px 14px;border-radius:10px;background:var(--stamp-soft);border:1px solid color-mix(in srgb,var(--stamp) 30%,transparent);display:flex;flex-direction:column;gap:5px;font-size:14px}
.manager-attention-card__title{font-weight:800;color:var(--stamp)}
.manager-attention-text{white-space:pre-wrap;overflow-wrap:anywhere}
.manager-attention-resolved{margin-top:10px;padding:8px 11px;border-radius:8px;background:var(--good-soft);color:var(--good);font-size:13px}
.manager-attention-dot{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:4px;background:var(--visa);color:#fff;font:800 10px/1 var(--font-mono);flex-shrink:0;margin-left:6px;vertical-align:middle;}
.client-grade-badge{display:inline-flex; align-items:center; justify-content:center; min-width:22px; height:22px; padding:0 7px; border-radius:999px; font-size:12.5px; font-weight:800; line-height:1; margin-left:5px; vertical-align:middle;}
.client-grade-picker{display:inline-flex; align-items:center; gap:5px; height:28px; padding:0 5px 0 9px; border:1px solid currentColor; border-radius:999px; font-size:11.5px; font-weight:750; transition:background .15s ease,color .15s ease;}
.client-grade-picker select{appearance:none; -webkit-appearance:none; border:0; outline:0; background:transparent; color:inherit; font:800 11px/1 var(--font-body); cursor:pointer; padding:3px 15px 3px 3px; background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%); background-position:calc(100% - 7px) 50%,calc(100% - 3px) 50%; background-size:4px 4px,4px 4px; background-repeat:no-repeat;}
.client-grade-picker option{color:var(--ink); background:var(--paper);}
.client-grade-empty{color:var(--slate-2); background:var(--sky); border-color:var(--sky-line);}
.client-grade-a{color:#137A29; background:#E6F7EA; border-color:#91D4A0;}
.client-grade-b{color:#25c092; background:#ebfef8; border-color:#9eeed6;}
.client-grade-c{color:#b75a00; background:#fff0df; border-color:#f2b875;}
.dashboard-rating-picker b{font-weight:800;}
.dashboard-rating-empty{color:var(--slate-2); background:var(--sky); border-color:var(--sky-line);}
.dashboard-rating-red{color:#b7332a; background:#fdecea; border-color:#f2a89e;}
.dashboard-rating-yellow{color:#a3720a; background:#fff6df; border-color:#f2d375;}
.dashboard-rating-green{color:#137A29; background:#E6F7EA; border-color:#91D4A0;}
.criterion-ready-toggle{display:inline-flex; align-items:center; gap:5px; height:28px; padding:0 10px 0 9px; border:1px solid currentColor; border-radius:999px; font-size:11.5px; font-weight:750; cursor:pointer; color:var(--slate-2); background:var(--sky); border-color:var(--sky-line);}
.criterion-ready-toggle.on{color:#137A29; background:#E6F7EA; border-color:#91D4A0;}
.criterion-ready-toggle input{margin:0; accent-color:#137A29;}
.criterion-ready-toggle span{display:flex; width:14px; height:14px;}
.criterion-ready-toggle span svg{width:100%; height:100%;}
.pill.is-inactive{opacity:.55; cursor:default; border:1px dashed var(--sky-line); background:transparent; color:var(--slate-2);}
.status-chip{display:inline-block; max-width:120px; min-width:0; overflow:hidden;
  text-overflow:ellipsis; vertical-align:middle;}

.kanban-wrap{position:relative;}
.kanban{display:flex; gap:16px; overflow-x:auto; padding-bottom:10px; align-items:stretch;
  min-height:min(64vh, 640px);}
.kanban::-webkit-scrollbar{height:10px;}
.kanban::-webkit-scrollbar-track{background:var(--sky); border-radius:6px;}
.kanban::-webkit-scrollbar-thumb{background:var(--sky-line); border-radius:6px;}
.kanban::-webkit-scrollbar-thumb:hover{background:var(--slate);}
.kanban-nav{
  position:sticky; position:absolute; top:120px; z-index:20;
  width:34px; height:34px; border-radius:50%; border:1px solid var(--sky-line);
  background:var(--paper); box-shadow:var(--shadow-pop); cursor:pointer;
  display:flex; align-items:center; justify-content:center; color:var(--ink-soft);
}
.kanban-nav:hover{color:var(--visa); border-color:var(--visa);}
.kanban-nav svg{width:16px; height:16px;}
.kanban-nav--left{left:6px;}
.kanban-nav--right{right:6px;}
.kanban-col{
  width:272px; flex-shrink:0; background:var(--sky); border-radius:var(--radius-lg); padding:12px; border:1px solid var(--sky-line);
  transition:width .18s ease;
}
.kanban-col--empty{width:168px;}
.kanban-col--empty .kanban-col-title{font-size:12.5px; color:var(--slate);}
.kanban-col-head{padding:6px 6px 12px; display:flex; align-items:center; gap:10px;}
.kanban-col-head .stamp-ring{width:28px; height:28px; font-size:12.5px;}
.kanban-col-title{font-size:14px; font-weight:700; color:var(--ink-soft); flex:1; line-height:1.25;}
.kanban-col-count{font-family:var(--font-mono); font-size:12.5px; color:var(--slate); background:var(--paper); border-radius:6px; padding:2px 6px; border:1px solid var(--sky-line);}
.kanban-list{min-height:40px; display:flex; flex-direction:column; gap:10px;}
.kanban-card{
  background:var(--paper); border:1px solid var(--sky-line); border-radius:var(--radius-md); padding:13px 14px;
  cursor:grab; box-shadow:var(--shadow-card); transition:box-shadow .15s, transform .15s;
}
.kanban-card:hover{box-shadow:var(--shadow-pop); transform:translateY(-1px);}
.kanban-card.sortable-ghost{opacity:.35;}
.kanban-card.sortable-drag{box-shadow:var(--shadow-pop); cursor:grabbing;}
.kanban-card-top{display:flex; align-items:center; gap:8px; margin-bottom:9px;}
.kanban-card-name{font-weight:650; font-size:15.5px; letter-spacing:-.01em; flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.kanban-card-line{
  display:flex; align-items:baseline; flex-wrap:wrap; gap:0 5px; margin-bottom:9px;
  font-size:11.5px; line-height:1.5; color:var(--slate); min-width:0;
}
.kanban-card-line > span{overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%;}
.kc-type{font-weight:700;}
.kc-sep{opacity:.5; font-weight:700;}
.kc-filed{color:var(--good); font-weight:600;}
.kanban-card-meta{display:flex; align-items:center; justify-content:space-between; margin-top:10px;}
.kanban-card-assignees{display:flex;}
.kanban-card-assignees .avatar{margin-left:-6px; border:2px solid var(--paper); box-shadow:0 0 0 1px rgba(12,37,29,.06);}
.kanban-card-assignees .avatar:first-child{margin-left:0;}

.tabbar{display:flex; gap:4px; border-bottom:1px solid var(--sky-line); margin-bottom:22px; overflow-x:auto;}
.tab{
  padding:11px 3px; margin-right:8px; font-size:13px; font-weight:600; color:var(--ink); cursor:pointer;
  border:none; border-bottom:2.5px solid transparent; white-space:nowrap; display:flex; align-items:center; gap:5px;
  transition:color .15s ease, border-color .15s ease;
  background:none; font-family:inherit; line-height:1.2;
}
.tab:hover{color:var(--visa);}
.tab.active{color:var(--visa); border-color:var(--visa);}
.tab .lock{width:12px; height:12px; opacity:.5;}
.tab-dot{width:6px; height:6px; border-radius:99px; background:var(--good); flex-shrink:0;}
.pay-twin{margin-top:6px; padding:8px 10px; border:1px solid var(--amber); background:var(--amber-soft); border-radius:var(--radius-sm); font-size:13px; cursor:default;}
.pay-twin__row{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.pay-twin__btns{display:inline-flex; gap:6px; margin-left:auto;}
.pay-twin__details{margin-top:6px; padding-top:6px; border-top:1px dashed var(--amber); display:grid; gap:2px;}
.link-btn{background:none; border:0; padding:0; color:var(--visa); text-decoration:underline; cursor:pointer; font:inherit;}

.fp-filters{display:flex; flex-direction:column; gap:14px; margin-bottom:16px;}
.fp-filter-row{display:flex; gap:14px; align-items:flex-start; flex-wrap:wrap;}
.fp-filter-label{min-width:72px; padding-top:8px; font-weight:600;}
.fp-period{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.fp-date{display:flex; align-items:center; gap:6px; font-size:13px; color:var(--slate);}
.fp-date input{width:auto;}
.fp-table-wrap{overflow-x:auto; margin:0 -4px;}
.wsp-head{gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.wsp-month{max-width:240px;}
.wsp-visas{margin-bottom:10px;}
.wsp-row{border-top:1px solid var(--sky-line);}
.wsp-row__head{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;gap:10px;align-items:center;padding:9px 4px;cursor:pointer;font-size:14px;}
.wsp-row__head:hover{background:var(--visa-soft);}
.wsp-row__head .num{font-size:18px;color:var(--visa);}
.wsp-list{padding:0 4px 8px 18px;}
.wsp-client{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;padding:5px 6px;border-radius:var(--radius-md);cursor:pointer;font-size:13px;}
.wsp-client:hover{background:var(--visa-soft);}
.wsp-total{display:flex;justify-content:space-between;align-items:center;padding:9px 4px 0;border-top:1px solid var(--sky-line);font-weight:600;}
.cpay-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px;}
.cpay-kpi{padding:14px 16px;display:flex;flex-direction:column;gap:4px;}
.cpay-kpi b{font-size:24px;font-family:var(--font-mono);}
.cpay-kpi--amber{color:var(--amber);}
.cpay-kpi--good{color:var(--good);}
.cpay-filters{margin-bottom:14px;}
.cpay-filters__row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px;}
.cpay-search{flex:1 1 260px;min-width:0;}
.cpay-filters__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 14px;}
.cpay-filters__grid .field{margin:0;}
.cpay-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.cpay-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px;}
.cpay-chips .filter-chip{display:inline-flex;align-items:center;gap:4px;}
.cpay-by{margin-bottom:14px;}
.cpay-by__row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;padding:6px 4px;border-top:1px solid var(--sky-line);cursor:pointer;font-size:13px;}
.cpay-table-card{padding:0;overflow:hidden;}
.cpay-table-wrap{overflow-x:auto;}
.cpay-table{min-width:820px;}
.cpay-table td{vertical-align:top;padding:10px 12px;border-top:1px solid var(--sky-line);font-size:13px;}
.cpay-table tbody tr{cursor:pointer;}
.cpay-table tbody tr:hover{background:var(--visa-soft);}
.cpay-foot{padding:10px 12px;border-top:1px solid var(--sky-line);}
.cpay-dl{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;border-bottom:1px solid var(--sky-line);font-size:13px;}
.cpay-req{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;background:var(--visa-soft);border-radius:var(--radius-md);padding:8px 10px;}
.cpay-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
@media (max-width: 720px){ .cpay-kpis{grid-template-columns:1fr;} }
.dinv-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px;}
.dinv-create{position:relative;}
.dinv-create .btn span{display:inline-flex;vertical-align:middle;}
.dinv-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:30;min-width:280px;background:var(--paper);border:1px solid var(--sky-line);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:6px;display:flex;flex-direction:column;}
.dinv-menu button{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:9px 10px;border-radius:8px;}
.dinv-menu button:hover{background:var(--visa-soft);}
.dinv-search{flex:1 1 240px;min-width:0;}
.dinv-period{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.dinv-period input[type=date]{width:160px !important;flex:0 0 auto;}
.dinv-bulk{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:8px 12px;margin-bottom:10px;border-radius:var(--radius-md);background:var(--visa-soft);font-size:13px;}
.dinv-table-card{padding:0;overflow:hidden;}
.dinv-table-wrap{overflow-x:auto;}
.dinv-table{min-width:860px;}
.dinv-table td{vertical-align:middle;padding:9px 12px;border-top:1px solid var(--sky-line);font-size:13px;}
.dinv-open{cursor:pointer;}
.dinv-open:hover b{text-decoration:underline;}
.dinv-row--sel{background:var(--visa-soft);}
.dinv-chain{display:inline-flex;border:1px solid var(--sky-line);border-radius:999px;overflow:hidden;}
.dinv-step{all:unset;cursor:pointer;padding:4px 10px;font-size:12px;color:var(--slate);border-right:1px solid var(--sky-line);}
.dinv-step:last-child{border-right:0;}
.dinv-step:hover{background:var(--visa-soft);}
.dinv-step.on.dinv-step--draft{background:var(--sky-line);color:var(--ink);font-weight:600;}
.dinv-step.on.dinv-step--approved{background:var(--amber);color:#fff;font-weight:600;}
.dinv-step.on.dinv-step--paid{background:var(--good);color:#fff;font-weight:600;}
.dinv-acts{display:flex;gap:4px;justify-content:flex-end;align-items:center;}
.dinv-xs{padding:3px 8px;font-size:12px;}
.dinv-foot{padding:10px 12px;border-top:1px solid var(--sky-line);}
.dinv-grid{display:grid;grid-template-columns:minmax(300px,4fr) minmax(0,8fr);gap:14px;align-items:start;}
.dinv-prov{position:relative;}
.dinv-hits{position:absolute;left:0;right:0;top:100%;z-index:20;background:var(--paper);border:1px solid var(--sky-line);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);max-height:240px;overflow:auto;}
.dinv-hits button{all:unset;display:block;width:100%;box-sizing:border-box;cursor:pointer;padding:8px 10px;font-size:13px;}
.dinv-hits button:hover{background:var(--visa-soft);}
.dinv-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.dinv-switch{display:flex;align-items:center;gap:6px;cursor:pointer;}
.dinv-switch input{width:auto;}
.dinv-lines{width:100%;}
.dinv-lines td{padding:4px 6px;vertical-align:middle;}
.dinv-lines td:first-child{width:100%;}
.dinv-lines td:first-child input{width:100%;min-width:180px;box-sizing:border-box;}
.dinv-lines td.mono{white-space:nowrap;}
.dinv-line-acts{display:flex;gap:2px;}
.dinv-line-acts .icon-btn{width:30px;height:30px;}
.dinv-totals{margin-top:12px;border:1px solid var(--sky-line);border-radius:var(--radius-md);overflow:hidden;}
.dinv-totals div{display:flex;justify-content:space-between;gap:12px;padding:7px 12px;border-top:1px solid var(--sky-line);font-size:13px;}
.dinv-totals div:first-child{border-top:0;}
.dinv-total{background:var(--visa-soft);font-weight:700;}
.dinv-issues{margin:12px 0 0;padding-left:18px;color:var(--amber);font-size:12.5px;}
.dinv-foot-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
@media (max-width: 900px){ .dinv-grid{grid-template-columns:1fr;} }
@media (max-width: 520px){ .dinv-pair{grid-template-columns:1fr;} }
.fp-table td{vertical-align:top; padding:10px 10px; border-bottom:1px solid var(--sky-line);}
.data-table.fp-table th{white-space:normal; vertical-align:bottom; padding:8px 10px;}
.fp-pm{min-width:220px; max-width:100%;}
.fp-row{cursor:pointer;}
.fp-visa{font-size:11px;padding:1px 7px;margin:3px 0 2px;}
.data-table.fp-table th.fp-cmt-th{color:var(--visa);background:var(--visa-soft);}
.fp-table td.fp-cmt{background:color-mix(in srgb, var(--visa-soft) 55%, transparent);vertical-align:middle;}
.fp-cmt-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--sky-line);border-radius:8px;background:var(--paper,#fff);font-size:12px;white-space:nowrap;cursor:pointer;color:inherit;}
.fp-cmt-btn.active,.fp-cmt-btn:hover{border-color:var(--visa);}
.fp-cmt-dot{width:6px;height:6px;border-radius:50%;background:var(--visa);}
.fp-cmt-more{color:var(--visa);font-weight:700;letter-spacing:1px;}
.fp-cmt-dash{background:none;border:0;padding:4px 10px;color:var(--slate);cursor:pointer;font-size:14px;border-radius:6px;}
.fp-cmt-dash:hover{background:var(--visa-soft);color:var(--visa);}
.fp-cmt-pop{position:fixed;z-index:60;width:290px;max-width:calc(100vw - 16px);background:var(--paper,#fff);border:1px solid var(--sky-line);border-radius:12px;box-shadow:0 10px 30px rgba(15,42,35,.18);padding:12px 14px;display:flex;flex-direction:column;gap:8px;cursor:default;text-align:left;}
.fp-cmt-head{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--slate);}
.fp-cmt-body{font-size:13.5px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;}
.fp-cmt-pop textarea{width:100%;font-size:13px;}
.fp-cmt-actions{display:flex;flex-wrap:wrap;gap:6px;}
.fp-cmt-del{color:var(--stamp);margin-left:auto;}
.fp-cmt-btn.fp-cmt-nopr{background:var(--amber-soft,color-mix(in srgb, var(--amber) 14%, transparent));border-color:color-mix(in srgb, var(--amber) 45%, transparent);color:var(--amber);font-weight:700;}
.fp-cmt-btn.fp-cmt-nopr.active,.fp-cmt-btn.fp-cmt-nopr:hover{border-color:var(--amber);}
.fp-cmt-nopr .fp-cmt-more{color:var(--amber);}
.btn.fp-nopr-btn{color:var(--amber);border-color:color-mix(in srgb, var(--amber) 45%, transparent);}
.btn.fp-nopr-btn:hover{border-color:var(--amber);}
.fp-cmt-btn.fp-cmt-ready{background:var(--good-soft);border-color:color-mix(in srgb, var(--good) 45%, transparent);color:var(--good);font-weight:700;}
.fp-cmt-btn.fp-cmt-ready.active,.fp-cmt-btn.fp-cmt-ready:hover{border-color:var(--good);}
.fp-cmt-ready .fp-cmt-more{color:var(--good);}
.btn.fp-ready-btn{color:var(--good);border-color:color-mix(in srgb, var(--good) 45%, transparent);}
.btn.fp-ready-btn:hover{background:var(--good-soft);border-color:var(--good);}
.fp-ready-ic{display:inline-flex;width:14px;height:14px;flex:none;}
.fp-ready-ic svg{width:14px;height:14px;stroke-width:3;}
.btn .fp-ready-ic{margin-right:4px;}
.fp-head{gap:12px;align-items:flex-start;}
.fp-wide-btn{flex-shrink:0;margin-top:6px;}
body.fp-wide .rail{display:none !important;}
.fp-row:hover td{background:var(--sky);}
.fp-crit{min-width:140px; max-width:260px;}
.fp-crit-list{display:flex; flex-wrap:wrap; gap:4px; margin-top:6px;}
.fp-crit-chip{font-size:11.5px; line-height:1.3; padding:2px 7px; border-radius:6px; background:var(--good-soft); color:var(--good);}
.fp-move{min-width:200px; max-width:300px;}
.fp-move .pill{margin-top:4px;}
.fp-reason{font-size:12.5px; color:var(--slate); margin-top:4px; white-space:pre-line;}
.fp-tiles{display:grid; grid-template-columns:repeat(auto-fill, minmax(170px, 1fr)); gap:12px;}
.fp-tile{display:flex; flex-direction:column; gap:4px; align-items:flex-start; text-align:left; padding:14px 16px;
  border-radius:14px; border:1px solid var(--sky-line); background:var(--paper); cursor:pointer; font-family:inherit; color:var(--ink);}
.fp-tile:hover{border-color:var(--visa);}
.fp-tile.active{border-color:var(--visa); box-shadow:0 0 0 2px var(--visa-soft);}
.fp-tile-num{font-family:var(--font-display); font-size:28px; font-weight:700; line-height:1;}
.fp-tile-label{font-size:13px; font-weight:600;}
.fp-tile--good .fp-tile-num{color:var(--good);}
.fp-tile--stamp .fp-tile-num{color:var(--stamp);}
.fp-tile--amber .fp-tile-num{color:var(--amber, #b7791f);}
.fp-tile--visa .fp-tile-num{color:var(--visa);}

.row-list{display:flex; flex-direction:column;}
.task-day-break{display:flex; align-items:center; gap:10px; margin:10px 0 6px; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft);}
.task-day-break:first-child{margin-top:0;}
.task-day-break::after{content:""; flex:1; height:1px; background:var(--sky-line);}
.task-day-break--today{color:var(--amber);}
.task-day-break--today::after{height:2px; background:var(--amber); opacity:.5;}
.row-item{display:flex; align-items:center; gap:14px; padding:13px 4px; border-bottom:1px solid var(--sky-line); border-radius:8px; transition:background .12s ease;}
.row-item:last-child{border-bottom:none;}
.row-item{overflow-wrap:anywhere;}
.row-item--top{align-items:flex-start;}
.row-item--fresh{background:color-mix(in srgb, var(--visa) 7%, transparent); box-shadow:inset 3px 0 0 var(--visa); padding-left:10px;}
.row-item > *{min-width:0;}
.row-item textarea, .row-item input{max-width:100%;}
.row-item textarea{field-sizing:content; min-height:2.6em; max-height:340px;}
.row-item[style*="cursor:pointer"]:hover{background:var(--sky);}

.data-table{width:100%; border-collapse:collapse; font-size:14px;}
.data-table th{text-align:left; padding:10px 14px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--slate); border-bottom:1px solid var(--sky-line); white-space:nowrap;}
.data-table td{padding:12px 14px; border-bottom:1px solid var(--sky-line); vertical-align:middle;}
.data-table tbody tr{cursor:pointer; transition:background .12s;}
.data-table tbody tr:hover{background:var(--sky);}
.data-table tbody tr:last-child td{border-bottom:none;}
.deadline-chip{display:inline-flex; align-items:center; gap:5px; font-size:12.5px; font-weight:700; padding:4px 11px; border-radius:99px; white-space:nowrap;}
.deadline-chip svg{width:12px; height:12px;}
.stack-avatars{display:flex; align-items:center;}
.stack-avatars .avatar{margin-left:-8px; border:2px solid var(--paper); box-shadow:0 0 0 1px rgba(12,37,29,.06);}
.stack-avatars .avatar:first-child{margin-left:0;}

.empty{text-align:center; padding:50px 20px; color:var(--slate);}
.empty svg{width:38px; height:38px; color:var(--slate-2); margin-bottom:12px;}
.empty .btn svg{width:15px; height:15px; color:inherit; margin-bottom:0;}
.empty h3{font-size:15.5px; color:var(--ink-soft); margin-bottom:5px;}
.empty p{font-size:14px;}

.pop{
  position:absolute; top:52px; right:0; width:360px; background:var(--paper); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-pop); border:1px solid var(--sky-line); z-index:200; overflow:hidden;
  transform-origin:top right; animation:popdown .14s cubic-bezier(.16,1,.3,1);
}
@keyframes popdown{from{transform:scale(.95) translateY(-4px); opacity:0;} to{transform:scale(1) translateY(0); opacity:1;}}
.pop-head{padding:14px 16px; border-bottom:1px solid var(--sky-line); font-weight:700; font-size:15px; display:flex; justify-content:space-between; align-items:center;}
.pop-list{max-height:400px; overflow-y:auto;}
.pop-item{padding:12px 16px; display:flex; gap:11px; border-bottom:1px solid var(--sky-line); cursor:pointer;}
.pop-item:hover{background:var(--sky);}
.pop-item .dot-icon{width:32px; height:32px; border-radius:9px; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.pop-item .dot-icon svg{width:15px; height:15px;}
.pop-item .txt{font-size:14px; line-height:1.4;}
.pop-item .txt b{font-weight:700;}
.pop-item .time{font-size:12.5px; color:var(--slate-2); margin-top:3px;}
.pop-item.unread{background:var(--visa-soft)}
.pop-item.unread:hover{background:var(--sky-deep)}

.overlay{position:fixed; inset:0; background:rgba(12,37,29,.42); z-index:300; display:flex; align-items:center; justify-content:center; backdrop-filter:blur(2px); animation:overlayin .16s ease;}
@keyframes overlayin{from{opacity:0;} to{opacity:1;}}
.drawer{position:fixed; top:0; right:0; bottom:0; width:66.6667vw; max-width:1100px; min-width:480px; background:var(--paper); z-index:301; box-shadow:var(--shadow-pop); display:flex; flex-direction:column; animation:slidein .22s cubic-bezier(.16,1,.3,1);}
@keyframes slidein{from{transform:translateX(24px); opacity:0;} to{transform:translateX(0); opacity:1;}}
.modal{width:480px; max-width:92vw; max-height:88vh; display:flex; flex-direction:column;
       background:var(--paper); border-radius:var(--radius-lg); box-shadow:var(--shadow-pop);
       animation:popin .16s cubic-bezier(.16,1,.3,1);}
.modal > .drawer-head, .modal > .drawer-foot{flex-shrink:0;}
.modal > .drawer-body{flex:1; min-height:0; overflow-y:auto;}
.modal-preview{width:min(96vw, 1600px); max-width:96vw; height:94vh; display:flex; flex-direction:column;}
.modal-preview .drawer-head{padding:14px 20px;}
.modal-preview .drawer-body{
  padding:10px 14px;
  min-height:0; flex:1 1 auto; overflow:auto;
}
.modal-preview .drawer-body > img{
  max-width:100%; max-height:100%; width:auto; height:auto;
  object-fit:contain; display:block; margin:auto;
}
.modal-preview .drawer-foot{padding:12px 20px;}
@keyframes popin{from{transform:scale(.96); opacity:0;} to{transform:scale(1); opacity:1;}}
.file-grid.file-grid-md{grid-template-columns:repeat(auto-fill, 125px); gap:16px; justify-content:start;}
.file-grid.file-grid-md .file-tile-name{font-size:12.5px; -webkit-line-clamp:2;}

.crit-tasks .field > label{font-size:15px; color:var(--ink); margin-bottom:9px;}
.crit-tasks .field{margin-bottom:22px !important;}
.crit-tasks .row-item{padding:12px 6px; font-size:15px;}
.crit-tasks .row-item .hint{font-size:14px;}
.crit-tasks input[type="text"], .crit-tasks input:not([type]), .crit-tasks input[type="datetime-local"]{font-size:15px;}
.crit-tasks .row-item input[type="checkbox"]{width:17px; height:17px;}

.crit-tabs{
  display:inline-flex; gap:4px; flex-wrap:wrap; margin:0 auto 22px; padding:4px;
  border-radius:14px; background:var(--sky); border:1px solid var(--sky-line);
  max-width:100%;
}
.crit-tabs button{
  appearance:none; background:none; border:none; cursor:pointer; padding:9px 16px;
  border-radius:10px; font-family:inherit; font-size:15px; font-weight:700;
  color:var(--slate); letter-spacing:-.01em; transition:color .12s, background .12s, box-shadow .12s;
}
.crit-tabs button:hover{color:var(--ink);}
.crit-tabs button.active, .crit-tabs button.is-active{color:var(--visa-ink); background:var(--paper); box-shadow:var(--shadow-card);}

.crit-plan{
  padding:16px 18px 18px; margin:0 auto 24px; border-radius:var(--radius-lg);
  background:var(--sky); border:1px solid var(--sky-line);
}
.crit-plan-head{display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:10px;}
.crit-plan-title{font-family:var(--font-display); font-size:17px; font-weight:800; line-height:1.3; color:var(--ink); flex:1; min-width:0;}
.crit-plan-state{
  flex-shrink:0; display:inline-flex; align-items:center; gap:6px; padding:5px 11px;
  border-radius:999px; font-size:13px; font-weight:700;
  background:var(--good-soft); color:var(--good);
}
.crit-plan-state svg{width:13px; height:13px;}
.crit-plan-state.is-dirty{background:var(--amber-soft); color:var(--amber);}
.crit-plan-state.is-error{background:var(--stamp-soft); color:var(--stamp);}
.crit-plan-state.is-saving{background:var(--sky-deep); color:var(--ink-soft);}
.crit-plan textarea{background:var(--paper); font-size:15px; line-height:1.6; resize:none; overflow:auto; max-height:420px;}

.crit-menu{position:relative;}
.crit-menu-pop{
  position:absolute; right:0; top:calc(100% + 6px); z-index:30; min-width:230px; padding:6px;
  background:var(--paper); border:1px solid var(--sky-line); border-radius:14px;
  box-shadow:var(--shadow-pop); animation:popdown .14s cubic-bezier(.16,1,.3,1); transform-origin:top right;
}
.crit-menu-item{
  display:flex; align-items:center; gap:9px; width:100%; padding:10px 12px; border:none;
  background:none; border-radius:10px; cursor:pointer; font-family:inherit; font-size:15px;
  font-weight:600; color:var(--stamp); text-align:left; transition:background .12s;
}
.crit-menu-item svg{width:15px; height:15px; flex-shrink:0;}
.crit-menu-item:hover:not(:disabled){background:var(--stamp-soft);}
.crit-menu-item:disabled{color:var(--slate-2); cursor:not-allowed;}
.crit-menu-note{padding:4px 12px 8px; margin:0; font-size:12.5px; line-height:1.45; color:var(--slate-2);}

.empty-folder{min-height:160px; display:flex; align-items:center; justify-content:center; border:1px dashed var(--sky-line); border-radius:12px;}

.pick-area{position:relative; user-select:none; min-height:120px;}
.file-pick{border-radius:12px; padding:4px; border:1.5px solid transparent;}
.file-pick.sel{border-color:var(--visa); background:var(--sky);}
.band{position:absolute; z-index:5; border:1px solid var(--visa); background:rgba(45,227,177,.10); border-radius:4px; pointer-events:none;}

.sel-bar{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  padding:8px 12px; margin-bottom:12px; border-radius:10px;
  background:var(--sky); border:1px solid var(--sky-line); font-size:14.5px;
}

.ctx-menu{
  position:fixed; z-index:1200; min-width:196px; padding:6px;
  background:var(--paper); border:1px solid var(--sky-line); border-radius:10px; box-shadow:var(--shadow-pop);
  display:flex; flex-direction:column;
  max-height:calc(var(--vh100) - 16px); overflow-y:auto;
  scrollbar-width:thin; scrollbar-color:var(--slate-2) transparent;
}
.ctx-menu::-webkit-scrollbar{width:9px;}
.ctx-menu::-webkit-scrollbar-track{background:transparent;}
.ctx-menu::-webkit-scrollbar-thumb{
  background:var(--slate-2); border-radius:6px;
  border:2px solid var(--paper); background-clip:padding-box;
}
.ctx-menu::-webkit-scrollbar-thumb:hover{background:var(--ink-soft); background-clip:padding-box;}
.ctx-menu button{
  appearance:none; border:none; background:none; text-align:left; cursor:pointer;
  padding:7px 10px; border-radius:7px; font-size:15px; color:var(--ink);
}
.ctx-menu button:hover:not(:disabled){background:var(--sky);}
.ctx-menu button:disabled{opacity:.4; cursor:default;}
.ctx-menu button.danger{color:var(--stamp);}
.ctx-sep{height:1px; margin:4px 6px; background:var(--sky-line);}

.csel{position:relative; display:inline-block; min-width:0;}
.csel-trigger{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:8px;
  border:1px solid var(--sky-line); background:var(--sky); border-radius:10px; padding:9px 12px;
  font-size:14px; font-family:inherit; color:var(--ink); cursor:pointer; text-align:left;
  transition:border-color .12s, background .12s;
}
.csel-trigger:hover{border-color:var(--visa);}
.csel-trigger.is-open{border-color:var(--visa); background:var(--paper); box-shadow:0 0 0 3px var(--visa-soft);}
.csel-trigger-label{overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.csel-trigger-ic{flex-shrink:0; width:16px; height:16px; color:var(--slate-2); display:flex; transition:transform .15s;}
.csel-trigger-ic svg{width:16px; height:16px;}
.csel-trigger.is-open .csel-trigger-ic{transform:rotate(180deg); color:var(--visa);}
.csel.is-disabled .csel-trigger{opacity:.55; cursor:not-allowed;}
.csel-panel{
  position:absolute; z-index:1200; top:calc(100% + 6px); left:0; min-width:100%; max-height:320px;
  overflow-y:auto; padding:6px; background:var(--paper); border:1px solid var(--sky-line);
  border-radius:12px; box-shadow:var(--shadow-pop); display:flex; flex-direction:column; gap:1px;
}
.csel-opt{
  appearance:none; border:none; background:none; display:flex; align-items:center; gap:8px;
  text-align:left; cursor:pointer; padding:8px 10px; border-radius:8px; font-size:14px;
  color:var(--ink); white-space:nowrap;
}
.csel-opt:hover{background:var(--sky);}
.csel-opt.is-selected{background:var(--visa-soft); color:var(--visa-ink); font-weight:700;}
.csel-opt-check{flex-shrink:0; width:15px; height:15px; color:var(--visa);}
.csel-opt-check svg{width:15px; height:15px;}
.csel-group-label{font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; color:var(--slate-2); padding:10px 10px 4px;}
.csel-group-label:first-child{padding-top:6px;}

.folder-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:12px; align-items:start;}
.folder-tile{
  position:relative; cursor:pointer; display:flex; flex-direction:column; gap:8px;
  padding:12px 14px; border-radius:var(--radius-md); border:1px solid var(--sky-line);
  background:var(--paper); transition:border-color .12s, transform .12s, box-shadow .12s;
}
.folder-tile:hover{border-color:var(--visa); transform:translateY(-1px); box-shadow:var(--shadow-pop);}
.folder-tile-top{display:flex; align-items:center; gap:10px; padding-right:20px;}
.folder-tile-ic{display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.folder-tile-ic svg{width:34px; height:28px; display:block; filter:drop-shadow(0 1px 2px rgba(12,37,29,.18));}
.folder-tile-body{flex:1; min-width:0;}
.folder-tile-name{font-weight:700; font-size:14px; line-height:1.3; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.folder-tile-count{margin-top:1px; font-size:12.5px; font-weight:600; color:var(--slate-2); font-variant-numeric:tabular-nums;}
.folder-rating{display:inline-flex; margin-top:6px;}
.folder-rating select, .folder-rating b{font-size:12px; font-weight:700; padding:3px 8px; border-radius:8px;
  border:1px solid var(--sky-line); background:var(--paper); color:var(--ink); height:auto; min-height:0; width:auto;}
.folder-tile-who{font-weight:500; color:var(--slate);}
.folder-tile-more{width:26px; height:26px; border-radius:8px; flex-shrink:0; margin-left:auto;}
.folder-tile-more svg{width:16px; height:16px;}
.folder-tile-files{display:flex; flex-direction:column; gap:1px; max-height:74px; overflow-y:auto;}
.folder-tile-file{font-size:12px; color:var(--slate-2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex-shrink:0;}
.folder-tile-file--more{font-weight:600;}

.step-check{
  width:22px; height:22px; border-radius:50%; flex-shrink:0; cursor:pointer; padding:0;
  border:1.5px solid var(--sky-line); background:var(--paper);
  display:flex; align-items:center; justify-content:center; color:var(--slate);
  transition:background .12s, border-color .12s, color .12s;
}
.step-check svg{width:12.5px; height:12.5px;}
.step-check:disabled, .step-check.blocked{opacity:.45; cursor:not-allowed;}
.step-check--collected{color:#fff;}
.step-check--collected:hover:not(:disabled):not(.blocked){border-color:#16A335;}
.step-check--collected.checked{background:#16A335; border-color:#16A335;}
.step-check--written:hover:not(:disabled){border-color:var(--visa); color:var(--visa);}
.step-check--written.checked{background:var(--visa); border-color:var(--visa); color:#fff;}

.folder-collected-check{position:absolute; top:8px; right:8px;}
.folder-written-check{position:absolute; top:8px; right:34px;}
.folder-list-row .folder-written-check{left:36px; right:auto;}
.folder-tile:has(.folder-written-check) .folder-tile-top{padding-right:46px;}

.folder-list-view{display:flex; flex-direction:column; gap:6px;}
.folder-list-row{
  position:relative; cursor:pointer; display:flex; align-items:center; gap:12px;
  padding:10px 14px 10px 66px; border-radius:var(--radius-md); border:1px solid var(--sky-line);
  background:var(--paper); transition:border-color .12s;
}
.folder-list-row:hover{border-color:var(--visa);}
.folder-list-row .folder-collected-check{left:10px; right:auto;}
.folder-list-ic{display:flex; align-items:center; flex-shrink:0;}
.folder-list-ic svg{width:30px; height:25px; display:block;}
.folder-list-body{flex:1; min-width:0;}
.folder-list-name{font-weight:700; font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.folder-list-files{margin-top:2px; font-size:12px; color:var(--slate-2); overflow-wrap:break-word;}

.es-crit-done{
  display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px;
  border-radius:50%; background:#16A335; color:#fff; flex-shrink:0;
}
.es-crit-done svg{width:10px; height:10px;}
.es-folder{margin-top:12px; padding-left:4px; border-left:2px solid var(--sky-line);}
.es-folder-head{display:flex; align-items:center; gap:8px; padding-left:10px;}
.es-folder-ic{display:flex; flex-shrink:0;}
.es-folder-ic svg{width:18px; height:15px;}
.es-folder-name{font-weight:600; font-size:13.5px;}
.es-file-row{
  display:flex; align-items:center; gap:10px; padding:3px 0 3px 30px; font-size:13px;
}
.es-file-name{display:flex; align-items:center; gap:8px; cursor:pointer; color:var(--ink-soft); border-radius:6px; flex-shrink:0; max-width:45%;}
.es-file-name svg{width:14px; height:14px; flex-shrink:0; color:var(--slate-2);}
.es-file-name:hover{color:var(--visa); background:var(--sky);}
.es-file-comment{
  flex:1; min-width:0; font-size:12.5px; resize:none; overflow:hidden;
  border:1px solid transparent; background:transparent; padding:2px 6px; color:var(--ink-soft);
}
.es-file-comment:hover, .es-file-comment:focus{border-color:var(--sky-line); background:var(--paper);}

.link-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:12px;}
.link-tile{
  position:relative; cursor:pointer; display:flex; align-items:center; gap:14px;
  padding:14px 16px; border-radius:var(--radius-md); border:1px solid var(--sky-line);
  background:var(--paper); transition:border-color .12s, transform .12s, box-shadow .12s;
}
.link-tile:hover{border-color:var(--good); transform:translateY(-1px); box-shadow:var(--shadow-pop);}
.link-tile-ic{
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  width:42px; height:42px; border-radius:50%; background:var(--good-soft); color:var(--good);
}
.link-tile-ic svg{width:19px; height:19px; display:block;}
.link-tile-body{flex:1; min-width:0;}
.link-tile-name{font-weight:700; font-size:14.5px; line-height:1.3; word-break:break-word;}
.link-tile-url{margin-top:4px; font-size:12.5px; color:var(--slate); word-break:break-word;}

.folder-head{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  padding-bottom:12px; margin-bottom:16px; border-bottom:1px solid var(--sky-line);
}
.folder-head-name{margin:0; font-size:20px;}

.drawer.drawer-full{width:100vw; max-width:100vw; left:0;}
.drawer.drawer-full .drawer-body{padding:22px 44px;}
.drawer.drawer-full .drawer-head{padding-left:44px; padding-right:44px;}
.drawer.drawer-full .drawer-foot{padding-left:44px; padding-right:44px;}

.crit-folders{display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:12px;}

.file-grid.file-grid-sm{grid-template-columns:repeat(auto-fill, 54px); gap:8px; justify-content:start;}
.file-grid.file-grid-sm .file-tile-name{font-size:11px; margin-top:4px; -webkit-line-clamp:1;}
.file-grid.file-grid-sm .file-tile-generic svg{width:13px; height:13px;}
.file-grid.file-grid-sm .file-tile-generic{gap:3px;}
.file-grid.file-grid-sm .file-tile-ext{font-size:9px; padding:0 4px;}
.file-grid.file-grid-sm .file-tile-exhibit{left:3px; top:3px; min-width:14px; height:14px; padding:0 3px; font-size:9.5px; border-radius:4px;}
.file-grid.file-grid-sm .file-tile-remove{width:15px; height:15px; border-radius:5px;}
.file-grid.file-grid-sm .file-tile-remove svg{width:9px; height:9px;}

.crit-docs-sm{grid-template-columns:repeat(auto-fill, minmax(66px, 80px)) !important;}
.crit-docs-sm .crit-doc-sheet{height:86px;}
.crit-docs-sm .crit-doc-preview{transform:scale(.26); width:385%;}
.crit-docs-sm .crit-doc-name{font-size:11.5px; margin-top:4px;}
.crit-docs-sm .crit-doc-tag{font-size:10.5px;}

.drawer-head{padding:20px 22px; border-bottom:1px solid var(--sky-line); display:flex; align-items:center; justify-content:space-between;}
.drawer-body{padding:22px; overflow-y:auto; flex:1;}
.drawer-foot{padding:16px 22px; border-top:1px solid var(--sky-line); display:flex; gap:10px; justify-content:flex-end;}

.field{margin-bottom:16px;}
.field label{display:block; font-size:14px; font-weight:600; color:var(--ink-soft); margin-bottom:6px;}

input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),
select, textarea{
  width:100%; border:1px solid var(--sky-line); background:var(--sky); border-radius:10px; padding:10px 12px;
  font-size:15px; font-family:var(--font-body); color:var(--ink); outline:none;
  transition:border-color .12s, background .12s, box-shadow .12s;
}
select{width:auto; max-width:100%;}
.field select{width:100%;}
input[type="checkbox"], input[type="radio"]{width:auto; flex-shrink:0; accent-color:var(--visa);}
input:focus, select:focus, textarea:focus{border-color:var(--visa); background-color:var(--paper); box-shadow:0 0 0 3px var(--visa-soft);}
input::placeholder, textarea::placeholder{color:var(--slate-2);}
input:disabled, select:disabled, textarea:disabled{opacity:.55; cursor:not-allowed;}
textarea{resize:none; overflow:hidden; line-height:1.55;}
textarea:not([rows]){min-height:70px;}
.field textarea:not([rows]){min-height:70px;}
select:not([multiple]){
  appearance:none; -webkit-appearance:none; padding-right:32px; cursor:pointer;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjNUM2Qjg1JyBzdHJva2Utd2lkdGg9JzIuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNNiA5bDYgNiA2LTYnLz48L3N2Zz4=");
  background-repeat:no-repeat; background-position:right 10px center; background-size:14px;
}
:root[data-theme="dark"] select:not([multiple]){
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjOEI5NkFDJyBzdHJva2Utd2lkdGg9JzIuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNNiA5bDYgNiA2LTYnLz48L3N2Zz4=");
}

.evidence-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px;}
.evidence-card{border:1px solid var(--sky-line); border-radius:var(--radius-md); padding:16px 20px; display:flex; gap:18px; align-items:center; transition:background .15s, border-color .15s;}
.evidence-card .ic{width:36px; height:36px; border-radius:10px; background:var(--sky); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.evidence-card .ic svg{width:17px; height:17px; color:var(--slate);}
.crit-folder{position:relative; width:68px; height:57px; flex-shrink:0;}
.crit-folder-svg{display:block;}
.crit-folder-svg svg{width:68px; height:57px; display:block; filter:drop-shadow(0 1px 2px rgba(12,37,29,.18));}
.crit-folder-check{position:absolute; right:-3px; bottom:-3px; width:20px; height:20px; border-radius:50%; background:var(--paper); display:flex; align-items:center; justify-content:center;}
.crit-folder-check svg{width:20px; height:20px; color:var(--good);}
.crit-folder.done .crit-folder-svg svg{opacity:.85;}
.evidence-card.filled{background:var(--good-soft); border-color:var(--good);}

.evidence-card.not-planned{opacity:.5; filter:grayscale(.6);}
.evidence-card h4{font-size:15.5px; font-weight:700; margin-bottom:4px;}
.evidence-card p{font-size:15.5px; font-weight:600; color:var(--ink); font-variant-numeric:tabular-nums;}
.evidence-card.filled p{color:var(--ink);}
.evidence-links{display:flex; flex-wrap:wrap; gap:6px; margin-top:8px;}
.link-chip{display:inline-flex; align-items:center; gap:5px; background:var(--sky); border-radius:7px; padding:4px 9px; font-size:12.5px; font-weight:600; color:var(--ink-soft); max-width:100%; min-width:0;}
.link-chip svg{width:11px; height:11px;}
.link-chip > span:first-child{overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; display:inline-block; max-width:46ch; vertical-align:bottom;}
.link-chip > span:first-child svg{vertical-align:-1px; margin-right:4px;}
.link-chip-action{display:inline-flex; cursor:pointer; opacity:.55; transition:opacity .12s, color .12s;}
.link-chip-action:hover{opacity:1; color:var(--stamp);}
.link-chip-action svg{width:11px; height:11px;}

.task-card-check{padding-top:2px; flex-shrink:0;}
.task-card-check input{width:18px; height:18px; accent-color:var(--good);}
.task-multiline-title,.task-multiline-description{white-space:pre-wrap; overflow-wrap:anywhere;}
.criterion-task-text,.criterion-task-note{white-space:pre-wrap; overflow-wrap:anywhere;}
.task-multiline-description a,.criterion-task-note a,.task-multiline-title a{
  color:var(--visa); text-decoration:underline; text-underline-offset:2px;}
.task-templates{display:flex; flex-wrap:wrap; gap:7px;}
.task-link-action{background:none; border:none; padding:0; font-size:14px; color:var(--ink-soft); cursor:pointer; display:inline-flex; align-items:center; gap:5px; font-weight:600; transition:color .12s;}
.task-link-action svg{width:13px; height:13px;}
.task-link-action:hover{color:var(--visa);}


.ctask-col{max-width:1000px; margin-left:auto; margin-right:auto;}

.ctask-group{margin:0 0 28px;}
.ctask-group:last-child{margin-bottom:0;}
.ctask-group-head{display:flex; align-items:center; gap:13px; margin:0 0 13px;}
.ctask-group-ic{
  width:42px; height:42px; flex-shrink:0; border-radius:13px; background:var(--sky);
  display:flex; align-items:center; justify-content:center; font-size:22.5px; line-height:1;
}
.ctask-group-text{min-width:0; flex:1;}
.ctask-group-name{font-family:var(--font-display); font-size:19px; font-weight:800; line-height:1.25; letter-spacing:-.01em; color:var(--ink);}
.ctask-group-sub{font-size:14px; line-height:1.45; color:var(--slate); margin-top:3px;}
.ctask-group-n{
  flex-shrink:0; min-width:30px; height:26px; padding:0 10px; border-radius:999px;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--sky); color:var(--ink-soft); font-size:14px; font-weight:800;
  font-variant-numeric:tabular-nums;
}
.ctask-group.is-client .ctask-group-ic{background:var(--visa-soft);}
.ctask-group.is-client .ctask-group-n{background:var(--visa); color:#fff;}
.ctask-group.is-client .ctask-group-sub{color:var(--visa-ink); font-weight:600;}

.ctask-list{display:flex; flex-direction:column; gap:10px;}
.ctask{
  border:1px solid var(--sky-line); border-radius:var(--radius-lg); background:var(--paper);
  padding:15px 17px; transition:border-color .15s, box-shadow .15s;
}
.ctask:hover{border-color:var(--sky-deep); box-shadow:var(--shadow-card);}
.ctask.is-done{background:var(--sky);}
.ctask-group.is-client .ctask{box-shadow:inset 3px 0 0 var(--visa);}
.ctask-group.is-client .ctask:hover{box-shadow:inset 3px 0 0 var(--visa), var(--shadow-card);}
.ctask-head{display:flex; align-items:flex-start; gap:12px;}
.ctask-check{flex-shrink:0; display:flex; padding-top:1px;}
.ctask-check input{width:20px; height:20px; accent-color:var(--good); cursor:pointer;}
.ctask-title{flex:1; min-width:0; font-size:16px; font-weight:700; line-height:1.45; color:var(--ink); white-space:pre-wrap; overflow-wrap:anywhere;}
.ctask.is-done .ctask-title{color:var(--slate); font-weight:600; text-decoration:line-through; text-decoration-color:var(--slate-2);}
.ctask-del{flex-shrink:0; width:30px; height:30px; color:var(--slate-2);}
.ctask-del:hover{color:var(--stamp);}
.ctask-body{margin-left:32px; margin-top:9px; display:flex; flex-direction:column; gap:11px;}

.ctask-note{
  display:block; width:calc(100% + 20px); margin:-4px -10px; padding:5px 10px;
  font-family:inherit; font-size:15px; line-height:1.6; color:var(--ink-soft);
  background:transparent; border:1px solid transparent; border-radius:10px;
  resize:none; overflow:auto; min-height:0; max-height:420px;
  white-space:pre-wrap; overflow-wrap:anywhere;
  field-sizing:content;
  transition:background .12s, border-color .12s;
}
.ctask-note:hover{background:var(--sky);}
.ctask-note:focus{background:var(--paper); border-color:var(--visa); box-shadow:0 0 0 3px var(--visa-soft); outline:none; color:var(--ink);}
.ctask.is-done .ctask-note:hover{background:var(--paper);}

.ctask-note-view{cursor:text; min-height:calc(1.6em + 10px); overflow:visible; max-height:none;}
.ctask-note-view.is-placeholder{color:var(--ink-faint, var(--ink-soft)); opacity:.62;}
.ctask-note-view:focus{background:var(--paper); border-color:var(--visa); box-shadow:0 0 0 3px var(--visa-soft); outline:none;}
.ctask-note-view a{color:var(--visa); text-decoration:underline; text-underline-offset:2px; cursor:pointer; word-break:break-all;}
.ctask-note-view a:hover{text-decoration-thickness:2px;}

.ctask-files{display:flex; flex-wrap:wrap; gap:8px;}
.ctask-files .link-chip{font-size:14px; gap:7px; padding:7px 12px; border-radius:10px; border:1px solid var(--sky-line);}
.ctask-files .link-chip svg{width:13px; height:13px;}
.ctask-files .link-chip-action svg{width:13px; height:13px;}
.ctask-docs{display:grid; grid-template-columns:repeat(auto-fill, minmax(104px, 124px)); gap:10px;}
.ctask-acts{display:flex; align-items:center; gap:18px; flex-wrap:wrap;}

.ctask-due{
  display:inline-flex; align-items:center; gap:9px; align-self:flex-start; max-width:100%;
  flex-wrap:wrap; padding:6px 7px 6px 12px; border-radius:999px;
  border:1px solid var(--sky-line); background:var(--sky);
}
.ctask-due.is-empty{background:transparent; border-style:dashed;}
.ctask-due-lbl{font-size:14px; font-weight:700; color:var(--slate-2); flex-shrink:0;}
.ctask-due input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]){
  border:none; background:transparent; padding:0; margin:0; height:auto; min-height:0;
  width:auto; font-size:15px; color:var(--ink); box-shadow:none; border-radius:0;
}
.ctask-due input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):focus{
  outline:none; box-shadow:none; border:none; background:transparent;
}
.ctask-due .pill{flex-shrink:0;}
.ctask-due-clear{
  flex-shrink:0; width:25px; height:25px; border:none; background:none; cursor:pointer;
  border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  color:var(--slate-2); transition:background .12s, color .12s;
}
.ctask-due-clear:hover{background:var(--stamp-soft); color:var(--stamp);}
.ctask-due-clear svg{width:13px; height:13px;}

.ctask-empty{font-size:15px; color:var(--slate-2); margin:0; padding:2px 0;}
.ctask-addrow{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:12px;}
.ctask-add{
  display:inline-flex; align-items:center; gap:8px; cursor:pointer; font-family:inherit;
  border:1px dashed var(--sky-deep); background:transparent; border-radius:11px;
  padding:10px 16px; font-size:15px; font-weight:700; color:var(--ink-soft);
  transition:border-color .12s, color .12s, background .12s;
}
.ctask-add:hover{border-color:var(--visa); color:var(--visa); background:var(--visa-soft);}
.ctask-add svg{width:14px; height:14px;}
.ctask-tpl{max-width:280px; font-size:14.5px;}

.ctask-composer{
  margin-top:12px; padding:14px 15px; display:flex; flex-direction:column; gap:12px;
  border:1px solid var(--sky-deep); border-radius:var(--radius-lg); background:var(--sky);
}
.ctask-composer textarea{
  width:100%; font-family:inherit; font-size:15px; line-height:1.55; resize:none;
  overflow:auto; max-height:320px; min-height:0; border:1px solid var(--sky-line);
  border-radius:11px; padding:11px 13px; background:var(--paper); color:var(--ink);
  field-sizing:content;
}
.ctask-composer textarea:focus{border-color:var(--visa); box-shadow:0 0 0 3px var(--visa-soft); outline:none;}
.ctask-composer .ctask-due{background:var(--paper);}
.ctask-composer-foot{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.ctask-composer-spacer{flex:1; min-width:0;}

.assignee-picker{position:relative;}
.assignee-trigger{
  width:100%; display:flex; align-items:center; gap:10px; text-align:left; cursor:pointer;
  background:var(--paper); border:1px solid var(--sky-line); border-radius:var(--radius-md);
  padding:8px 11px; min-height:46px; color:var(--ink); font-family:inherit; font-size:15px;
  transition:border-color .12s, box-shadow .12s;
}
.assignee-trigger:hover{border-color:var(--slate-2);}
.assignee-trigger.open,.assignee-trigger:focus-visible{border-color:var(--visa); box-shadow:0 0 0 3px var(--visa-soft); outline:none;}
.assignee-trigger-text{display:flex; flex-direction:column; min-width:0; flex:1; gap:1px;}
.assignee-name{font-weight:600; font-size:15px; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.assignee-sub{font-size:12.5px; color:var(--slate-2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.assignee-placeholder{flex:1; color:var(--slate-2); font-size:15px;}
.assignee-caret{display:inline-flex; flex-shrink:0; color:var(--slate-2);}
.assignee-caret svg{width:15px; height:15px;}
.assignee-trigger.open .assignee-caret{transform:rotate(180deg);}

.assignee-pop{
  margin-top:6px;
  background:var(--paper); border:1px solid var(--sky-line); border-radius:var(--radius-lg);
  overflow:hidden; animation:popdown .14s cubic-bezier(.16,1,.3,1); transform-origin:top center;
}
.assignee-search{padding:9px 10px; border-bottom:1px solid var(--sky-line);}
.assignee-search input{width:100%;}
.assignee-list{max-height:320px; overflow-y:auto; overscroll-behavior:contain;}
.assignee-group{
  padding:9px 14px 5px; font-size:12px; font-weight:700; letter-spacing:.05em;
  text-transform:uppercase; color:var(--slate-2); background:var(--sky); position:sticky; top:0;
}
.assignee-option{display:flex; align-items:center; gap:10px; padding:8px 14px; cursor:pointer; border:none; background:none;}
.assignee-option.active{background:var(--visa-soft);}
.assignee-option.selected .assignee-name{color:var(--visa-ink);}
.assignee-tick{display:inline-flex; flex-shrink:0; color:var(--visa);}
.assignee-tick svg{width:15px; height:15px;}

.stage-filter-pop{
  position:absolute; top:calc(100% + 6px); right:0; z-index:20; min-width:260px;
  max-height:340px; overflow-y:auto;
  background:var(--paper); border:1px solid var(--sky-line); border-radius:var(--radius-lg);
  box-shadow:0 12px 32px rgba(15,42,35,.14); padding:8px; animation:popdown .14s cubic-bezier(.16,1,.3,1);
}
.stage-filter-row{display:flex; align-items:center; gap:8px; padding:7px 8px; border-radius:8px; cursor:pointer; font-size:13px;}
.stage-filter-row:hover{background:var(--sky);}
.stage-filter-row input{accent-color:var(--visa);}
.stage-filter-pop-actions{border-top:1px solid var(--sky-line); margin-top:6px; padding-top:6px; display:flex; justify-content:space-between; gap:8px;}
.stage-filter-pop-actions--top{border-top:none; border-bottom:1px solid var(--sky-line); margin-top:0; margin-bottom:6px; padding-top:0; padding-bottom:6px;}

.upload-drop{
  display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap;
  border:1.5px dashed var(--sky-line); border-radius:12px; padding:22px 16px; text-align:center;
  color:var(--ink-soft); font-size:14.5px; cursor:pointer; background:var(--sky);
  transition:border-color .12s, background .12s;
}
.upload-drop svg{width:18px; height:18px; flex-shrink:0;}
.upload-drop:hover, .upload-drop.is-over{border-color:var(--visa); background:var(--visa-soft); color:var(--visa-ink);}
.upload-drop--compact{padding:10px 12px; font-size:13px; justify-content:flex-start;}
.upload-drop--compact svg{width:15px; height:15px;}
.upload-drop.is-disabled{opacity:.5; cursor:not-allowed; pointer-events:none;}
.upload-list{display:flex; flex-direction:column; gap:6px; margin-top:10px;}
.upload-item{display:flex; align-items:center; gap:10px; padding:8px 10px; border:1px solid var(--sky-line); border-radius:10px; background:var(--paper);}
.upload-item > svg{width:16px; height:16px; flex-shrink:0; color:var(--ink-soft);}
.upload-item-info{flex:1; min-width:0;}
.upload-item-name{font-size:14px; font-weight:600; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.upload-item-progress{height:4px; border-radius:2px; background:var(--sky-line); margin-top:6px; overflow:hidden;}
.upload-item-progress-bar{height:100%; background:var(--visa); border-radius:2px; transition:width .2s ease;}

.pdf-text-layer{color:transparent; user-select:text;}
.pdf-text-layer span{position:absolute; white-space:pre; cursor:text; transform-origin:0% 0%; color:transparent;}
.pdf-text-layer ::selection{background:rgba(45,227,177,.35);}

.file-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(104px, 1fr)); gap:12px;}
.file-tile{cursor:pointer; min-width:0;}
.file-tile-thumb{
  position:relative; aspect-ratio:3/4; border:1px solid var(--sky-line); border-radius:10px;
  background:var(--paper); overflow:hidden; display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-card); transition:border-color .12s, transform .12s, box-shadow .12s;
}
.file-tile:hover .file-tile-thumb{border-color:var(--visa); transform:translateY(-1px); box-shadow:var(--shadow-pop);}
.file-tile-thumb img{width:100%; height:100%; object-fit:cover; object-position:top center; display:block;}
.file-tile-skel{
  width:100%; height:100%;
  background:linear-gradient(90deg, var(--sky) 25%, var(--sky-deep) 37%, var(--sky) 63%);
  background-size:400% 100%; animation:shimmer 1.3s ease infinite;
}
.file-tile-generic{display:flex; flex-direction:column; align-items:center; gap:6px; color:var(--slate-2);}
.file-tile-generic svg{width:26px; height:26px;}
.file-tile-ext{
  font-family:var(--font-mono); font-size:11px; font-weight:500; text-transform:uppercase;
  letter-spacing:.06em; background:var(--sky); color:var(--ink-soft); padding:1px 6px; border-radius:4px;
}
.file-tile-exhibit{
  position:absolute; left:5px; top:5px; z-index:2; min-width:18px; height:18px; padding:0 5px;
  border-radius:5px; background:rgba(12,37,29,.72); color:#fff;
  font-family:var(--font-mono); font-size:11.5px; font-weight:500;
  display:flex; align-items:center; justify-content:center;
}
.file-tile-remove{
  position:absolute; right:4px; top:4px; z-index:2; width:20px; height:20px; border-radius:6px;
  border:none; background:rgba(12,37,29,.55); color:#fff; cursor:pointer;
  display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .12s;
}
.file-tile-remove svg{width:11px; height:11px;}
.file-tile:hover .file-tile-remove{opacity:1;}
.file-tile-remove:hover{background:var(--stamp);}
.file-tile-name{
  margin-top:6px; font-size:12.5px; line-height:1.35; color:var(--ink-soft); text-align:center;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  word-break:break-word;
}

.skel{background:linear-gradient(90deg, var(--sky) 25%, var(--sky-deep) 37%, var(--sky) 63%); background-size:400% 100%; animation:shimmer 1.3s ease infinite; border-radius:8px;}
@keyframes shimmer{0%{background-position:100% 0;} 100%{background-position:0 0;}}

.toast-wrap{position:fixed; bottom:22px; right:22px; z-index:500; display:flex; flex-direction:column; gap:8px;}
.toast{background:var(--ink-invert); color:white; padding:12px 16px; border-radius:11px; font-size:14.5px; font-weight:500; box-shadow:var(--shadow-pop); display:flex; align-items:center; gap:9px; animation:toastin .2s ease; border:1px solid rgba(255,255,255,.08);}
.toast svg{width:15px; height:15px; color:#8FE3A1; flex-shrink:0;}
@keyframes toastin{from{transform:translateY(8px); opacity:0;} to{transform:translateY(0); opacity:1;}}

.popup-wrap{position:fixed; bottom:106px; right:22px; z-index:600; display:flex; flex-direction:column; gap:12px; max-width:360px; pointer-events:none;}
.task-popup{
  position:relative; overflow:hidden; pointer-events:auto; cursor:pointer;
  display:flex; align-items:flex-start; gap:12px;
  background:var(--ink-invert); color:white; border-radius:16px; padding:14px 16px;
  box-shadow:0 16px 40px rgba(0,0,0,.35), 0 2px 10px rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.08);
  animation:popupin .32s cubic-bezier(.2,.9,.3,1.3);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.task-popup:hover{transform:translateY(-2px); border-color:rgba(255,255,255,.18); box-shadow:0 20px 48px rgba(0,0,0,.42), 0 2px 10px rgba(0,0,0,.3);}
.task-popup:hover .task-popup-glow{opacity:1;}
.task-popup-glow{
  position:absolute; inset:0; pointer-events:none; opacity:.55; transition:opacity .2s ease;
  background:radial-gradient(120px 90px at -10% -10%, rgba(91,234,198,.35), transparent 70%);
}
.task-popup--task_reply .task-popup-glow{background:radial-gradient(120px 90px at -10% -10%, rgba(66,201,140,.35), transparent 70%);}
.task-popup-ic{
  position:relative; z-index:1; flex-shrink:0; width:38px; height:38px; border-radius:11px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(91,234,198,.18); color:#93fbe2;
}
.task-popup-ic svg{width:19px; height:19px;}
.task-popup--task_reply .task-popup-ic{background:rgba(66,201,140,.18); color:#8FE3A1;}
.task-popup--task_question .task-popup-glow{background:radial-gradient(120px 90px at -10% -10%, rgba(231,76,76,.38), transparent 70%);}
.task-popup--task_question .task-popup-ic{background:rgba(231,76,76,.20); color:#FF9C9C;}
.task-popup--task_question{border-color:rgba(231,76,76,.45);}
.task-popup-body{position:relative; z-index:1; flex:1; min-width:0;}
.task-popup-title{font-size:13px; font-weight:700; letter-spacing:.02em; text-transform:uppercase; color:rgba(255,255,255,.55); margin-bottom:3px;}
.task-popup-text{font-size:15px; font-weight:500; line-height:1.4; color:white; word-break:break-word;}
.task-popup-x{
  position:relative; z-index:1; flex-shrink:0; width:22px; height:22px; border-radius:7px; border:none;
  display:flex; align-items:center; justify-content:center; background:transparent; color:rgba(255,255,255,.4);
  cursor:pointer; transition:background .15s ease, color .15s ease;
}
.task-popup-x:hover{background:rgba(255,255,255,.12); color:white;}
.task-popup-x svg{width:13px; height:13px;}
@keyframes popupin{from{transform:translateX(24px) scale(.96); opacity:0;} to{transform:translateX(0) scale(1); opacity:1;}}
@media (max-width:640px){.popup-wrap{right:12px; left:12px; max-width:none;}}

.divider{height:1px; background:var(--sky-line); margin:18px 0;}
.hint{font-size:12.5px; color:var(--slate-2);}
.hint.hint-warn{color:var(--stamp); font-weight:600;}
input.is-cyr{border-color:var(--stamp); background:color-mix(in srgb, var(--stamp) 6%, transparent);}
.client-card-view .hint{font-size:15px; line-height:1.55; color:var(--ink);}
.client-card-view .section-title{font-size:17px; margin-bottom:14px;}
.client-card-view .row-item{font-size:15.5px; line-height:1.5;}
.client-card-view h4{font-size:16.5px;}
.client-card-view .card p{line-height:1.55;}

.head-date{
  border:1px solid var(--sky-line); background:var(--paper); border-radius:7px;
  padding:5px 9px; font-size:14.5px; color:var(--ink-soft);
  min-width:158px; line-height:1.3;
}
.head-date:focus{border-color:var(--visa); outline:none;}

.deadline-toggle{
  display:inline-flex; border:1px solid var(--sky-line); border-radius:9px; overflow:hidden;
  line-height:1.3; height:34px; align-items:stretch;
}
.deadline-toggle-opt{
  border:none; background:var(--paper); color:var(--ink-soft); cursor:pointer;
  padding:0 10px; font-size:12.5px; font-family:inherit;
  white-space:nowrap; display:inline-flex; align-items:center; justify-content:center;
}
.deadline-toggle-opt+.deadline-toggle-opt{border-left:1px solid var(--sky-line);}
.deadline-toggle-opt.active{background:var(--visa); color:#fff;}

.client-card-view > .card:first-of-type{padding:26px 28px;}
.client-card-view > .card:first-of-type h2,
.client-card-view > .card:first-of-type h1{font-size:28.5px; line-height:1.2; margin-bottom:4px;}
.client-card-view > .card:first-of-type .row-line{margin-top:14px; row-gap:12px;}
.section-title{font-size:15px; font-weight:700; margin-bottom:12px; color:var(--ink);}
.flex-between{display:flex; align-items:center; justify-content:space-between;}
.ellipsis-row{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.ellipsis-row svg{vertical-align:-2px; margin-right:6px;}
.locked-panel{display:flex; flex-direction:column; align-items:center; justify-content:center; padding:60px 20px; color:var(--slate); text-align:center;}
.locked-panel svg{width:32px; height:32px; margin-bottom:10px; color:var(--slate-2);}

@media (max-width: 980px){
  .stat-grid{grid-template-columns:repeat(2,1fr);}
  .evidence-grid{grid-template-columns:1fr;}
}

@media (max-width: 640px){
  .drawer{width:100vw; min-width:0; max-width:100vw;}
  .drawer-head, .drawer-foot{padding:14px 16px;}
  .drawer-body{padding:16px;}
  .drawer-foot{flex-wrap:wrap;}
  .drawer-foot .btn{flex:1 1 auto; justify-content:center;}
  .modal{width:100%; max-width:calc(100vw - 24px);}
  .modal-preview{width:100vw; max-width:100vw; height:var(--vh100); border-radius:0;}
  .stat-grid{grid-template-columns:1fr;}
  .share-screen{padding:20px 12px;}
  .evidence-card{padding:12px;}
  .tabbar{gap:0;}
  .tab{margin-right:10px; font-size:13px;}
}

.login-screen{min-height:var(--vh100); display:flex; align-items:center; justify-content:center; background:var(--sky); padding:20px;}
.login-card{width:100%; max-width:380px; background:var(--paper); border:1px solid var(--sky-line); border-radius:var(--radius-lg); box-shadow:var(--shadow-pop); padding:36px 32px; text-align:center;}
.login-title{font-family:var(--font-display); font-size:23.5px; font-weight:700; margin-bottom:4px;}
.login-sub{font-size:14px; color:var(--slate); margin-bottom:24px;}
.login-card .field{text-align:left; margin-bottom:14px;}
.login-error{color:var(--stamp); font-size:13px; font-weight:600; text-align:left; margin-top:-4px; margin-bottom:10px;}

.share-screen{min-height:var(--vh100); background:var(--sky); padding:40px 20px;}
.share-wrap{max-width:640px; margin:0 auto;}
.share-progress-track{height:12px; background:var(--sky-deep); border-radius:99px; overflow:hidden; margin:14px 0 6px;}
.share-progress-fill{height:100%; background:linear-gradient(90deg, var(--visa), var(--good)); border-radius:99px; transition:width .4s ease;}

.brief-shell{min-height:var(--vh100); background:linear-gradient(135deg, #f1fef9 0%, #e1fdf3 50%, #f8fcfb 100%); padding-bottom:40px;}
.brief-header{background:rgba(255,255,255,.95); backdrop-filter:blur(12px); border-bottom:1px solid #e2f0ec; padding:16px 20px; position:sticky; top:0; z-index:20; box-shadow:0 2px 12px rgba(0,0,0,.06);}
.brief-header-inner{max-width:640px; margin:0 auto;}
.brief-header-top{display:flex; align-items:center; gap:10px; margin-bottom:12px;}
.brief-eyebrow{font-size:12.5px; color:#94b8ad; font-weight:700; letter-spacing:.1em; text-transform:uppercase;}
.brief-title{font-size:17px; font-weight:800; color:#1e3b32;}
.brief-progress-wrap{display:flex; align-items:center; gap:12px;}
.brief-progress-track{flex:1; height:6px; background:#e2f0ec; border-radius:99px; overflow:hidden;}
.brief-progress-fill{height:100%; background:linear-gradient(90deg, #17e08f, #0abf78); border-radius:99px; transition:width .4s ease;}
.brief-progress-pct{font-size:13px; font-weight:700; color:#17e08f; min-width:36px; text-align:right;}
.brief-body{max-width:640px; margin:0 auto; padding:28px 20px 0;}
.brief-intro{font-size:14px; color:#648b7f; margin-bottom:16px; text-align:center;}
.brief-card{background:#fff; border-radius:24px; padding:28px; box-shadow:0 2px 16px rgba(0,0,0,.05);}
.brief-section-title{font-size:14.5px; font-weight:800; color:#648b7f; letter-spacing:.04em; text-transform:uppercase; display:flex; align-items:center; gap:10px;}
.brief-section-title::before{content:''; display:inline-block; width:4px; height:16px; border-radius:99px; background:linear-gradient(180deg, #17e08f, #0abf78); flex-shrink:0;}
.brief-question{font-size:18px; font-weight:700; line-height:1.45; color:#1e3b32; white-space:pre-line; margin-top:18px;}
.brief-hint{font-size:14.5px; color:#648b7f; line-height:1.55; white-space:pre-line; margin-top:12px; background:#f1fef9; border:1px solid #e1fdf3; border-radius:12px; padding:12px 14px;}
.brief-hint.brief-tip{border:0; border-left:3px solid #82f7c9; border-radius:0 10px 10px 0; padding:10px 14px;}
.brief-tip-head{display:flex; align-items:center; justify-content:space-between; gap:10px;
  font-weight:700; font-size:13px; letter-spacing:.02em; color:#0abf78; margin-bottom:4px;}
.brief-tip-toggle{border:0; background:none; padding:0; font:inherit; font-size:13px; font-weight:700;
  color:#0abf78; text-decoration:underline; cursor:pointer;}
.brief-tip-body.is-clamped{display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
.brief-textarea{width:100%; margin-top:18px; padding:14px 16px; border-radius:12px; border:1.5px solid #e2f0ec; background:#fff; color:#1e3b32; font-size:15px; font-family:inherit; line-height:1.5; outline:none; resize:vertical; transition:border-color .15s, box-shadow .15s;}
.brief-textarea:focus{border-color:#17e08f; box-shadow:0 0 0 3px rgba(23,224,143,.12);}
.brief-textarea:disabled{background:#f1f9f6; color:#94b8ad; cursor:not-allowed;}
.brief-nav{display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:22px;}
.brief-btn-next{padding:13px 26px; background:linear-gradient(135deg, #17e08f, #0abf78); color:#fff; border:none; border-radius:14px; font-size:15px; font-weight:800; cursor:pointer; box-shadow:0 8px 20px rgba(23,224,143,.35); font-family:inherit; transition:transform .15s, box-shadow .15s;}
.brief-btn-next:hover{transform:translateY(-1px); box-shadow:0 10px 24px rgba(23,224,143,.4);}
.brief-btn-back{padding:13px 22px; background:#fff; color:#648b7f; border:2px solid #e2f0ec; border-radius:14px; font-size:15px; font-weight:700; cursor:pointer; font-family:inherit;}
.brief-btn-back:hover{background:#f8fcfb;}
.brief-btn-back:disabled{opacity:.4; cursor:not-allowed;}
.brief-cta{background:var(--paper); border-radius:20px; padding:22px 24px; box-shadow:0 2px 16px rgba(23,224,143,.1); border:1px solid var(--sky-line);}
.brief-cta-btn{padding:11px 20px; background:linear-gradient(135deg, #17e08f, #0abf78); color:#fff; border:none; border-radius:12px; font-size:15px; font-weight:700; cursor:pointer; white-space:nowrap; font-family:inherit; box-shadow:0 6px 16px rgba(23,224,143,.3);}
.brief-success{display:flex; align-items:center; justify-content:center; min-height:70vh; padding:20px;}
.brief-success-card{background:#fff; border-radius:28px; padding:48px 36px; max-width:420px; width:100%; text-align:center; box-shadow:0 20px 60px rgba(23,224,143,.15);}
.brief-success-icon{font-size:55px; margin-bottom:14px;}
.brief-success-card h2{font-size:21px; font-weight:800; color:#1e3b32; margin-bottom:8px;}
.brief-success-card p{color:#648b7f; font-size:15px; margin-bottom:0;}
.brief-na{display:flex; align-items:center; gap:9px; margin-top:16px; padding:10px 14px; background:#f8fcfb; border:1px solid #e2f0ec; border-radius:10px; font-size:15px; color:#47695e; cursor:pointer; user-select:none;}
.brief-na input{width:16px; height:16px; accent-color:#17e08f; flex-shrink:0; cursor:pointer;}
.brief-fields{display:flex; flex-direction:column; gap:16px; margin-top:18px;}
.brief-field{display:flex; flex-direction:column; gap:6px;}
.brief-field-label{font-size:14.5px; font-weight:700; color:#33554a; line-height:1.4;}
.brief-req{color:#dc2626;}
.brief-select{width:100%;}
.brief-input-num{max-width:160px;}
.brief-input-date{max-width:200px;}
.brief-textarea-sub{margin-top:0;}
.brief-date-row,.brief-check-row{display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px;}
.brief-check{display:inline-flex; align-items:center; gap:6px; font-size:14px; color:#47695e; cursor:pointer; user-select:none;}
.brief-check input{width:15px; height:15px; accent-color:#17e08f; cursor:pointer;}
.brief-radio{display:flex; flex-wrap:wrap; gap:8px;}
.brief-radio label{display:inline-flex; align-items:center; gap:7px; padding:9px 16px; border:1.5px solid #e2f0ec; border-radius:11px; background:#fff; font-size:15px; color:#33554a; cursor:pointer; user-select:none; transition:border-color .15s, background .15s;}
.brief-radio label.on{border-color:#17e08f; background:#f1fef9; color:#099b63; font-weight:700;}
.brief-radio input{accent-color:#17e08f; margin:0;}
.brief-field.has-error input.brief-input,.brief-field.has-error select.brief-select,.brief-field.has-error .brief-textarea-sub{border-color:#f87171 !important;}
.brief-error{font-size:13.5px; color:#dc2626;}
.brief-prefill{font-size:13.5px; color:#47695e; background:#f1fef9; border:1px solid #e1fdf3; border-radius:9px; padding:7px 10px; display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px;}
.brief-prefill button{background:none; border:none; color:#0abf78; font-weight:700; font-size:13.5px; cursor:pointer; font-family:inherit; padding:0;}
.brief-repeat-item{margin-top:16px; padding:16px; border:1.5px solid #e2f0ec; border-radius:14px; background:#f8fcfb; display:flex; flex-direction:column; gap:14px;}
.brief-repeat-head{display:flex; justify-content:space-between; align-items:center; font-size:14px; font-weight:800; color:#099b63; letter-spacing:.03em; text-transform:uppercase;}
.brief-remove-btn{background:none; border:none; color:#94b8ad; font-size:13.5px; font-weight:700; cursor:pointer; font-family:inherit; text-transform:none; letter-spacing:0;}
.brief-remove-btn:hover{color:#dc2626;}
.brief-add-btn{margin-top:14px; width:100%; padding:12px; background:#fff; color:#0abf78; border:2px dashed #bdfae2; border-radius:12px; font-size:15px; font-weight:700; cursor:pointer; font-family:inherit;}
.brief-add-btn:hover{background:#f1fef9;}
.brief-jump-link{background:none; border:none; color:#0abf78; font-size:14px; font-weight:700; cursor:pointer; font-family:inherit; padding:6px 4px; white-space:nowrap;}
.brief-jump-link:hover{text-decoration:underline;}
.brief-review-item{display:flex; align-items:flex-start; gap:14px; padding:16px 0; border-bottom:1px solid #e2f0ec;}
.brief-review-item:last-child{border-bottom:none;}
.brief-review-q{font-weight:700; font-size:15px; color:#1e3b32; white-space:pre-line;}
.brief-review-a{margin-top:5px; font-size:14.5px; color:#47695e; white-space:pre-line;}
.brief-review-a.empty{color:#94b8ad; font-style:italic;}
.brief-review-edit{flex-shrink:0; padding:7px 14px; background:#fff; border:1.5px solid #e2f0ec; border-radius:9px; font-size:14px; font-weight:700; color:#0abf78; cursor:pointer; font-family:inherit; white-space:nowrap;}
.brief-review-edit:hover{border-color:#17e08f; background:#f1fef9;}

.share-screen[data-brand="infoplus"]{
  --visa:#c2410c; --visa-ink:#9a3412; --visa-soft:#ffedd5;
  --sky:#f5f3f1; --sky-deep:#ece9e5; --sky-line:#e2ded8;
}
.share-screen[data-brand="infoplus"] .share-progress-fill{background:linear-gradient(90deg, #f97316, #c2410c);}

.share-screen[data-brand="infoplus"] .brief-shell{background:linear-gradient(135deg, #fff7ed 0%, #ffedd5 50%, #fffaf5 100%);}
.share-screen[data-brand="infoplus"] .brief-header{border-bottom-color:#fed7aa;}
.share-screen[data-brand="infoplus"] .brief-progress-track{background:#ffe4cc;}
.share-screen[data-brand="infoplus"] .brief-progress-fill{background:linear-gradient(90deg, #f97316, #ea580c);}
.share-screen[data-brand="infoplus"] .brief-progress-pct{color:#c2410c;}
.share-screen[data-brand="infoplus"] .brief-section-title::before{background:linear-gradient(180deg, #f97316, #ea580c);}
.share-screen[data-brand="infoplus"] .brief-hint{background:#fff7ed; border-color:#fed7aa;}
.share-screen[data-brand="infoplus"] .brief-textarea{border-color:#fed7aa;}
.share-screen[data-brand="infoplus"] .brief-textarea:focus{border-color:#f97316; box-shadow:0 0 0 3px rgba(249,115,22,.15);}
.share-screen[data-brand="infoplus"] .brief-btn-next{background:linear-gradient(135deg, #c2410c, #9a3412); box-shadow:0 8px 20px rgba(194,65,12,.35);}
.share-screen[data-brand="infoplus"] .brief-btn-next:hover{box-shadow:0 10px 24px rgba(194,65,12,.42);}
.share-screen[data-brand="infoplus"] .brief-btn-back{border-color:#fed7aa;}
.share-screen[data-brand="infoplus"] .brief-cta{box-shadow:0 2px 16px rgba(249,115,22,.12); border-color:#fed7aa;}
.share-screen[data-brand="infoplus"] .brief-cta-btn{background:linear-gradient(135deg, #c2410c, #9a3412); box-shadow:0 6px 16px rgba(194,65,12,.3);}
.share-screen[data-brand="infoplus"] .brief-success-card{box-shadow:0 20px 60px rgba(249,115,22,.16);}
.share-screen[data-brand="infoplus"] .brief-na{border-color:#fed7aa;}
.share-screen[data-brand="infoplus"] .brief-na input{accent-color:#c2410c;}
.share-screen[data-brand="infoplus"] .brief-jump-link{color:#c2410c;}
.share-screen[data-brand="infoplus"] .brief-review-item{border-bottom-color:#fed7aa;}
.share-screen[data-brand="infoplus"] .brief-review-edit{color:#c2410c; border-color:#fed7aa;}
.share-screen[data-brand="infoplus"] .brief-review-edit:hover{border-color:#f97316; background:#fff7ed;}

#startup-splash{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;overflow:hidden;background:#fff;transition:opacity .22s ease,visibility .22s ease}
#startup-splash.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.startup-splash-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:17px;text-align:center}
.startup-splash-logo{width:72px;height:72px;border-radius:20px;
  background:linear-gradient(135deg, var(--visa), var(--visa-ink));
  box-shadow:0 10px 26px rgba(37,207,166,.28);
  display:flex;align-items:center;justify-content:center;color:#fff;
  animation:startupSplashPulse 1.8s ease-in-out infinite;}
.startup-splash-logo svg{width:40px;height:40px;}
@keyframes startupSplashPulse{0%,100%{opacity:.5;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}
.hourglass-wrap{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;}
.hourglass-wrap .hourglass-label{font-size:26.5px; color:#000; letter-spacing:.02em;}
.loading-gif{display:block; width:18cm; max-width:90vw; height:auto; max-height:18cm; object-fit:contain; border-radius:18px;}
.hourglass-loader{font-size:42.5px; line-height:1; animation:hourglassFlip 1.8s ease-in-out infinite;}
.hourglass-loader.sm{font-size:23.5px;}
@keyframes hourglassFlip{
  0%, 100%{ transform:rotate(0deg); }
  50%{ transform:rotate(180deg); }
}
.maintenance-overlay{position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; background:rgba(12,37,29,.45); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); text-align:center; padding:20px;}
.maintenance-overlay .hourglass-wrap{background:var(--paper); padding:36px 40px; border-radius:var(--radius-lg); box-shadow:var(--shadow-pop); max-width:340px;}
.maintenance-overlay .hourglass-label{font-size:28.5px; font-weight:600; color:#000; line-height:1.5;}

.shell--gated{filter:blur(7px) saturate(.85); pointer-events:none; user-select:none;}
.gate{position:fixed; inset:0; z-index:400; display:flex; align-items:center; justify-content:center;
      padding:24px; background:rgba(12,37,29,.34); animation:overlayin .2s ease; overflow-y:auto;}
.gate-card{width:560px; max-width:100%; background:var(--paper); border-radius:var(--radius-lg);
           box-shadow:var(--shadow-pop); padding:30px 32px; animation:popin .22s cubic-bezier(.16,1,.3,1);
           margin:auto;}
.gate-badge{display:inline-block; font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
            color:var(--visa); background:var(--visa-soft); border-radius:999px; padding:5px 11px; margin-bottom:14px;}
.gate-card{position:relative;}
.gate-badge{margin-right:40px;}
.gate-x{position:absolute; top:14px; right:14px; width:32px; height:32px; display:flex;
        align-items:center; justify-content:center; border:0; background:transparent; cursor:pointer;
        border-radius:var(--radius-sm,8px); color:var(--slate-2); transition:background .15s, color .15s;}
.gate-x:hover{background:var(--cloud,rgba(12,37,29,.06)); color:var(--ink);}
.gate-x svg{width:18px; height:18px;}
.gate-title{font-family:var(--font-display,inherit); font-size:23.5px; font-weight:700; line-height:1.25;
            color:var(--ink); margin:0 0 8px; text-wrap:balance;}
.gate-sub{font-size:14.5px; line-height:1.55; color:var(--slate); margin:0 0 22px;}
.gate-q{margin-bottom:18px;}
.gate-q-head{display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:8px;}
.gate-q-head label{font-size:15px; font-weight:600; color:var(--ink); margin:0;}
.gate-score{font-family:var(--font-mono,monospace); font-weight:700; font-size:15px; font-variant-numeric:tabular-nums; flex-shrink:0;}
.gate-q input[type=range]{width:100%; accent-color:var(--visa);}
.gate-q input[type=range].untouched{accent-color:var(--slate-2); opacity:.7;}
.gate-scale{display:flex; justify-content:space-between; font-size:12px; color:var(--slate-2); margin-top:2px;}
.gate-idea{margin-top:22px;}
.gate-idea textarea{min-height:60px;}
.gate-foot{display:flex; align-items:center; justify-content:space-between; gap:14px;
           border-top:1px solid var(--sky-line); padding-top:16px; margin-top:6px;}
.gate-card--thanks{text-align:center; padding:48px 32px;}
.gate-thanks-ic{color:var(--good); margin-bottom:12px;}
.gate-thanks-ic svg{width:44px; height:44px;}
@media (max-width:560px){ .gate-card{padding:22px 18px;} .gate-title{font-size:20px;} }

.bug-row{display:flex; gap:16px; align-items:flex-start; padding:14px 0; border-bottom:1px solid var(--sky-line);}
.bug-row:last-child{border-bottom:none;}
.bug-row-main{flex:1; min-width:0;}
.bug-row-head{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:6px;}
.bug-row-text{font-size:15px; line-height:1.5; color:var(--ink); white-space:pre-wrap; overflow-wrap:anywhere;}
.bug-answer{margin-top:8px; font-size:14px; line-height:1.5; color:var(--ink-soft);
            background:var(--sky); border-radius:8px; padding:8px 10px;}
.bug-row-actions{display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; max-width:340px; flex-shrink:0;}
@media (max-width:720px){ .bug-row{flex-direction:column; gap:10px;} .bug-row-actions{max-width:none; justify-content:flex-start;} }

.idea-card{border:1px solid var(--sky-line); border-radius:10px; padding:12px 14px; background:var(--sky);}
.idea-card + .idea-card{margin-top:8px;}
.idea-text{font-size:15px; line-height:1.55; color:var(--ink); white-space:pre-wrap; overflow-wrap:anywhere;}
.idea-meta{font-size:12.5px; color:var(--slate-2); margin-top:6px;}

.mobile-note{display:flex; gap:12px; align-items:flex-start; background:var(--visa-soft);
             border:1px solid var(--sky-line); border-radius:12px; padding:14px 16px; margin-bottom:16px;}
.mobile-note-ic{color:var(--visa); flex-shrink:0; margin-top:1px;}
.mobile-note-ic svg{width:20px; height:20px;}
.mobile-note b{display:block; font-size:15px; color:var(--ink); margin-bottom:4px;}
.mobile-note p{font-size:14px; line-height:1.5; color:var(--slate); margin:0;}
.dash-grid{display:grid; gap:16px;}
.dash-grid-2{grid-template-columns:1fr 1fr;}
.dash-grid-wide{grid-template-columns:1.3fr 1fr;}
.dash-grid-4{grid-template-columns:repeat(4,1fr); gap:14px;}

.world-clocks-head{display:flex; align-items:flex-start; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:16px;}
.world-clocks-head-text{display:flex; align-items:center; gap:13px; min-width:0;}
.world-clocks-icon{width:34px; height:34px; border-radius:10px; flex-shrink:0;
  background:var(--visa-soft); color:var(--visa); display:flex; align-items:center; justify-content:center;}
.world-clocks-icon svg{width:17px; height:17px;}

.clock-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(190px, 1fr)); gap:12px;}
.clock-tile{
  position:relative; overflow:hidden; min-width:0;
  padding:13px 14px 12px 17px; border-radius:var(--radius-md);
  border:1px solid var(--sky-line); background:var(--paper);
  display:flex; flex-direction:column; gap:9px;
  transition:border-color .15s, background .25s, transform .15s;
}
.clock-tile:hover{border-color:var(--slate-2); transform:translateY(-1px);}
.clock-tile::before{content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--good);}
.clock-tile.is-morning::before, .clock-tile.is-evening::before{background:var(--amber);}
.clock-tile.is-night::before{background:var(--slate-2);}
.clock-tile.is-night{background:var(--sky);}

.clock-tile-head{display:flex; align-items:center; gap:7px; min-width:0;}
.clock-flag{font-size:16px; line-height:1; flex-shrink:0;}
.clock-name{
  font-size:14px; font-weight:700; color:var(--ink-soft); flex:1; min-width:0;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.clock-remove{
  flex-shrink:0; width:20px; height:20px; padding:0; border:0; border-radius:6px; cursor:pointer;
  background:transparent; color:var(--slate-2); display:flex; align-items:center; justify-content:center;
  opacity:0; transition:opacity .12s, background .12s, color .12s;
}
.clock-remove svg{width:12px; height:12px;}
.clock-tile:hover .clock-remove{opacity:1;}
.clock-remove:hover{background:var(--stamp-soft); color:var(--stamp);}
.clock-remove:focus-visible{opacity:1; outline:2px solid var(--visa); outline-offset:1px;}

.clock-time-row{display:flex; align-items:baseline; justify-content:space-between; gap:8px; flex-wrap:wrap;}
.clock-time{
  font-family:var(--font-mono); font-size:27.5px; font-weight:600; line-height:1;
  color:var(--ink); letter-spacing:-.02em; font-variant-numeric:tabular-nums;
}
.clock-tile.is-night .clock-time{color:var(--slate);}
.clock-time-row .pill{align-self:center;}
.clock-tile.is-night .pill-slate{background:var(--paper); color:var(--slate);}

.clock-meta{display:flex; align-items:center; gap:7px; flex-wrap:wrap; font-size:12.5px; line-height:1.3;}
.clock-date{color:var(--slate-2); font-weight:600;}
.clock-shift{
  color:var(--stamp); font-weight:800; text-transform:uppercase; letter-spacing:.04em; font-size:11.5px;
  background:var(--stamp-soft); border-radius:5px; padding:1px 5px;
}
.clock-utc{font-family:var(--font-mono); font-size:11.5px; color:var(--slate-2); margin-left:auto;}

.clock-add{margin-top:14px; padding:14px; border-radius:var(--radius-md); background:var(--sky); border:1px solid var(--sky-line);}
.clock-add-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); gap:10px;}
.clock-add-grid label{display:flex; flex-direction:column; gap:4px; min-width:0;}
.clock-add-grid select, .clock-add-grid input{width:100%; min-width:0;}
.clock-add-note{margin-top:9px;}
.clock-add-actions{display:flex; align-items:center; justify-content:flex-end; gap:9px; margin-top:12px; flex-wrap:wrap;}
.clock-add-preview{margin-right:auto; font-family:var(--font-mono);}

@media (max-width:720px){
  .clock-grid{grid-template-columns:1fr 1fr;}
  .clock-time{font-size:24.5px;}
}
@media (max-width:420px){
  .clock-grid{grid-template-columns:1fr;}
}

@media (max-width:900px){
  .dash-grid-wide{grid-template-columns:1fr 1fr;}
}
@media (max-width:720px){
  html, body{overflow-x:hidden; max-width:100%;}
  .shell{flex-direction:column; overflow-x:hidden; max-width:100vw;}
  .view{overflow-x:hidden;}
  .card, .stat-tile{min-width:0; max-width:100%;}
  .main{width:100%; min-width:0; max-width:100vw; overflow-x:hidden;}
  .view{padding:12px;}
  .topbar{padding:10px 12px; gap:8px;}
  .topbar-slogan{display:none;}
  .search-box{display:none;}
  .stat-grid{grid-template-columns:repeat(2,1fr) !important;}
  .dash-grid-2, .dash-grid-wide{grid-template-columns:1fr;}
  .dash-grid-4{grid-template-columns:1fr 1fr;}
  .page-head{margin-bottom:12px;}
  .page-head h1{font-size:20px;}
  .page-head p{font-size:14px;}
  .card.pad-lg{padding:14px;}
  .card{margin-bottom:12px !important;}
  .stat-grid{gap:8px; margin-bottom:14px;}
  .stat-tile{padding:11px 12px; gap:4px;}
  .stat-tile .icon{width:26px; height:26px; border-radius:8px;}
  .stat-tile .icon svg{width:14px; height:14px;}
  .stat-tile .num{font-size:22.5px;}
  .stat-tile .label{font-size:12.5px; line-height:1.25;}
  .stat-tile .trend{font-size:12px; padding:1px 5px;}
  .num{font-size:23.5px !important;}
  .section-title{font-size:14.5px;}
  .flex-between{flex-wrap:wrap;}
  .user-chip .name, .user-chip .role{display:none;}
  .avatar.lg{width:44px; height:44px; font-size:19px;}
}
@media (max-width:340px){
  .dash-grid-4{grid-template-columns:1fr;}
  .stat-grid{grid-template-columns:1fr !important;}
}

.file-tile-text{
  position:absolute; inset:0; padding:26px 9px 10px; overflow:hidden;
  background:#fff; color:#2a463e;
  font-size:7.5px; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere;
  font-family:var(--font-body); text-align:left;
  -webkit-mask-image:linear-gradient(to bottom, #000 62%, transparent 100%);
  mask-image:linear-gradient(to bottom, #000 62%, transparent 100%);
}

.period-nav{display:flex; align-items:center; gap:4px; border:1px solid var(--sky-line);
            border-radius:10px; padding:2px 4px; background:var(--paper);}
.period-nav-label{font-size:14px; font-weight:600; color:var(--ink); min-width:118px; text-align:center;}

.dep-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:10px;}
.dep-tile{display:flex; flex-direction:column; align-items:flex-start; gap:4px; text-align:left;
          border:1px solid var(--sky-line); background:var(--paper); border-radius:12px;
          padding:14px 16px; cursor:pointer; transition:border-color .12s, background .12s;}
.dep-tile:hover{border-color:var(--visa); background:var(--visa-soft);}
.dep-tile-name{font-weight:600; font-size:15px; color:var(--ink);}

.payroll-grand{display:flex; align-items:baseline; justify-content:space-between; gap:12px;
               border-top:1px solid var(--sky-line); margin-top:14px; padding-top:14px;
               font-size:15px; color:var(--slate);}
.payroll-grand b{font-family:var(--font-mono,monospace); font-size:20px; color:var(--ink);
                 font-variant-numeric:tabular-nums;}
.payroll-grand b + b{margin-left:14px;}

.table-scroll{overflow-x:auto; margin:0 -4px; padding:0 4px;}
.payroll-table{width:100%; border-collapse:collapse; font-size:14.5px;}
.payroll-table th{text-align:left; font-size:12.5px; font-weight:700; letter-spacing:.04em;
                  text-transform:uppercase; color:var(--slate-2); padding:0 10px 8px;
                  border-bottom:1px solid var(--sky-line); white-space:nowrap;}
.payroll-table td{padding:10px; border-bottom:1px solid var(--sky-line); vertical-align:middle;}
.payroll-table tbody tr:hover{background:var(--sky);}
.payroll-table tfoot td{border-bottom:none; border-top:2px solid var(--sky-line); padding-top:12px;}
.payroll-table .ta-right{text-align:right;}
.payroll-table .mono{font-family:var(--font-mono,monospace); font-variant-numeric:tabular-nums;}
.payroll-table tr.is-draft td{opacity:.62;}
.payroll-table td.is-manual{cursor:pointer; position:relative;}
.payroll-table td.is-manual:hover{background:var(--visa-soft);}
.cell-edit{opacity:0; margin-left:6px; vertical-align:middle; color:var(--visa);}
.cell-edit svg{width:13px; height:13px;}
.payroll-table td.is-manual:hover .cell-edit{opacity:1;}

.comp-row{border:1px solid var(--sky-line); border-radius:12px; padding:12px; margin-bottom:10px;
          background:var(--sky);}
.comp-row-head{display:flex; gap:8px; align-items:center; margin-bottom:10px;}
.comp-row-body{display:flex; gap:12px; align-items:flex-start; flex-wrap:wrap;}

.calc-line{display:flex; align-items:flex-start; justify-content:space-between; gap:14px;
           padding:10px 0; border-bottom:1px solid var(--sky-line);}
.calc-total{display:flex; align-items:baseline; justify-content:space-between; gap:14px;
            padding:16px 0 20px; font-size:15px; color:var(--slate);}
.calc-total b{font-family:var(--font-mono,monospace); font-size:29.5px; color:var(--ink);
              font-variant-numeric:tabular-nums;}
.client-chips{display:flex; flex-wrap:wrap; gap:6px;}
.chip{font-size:13px; background:var(--sky); border:1px solid var(--sky-line);
      border-radius:999px; padding:4px 10px; color:var(--ink-soft);}

.name-edit-ic{opacity:0; margin-left:8px; vertical-align:middle; color:var(--slate-2); transition:opacity .12s;}
.name-edit-ic svg{width:14px; height:14px;}
h1:hover .name-edit-ic{opacity:1;}

.ai-ask{border:1px solid var(--visa); background:var(--visa-soft); border-radius:12px;
        padding:14px 16px; margin-bottom:16px; font-size:14.5px;}
.ai-note{border:1px solid var(--sky-line); background:var(--sky); border-radius:12px;
         padding:12px 14px; margin-bottom:16px; font-size:14px; line-height:1.55; color:var(--ink-soft);}
.ai-note b{color:var(--ink);}

.principle-box{border-top:1px solid var(--sky-line); margin-top:14px; padding-top:14px;}
.principle-head{font-size:12.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
                color:var(--slate-2); margin-bottom:6px;}
.principle-text{font-size:14.5px; line-height:1.6; color:var(--ink-soft); white-space:pre-wrap;}

.calc-line.is-skipped{opacity:.5;}
.comp-row-who{border-top:1px dashed var(--sky-line); margin-top:10px; padding-top:10px;}

.req-row.is-archived{opacity:.55;}
.req-line{display:flex; align-items:baseline; gap:8px; margin-top:4px; font-size:14px; flex-wrap:wrap;}
.req-label{font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
           color:var(--slate-2); min-width:46px;}
.req-line .mono{font-family:var(--font-mono,monospace); letter-spacing:.02em; color:var(--ink);}
.req-copy{border:none; background:none; padding:0; font-size:12.5px; color:var(--visa);
          cursor:pointer; opacity:0; transition:opacity .12s;}
.req-row:hover .req-copy{opacity:1;}
.req-copy:hover{text-decoration:underline;}

.save-error{margin-top:8px; font-size:13px; line-height:1.5; color:var(--stamp);
            background:var(--stamp-soft); border-radius:8px; padding:8px 10px; max-width:520px;}

.shared-file-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(118px, 1fr)); gap:12px;}
.shared-file{cursor:default;}
.shared-file-sheet{
  position:relative; aspect-ratio:3/4; border:1px solid var(--sky-line); border-radius:10px;
  background:
    linear-gradient(var(--sky-line), var(--sky-line)) 12px 26% / calc(100% - 24px) 1px no-repeat,
    linear-gradient(var(--sky-line), var(--sky-line)) 12px 38% / calc(100% - 24px) 1px no-repeat,
    linear-gradient(var(--sky-line), var(--sky-line)) 12px 50% / calc(100% - 34px) 1px no-repeat,
    linear-gradient(var(--sky-line), var(--sky-line)) 12px 62% / calc(100% - 24px) 1px no-repeat,
    linear-gradient(var(--sky-line), var(--sky-line)) 12px 74% / calc(100% - 46px) 1px no-repeat,
    var(--paper);
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-card);
}
.shared-file-ext{
  font-size:11.5px; font-weight:700; letter-spacing:.06em; color:var(--visa);
  background:var(--visa-soft); border-radius:5px; padding:3px 7px;
}
.shared-file-exhibit{
  position:absolute; top:6px; left:6px; font-size:11.5px; font-weight:700; color:#fff;
  background:var(--ink-invert); border-radius:5px; padding:2px 6px; opacity:.85;
}
.shared-file-lock{position:absolute; bottom:6px; right:7px; color:var(--slate-2); opacity:.7;}
.shared-file-lock svg{width:12px; height:12px;}
.shared-file-name{
  font-size:12.5px; line-height:1.35; color:var(--ink-soft); margin-top:7px; text-align:center;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  overflow-wrap:anywhere;
}

.shared-file-sheet.has-thumb{background:var(--paper); overflow:hidden; padding:0;}
.shared-file-sheet.has-thumb img{
  width:100%; height:100%; object-fit:cover; object-position:top center;
  -webkit-user-drag:none; user-select:none; pointer-events:none;
}

.presence-filter{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:16px;}
.presence-tab{
  display:inline-flex; align-items:center; gap:7px; cursor:pointer;
  padding:7px 13px; border-radius:99px; font-size:14.5px; font-weight:600;
  color:var(--ink-2); background:var(--paper); border:1px solid var(--sky-line);
  transition:background .12s, color .12s, border-color .12s;
}
.presence-tab:hover{border-color:var(--ink-3);}
.presence-tab.on{background:var(--ink); color:var(--paper); border-color:var(--ink);}
.presence-count{
  font-size:13px; font-variant-numeric:tabular-nums; opacity:.7;
  padding:0 6px; border-radius:99px; background:rgba(12,37,29,.07);
}
.presence-tab.on .presence-count{background:rgba(255,255,255,.18); opacity:.9;}
.presence-tab .online-dot{position:static; width:8px; height:8px; border-width:0; box-shadow:none;}
.presence-sep{width:1px; align-self:stretch; background:var(--sky-line); margin:0 4px;}
.presence-tab--view{border-style:dashed;}
.presence-tab--view.on{border-style:solid;}

.dash-card-period-pop{
  position:absolute; top:44px; right:16px; z-index:20;
  background:var(--paper); border:1px solid var(--sky-line); border-radius:12px;
  box-shadow:0 8px 24px rgba(12,37,29,.12); padding:12px; min-width:260px;
}

.leader-section-tabs{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:16px;}
.leader-section-tab{
  display:inline-flex; align-items:center; cursor:pointer;
  padding:8px 16px; border-radius:99px; font-size:14px; font-weight:600;
  color:var(--ink-2); background:var(--paper); border:1px solid var(--sky-line);
  transition:background .12s, color .12s, border-color .12s;
}
.leader-section-tab:hover{border-color:var(--ink-3);}
.leader-section-tab.is-active{background:var(--ink); color:var(--paper); border-color:var(--ink);}

.dt-tile{width:56px; flex-shrink:0;}
.dt-tile .file-tile-name{display:none;}
.dt-tile .file-tile-thumb{height:72px;}

.ac-req{
  margin-top:4px; font-size:13px; line-height:1.55; color:var(--ink-2);
  font-family:var(--font-mono, ui-monospace, monospace);
  white-space:pre-wrap; overflow-wrap:anywhere;
}

.req-full{margin-top:6px;}
.req-full summary{cursor:pointer; font-size:12.5px; color:var(--ink-3); user-select:none;}
.req-full summary:hover{color:var(--ink-2);}
.req-raw{
  margin-top:6px; padding:8px 10px; border-radius:8px;
  background:var(--sky); border:1px solid var(--sky-line);
  font-family:var(--font-mono, ui-monospace, monospace); font-size:12.5px; line-height:1.55;
  white-space:pre-wrap; overflow-wrap:anywhere; color:var(--ink-2);
}

.questionnaire-box{
  width:100%; resize:vertical; min-height:210px; line-height:1.7;
  font-family:var(--font-body); font-size:15px; padding:14px 16px;
}

.task-deadline{
  display:inline-flex; align-items:center; gap:7px; margin-top:10px;
  padding:9px 13px; border-radius:11px; border:1px solid var(--sky-line);
  background:linear-gradient(180deg, var(--paper), var(--sky));
  color:var(--ink); box-shadow:0 2px 8px color-mix(in srgb, var(--ink) 6%, transparent);
  font-size:14px; font-weight:750; font-variant-numeric:tabular-nums; line-height:1.2;
  letter-spacing:-.01em;
}
.task-deadline svg{width:15px; height:15px; flex-shrink:0; opacity:.75;}
.task-deadline.is-soon{color:var(--amber); font-weight:800; background:var(--amber-soft); border-color:var(--amber); box-shadow:0 2px 10px color-mix(in srgb, var(--amber) 22%, transparent);}
.task-deadline.is-over{color:var(--stamp); font-weight:800; background:var(--stamp-soft); border-color:var(--stamp); box-shadow:0 2px 10px color-mix(in srgb, var(--stamp) 22%, transparent);}
.task-deadline.is-done{color:var(--good); background:var(--good-soft); border-color:var(--good); box-shadow:none;}

.doc-bar{display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:16px;}
.doc-row:hover{background:var(--sky);}

.doc-top{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  padding:10px 14px; margin-bottom:12px;
  background:var(--paper); border:1px solid var(--sky-line); border-radius:12px;
}
.doc-title{
  flex:1; min-width:200px; max-width:420px;
  font-weight:600; font-size:16px; border:1px solid transparent; background:transparent;
  padding:6px 8px; border-radius:8px;
}
.doc-title:hover{border-color:var(--sky-line);}
.doc-title:focus{border-color:var(--visa); background:var(--paper);}

.doc-save{font-size:13px; font-weight:600; white-space:nowrap;}
.doc-save.is-idle{color:var(--ink-3);}
.doc-save.is-dirty{color:var(--amber);}
.doc-save.is-saving{color:var(--ink-2);}
.doc-save.is-saved{color:var(--good);}
.doc-save.is-conflict, .doc-save.is-error{color:var(--stamp);}

.doc-note{
  margin-bottom:12px; padding:10px 14px; border-radius:10px; font-size:14px; line-height:1.55;
  background:var(--stamp-soft, #fdecec); color:var(--stamp); border:1px solid currentColor;
}
.doc-note.is-soft{background:var(--sky); color:var(--ink-2); border-color:var(--sky-line);}

.doc-page{
  background:var(--sky-deep); border:1px solid var(--sky-line); border-radius:12px;
  padding:0 0 28px;
}
.doc-sheet-scroll{overflow-x:auto; overflow-y:hidden;}
.doc-page .ql-toolbar{border:none; border-bottom:1px solid var(--sky-line); position:sticky; top:0; background:var(--paper); z-index:5;}
.doc-page .ql-container{border:none; font-family:var(--font-body); font-size:15px;}
.doc-page .ql-container{background:var(--sky-deep); padding:24px 0 0;}
.doc-page .ql-editor{
  width:210mm; min-height:297mm; margin:0 auto; padding:20mm;
  background:#fff; color:#111; border-radius:2px; box-shadow:0 2px 16px rgba(12,37,29,.16);
  font-family:'Times New Roman', Times, serif; font-size:15px; line-height:1.5;
}
.doc-page .ql-editor table{border-collapse:collapse; width:100%;}
.doc-page .ql-editor td, .doc-page .ql-editor th{border:1px solid var(--sky-line); padding:6px 8px;}

.doc-page .tt-toolbar{border-bottom:1px solid var(--sky-line); position:sticky; top:-28px; background:var(--paper); z-index:5;
  border-radius:12px 12px 0 0;}
@media (max-width:720px){ .doc-page .tt-toolbar{top:-12px;} }
.doc-page .tt-editor{
  width:var(--doc-page-w, 210mm); min-height:var(--doc-sheet-min, var(--doc-page-h, 297mm)); margin:24px auto 0;
  padding:var(--doc-mt, 20mm) var(--doc-mr, 20mm) var(--doc-mb, 20mm) var(--doc-ml, 20mm);
  background:var(--doc-page-bg, #fff); color:#111; border-radius:2px; box-shadow:0 2px 16px rgba(12,37,29,.16);
  font-family:'Times New Roman', Times, serif; font-size:15px; line-height:1.5;
}

.doc-page .tt-editor h1, .doc-page .tt-editor h2, .doc-page .tt-editor h3{color:inherit;}

.doc-page-gap{display:block; position:relative; user-select:none; pointer-events:none;
  margin-left:calc(-1 * var(--doc-ml, 20mm)); margin-right:calc(-1 * var(--doc-mr, 20mm));}
.doc-page-gap-band{position:relative; left:-24px; width:calc(100% + 48px); background:var(--sky-deep);
  box-shadow:inset 0 6px 6px -6px rgba(12,37,29,.18), inset 0 -6px 6px -6px rgba(12,37,29,.18);}

.doc-page-guides{position:absolute; inset:0; pointer-events:none; z-index:4;}
.doc-page-edge{position:absolute; height:0; margin-top:0;
  border-top:1px dashed var(--visa, #36d1a4);
  display:flex; align-items:flex-start; justify-content:flex-end;
  pointer-events:none;}
.doc-page-edge-chip{transform:translateY(-50%); background:var(--paper, #fff); color:var(--ink-2, #5b8074);
  box-shadow:0 0 0 3px var(--paper, #fff);
  font:500 10.5px/1 var(--font-body, system-ui, sans-serif); letter-spacing:.02em;
  padding:3px 7px; border-radius:999px; border:1px solid var(--sky-line, #d6eae4); margin-right:6px;}

.pr-kpi-table{width:100%; border-collapse:collapse; font-size:12.5px;}
.pr-kpi-table th{text-align:center; font-weight:600; color:var(--slate); padding:6px 8px; vertical-align:bottom; border-bottom:2px solid var(--sky-line); font-family:var(--font-body);}
.pr-kpi-table th:first-child, .pr-kpi-table td.pr-kpi-name{text-align:left; font-family:var(--font-body);}
.pr-kpi-table td{text-align:center; padding:6px 8px; border-top:1px solid var(--sky-line);}
.pr-kpi-input{width:56px; height:28px; text-align:center; padding:2px 4px; font:inherit;}
.pr-kpi-pts{font-weight:700; font-size:14px; color:var(--ink);}
.pr-kpi-total{font-size:16px;}
.crit-closed-date{border:1px solid var(--sky-line); background:transparent; border-radius:999px; padding:2px 9px; font:inherit; font-size:11.5px; color:var(--ink-soft); cursor:pointer;}
.crit-closed-date:disabled{cursor:default;}
.crit-closed-date:not(:disabled):hover{border-color:var(--visa); color:var(--visa);}
.article-count{display:grid; grid-template-columns:40px 1fr 40px; gap:8px;}
.article-count input{text-align:center;}
.article-row{display:grid; grid-template-columns:30px 1fr 132px; gap:6px; align-items:center; margin-bottom:6px;}
.article-no{height:100%; min-height:34px; border-radius:9px; background:var(--visa-soft); color:var(--visa-ink); font-weight:700; display:grid; place-items:center;}
.article-link{display:flex; align-items:center; gap:8px; border:1px solid var(--sky-line); border-radius:9px; padding:6px 10px; margin-bottom:6px; font-size:12.5px;}
.article-deadline{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.article-link a{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--visa);}
.article-brief{display:flex; align-items:center; flex-wrap:wrap; gap:8px 10px; border:1px solid var(--sky-line); border-radius:9px; padding:8px 10px;}
.article-brief__main{flex:1; min-width:160px; display:flex; flex-direction:column; gap:2px; font-size:13px;}
.article-brief__main .hint{margin:0;}
.article-brief__inc{display:flex; align-items:center; gap:6px; font-size:12.5px; margin:0; white-space:nowrap;}
.pr-kpi-table th + th, .pr-kpi-table td + td{border-left:1px solid var(--sky-line);}
.pr-kpi-table tbody tr:nth-child(even){background:color-mix(in srgb, var(--sky) 45%, transparent);}
.pr-kpi-table tbody tr{border-bottom:1px solid var(--sky-line);}
.pr-kpi-table td{padding:10px 8px;}
.pr-kpi-table td.pr-kpi-name{font-weight:600;}

.pr-review-chip{margin-left:8px; border:1px solid var(--sky-line); background:var(--paper); border-radius:999px;
  padding:2px 10px; font:inherit; font-size:12px; font-weight:700; cursor:pointer; color:var(--ink);}
.pr-review-chip.is-good{border-color:#16A335; color:#15803d;}
.pr-review-chip.is-mid{border-color:#d97706; color:#b45309;}
.pr-review-chip.is-low{border-color:var(--stamp); color:var(--stamp);}
.pr-review-opts{display:flex; flex-wrap:wrap; gap:6px;}
.pr-review-opt{border:1px solid var(--sky-line); background:var(--paper); color:var(--ink); border-radius:8px;
  padding:6px 10px; font:inherit; font-size:13px; cursor:pointer;}
.pr-review-opt:disabled{cursor:default; opacity:.75;}
.pr-review-opt.on{background:var(--visa); border-color:var(--visa); color:#fff;}
.pr-review-opt.is-no.on{background:var(--stamp); border-color:var(--stamp);}
.pr-review-q{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 0;
  border-top:1px solid var(--sky-line); font-size:13.5px;}
.pr-review-yn{display:inline-flex; gap:6px; flex-shrink:0;}
.pr-review-total{margin-top:10px; padding:10px 12px; border-radius:10px; background:var(--sky); font-size:14px;}
@media (max-width:720px){ .pr-review-q{flex-direction:column; align-items:flex-start;} }

.doc-lib-folders{display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:0 0 12px;}
.doc-lib-folder{display:inline-flex; align-items:center; gap:6px; height:32px; padding:0 12px; border-radius:999px;
  border:1px solid var(--sky-line); background:var(--paper); color:var(--ink); font:inherit; font-size:13px; cursor:pointer;}
.doc-lib-folder:hover{border-color:var(--visa);}
.doc-lib-folder.on{background:var(--visa-soft, var(--sky)); border-color:var(--visa); color:var(--visa); font-weight:600;}
.doc-lib-folder-act{display:inline-flex; width:20px; height:20px; padding:0; border:0; background:none; color:inherit; cursor:pointer; opacity:.7;}
.doc-lib-folder-act:hover{opacity:1;}
.doc-lib-folder-act svg{width:14px; height:14px;}
.doc-card-folder{margin-top:8px; width:100%; height:30px; font-size:12.5px;}

.doc-ruler{flex-basis:100%; position:relative; height:24px; margin:2px -14px -10px; border-top:1px solid var(--sky-line);
  background:var(--sky-deep); overflow:hidden; user-select:none;}
.doc-ruler[hidden], .doc-vruler[hidden]{display:none;}
.rl-track{position:absolute; top:3px; height:18px; background:#dfece8;}
.rl-paper{position:absolute; top:0; bottom:0; background:#fff;}
.rl-scale{position:absolute; inset:0; pointer-events:none;}
.rl-tick{position:absolute; bottom:0; width:1px; height:3px; background:#8aa89f;}
.rl-tick.is-half{height:6px;}
.rl-tick.is-cm{height:0;}
.rl-num{position:absolute; top:2px; transform:translateX(-50%); font:500 9.5px/1 var(--font-body, system-ui, sans-serif); color:#5b8074;}
.rl-margin{position:absolute; top:0; bottom:0; width:12px; margin-left:-6px; cursor:ew-resize; z-index:1; touch-action:none;}
.rl-margin::before{content:''; position:absolute; left:5px; top:2px; bottom:2px; width:2px; border-radius:1px; background:rgba(54,209,164,.4);}
.rl-margin:hover::before{background:var(--visa, #36d1a4);}
.rl-marker{position:absolute; width:16px; margin-left:-8px; cursor:ew-resize; z-index:2; touch-action:none;}
.rl-marker[hidden]{display:none;}
.rl-left, .rl-right{bottom:0; height:11px;}
.rl-left::before, .rl-right::before{content:''; position:absolute; left:3px; bottom:1px; width:10px; height:8px;
  background:var(--visa, #36d1a4); clip-path:polygon(50% 0, 100% 100%, 0 100%);}
.rl-first{top:0; height:8px;}
.rl-first::before{content:''; position:absolute; left:2px; top:1px; width:12px; height:5px; border-radius:1px; background:var(--visa, #36d1a4);}
.rl-marker:hover::before{filter:brightness(1.3);}
.doc-vruler{position:absolute; width:18px; background:#dfece8; z-index:3; user-select:none; border-radius:2px;}
.doc-vruler .rl-paper{left:0; right:0; top:auto; bottom:auto;}
.doc-vruler .rl-tick{left:auto; right:0; bottom:auto; height:1px; width:3px;}
.doc-vruler .rl-tick.is-half{width:6px; height:1px;}
.doc-vruler .rl-num{top:auto; left:3px; transform:translateY(-50%);}
.doc-vruler .rl-margin{left:0; right:0; top:auto; bottom:auto; width:auto; height:12px; margin:-6px 0 0; cursor:ns-resize;}
.doc-vruler .rl-margin::before{left:2px; right:2px; top:5px; bottom:auto; width:auto; height:2px;}
.doc-ruler-guide{position:absolute; z-index:6; pointer-events:none; border-left:1px dashed var(--visa, #36d1a4);}
.doc-ruler-guide.is-vertical{border-left:0; border-top:1px dashed var(--visa, #36d1a4);}
.doc-ruler-tip{position:absolute; z-index:7; pointer-events:none; background:#1f3a32; color:#fff; border-radius:6px;
  padding:3px 7px; font:500 11px/1.3 var(--font-body, system-ui, sans-serif); white-space:nowrap;}
.doc-ruler-guide[hidden], .doc-ruler-tip[hidden]{display:none;}

.page-setup-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px 12px;}
.page-setup-grid label{display:flex; flex-direction:column; gap:4px; font-size:13px; color:var(--ink-2);}
.page-setup-grid input{width:100%;}

.fill-overlay{position:fixed; inset:0; z-index:700;   background:rgba(12,37,29,.52);
  backdrop-filter:blur(5px); display:flex; flex-direction:column; padding:24px 16px;}
.fill-shell{width:100%; max-width:1160px; margin:auto; display:flex; flex-direction:column;
  height:min(90vh, 1040px); max-height:calc(var(--vh100) - 32px);
  background:var(--paper); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-pop); overflow:hidden;}
.fill-head{display:flex; align-items:flex-start; gap:16px; padding:22px 28px 16px;
  border-bottom:1px solid var(--sky-line);}
.fill-head h3{font-size:21px; line-height:1.25; margin-bottom:4px;}
.fill-head .hint{font-size:14px; line-height:1.5;}
.fill-scroll{flex:1; overflow-y:auto; background:var(--sky-deep); padding:26px 16px 32px;}
.fill-sheet{max-width:none; margin:0 auto; min-height:100%; background:transparent;
  border:1px solid var(--sky-line); border-radius:var(--radius-md);
  box-shadow:0 4px 14px rgba(12,37,29,.07), 0 1px 3px rgba(12,37,29,.05); overflow:hidden;}
.fill-sheet .ql-toolbar.ql-snow{border:none; border-bottom:1px solid var(--sky-line);
  background:var(--paper); position:sticky; top:0; z-index:2; padding:9px 14px;}
.fill-sheet .ql-container.ql-snow{border:none; font-family:var(--font-body);}
.fill-sheet .ql-editor{width:210mm; min-height:297mm; margin:0 auto; padding:20mm; background:#fff; color:#111; border-radius:2px; box-shadow:0 2px 16px rgba(12,37,29,.16); font-family:'Times New Roman', Times, serif; font-size:15px; line-height:1.5;
  color:var(--ink);}
.fill-sheet .ql-editor.ql-blank::before{color:var(--slate-2); font-style:normal; left:40px;}
.fill-sheet .ql-editor h1{font-size:23.5px; margin:0 0 12px;}
.fill-sheet .ql-editor h2{font-size:19px; margin:20px 0 8px;}
.fill-sheet .ql-editor h3{font-size:16.5px; margin:16px 0 6px;}
.fill-sheet .ql-editor p{margin:0 0 12px;}
.fill-sheet .tt-toolbar{border:none; border-bottom:1px solid var(--sky-line);
  background:var(--paper); position:sticky; top:0; z-index:2; padding:9px 14px;}
.fill-sheet .tt-editor{width:210mm; min-height:297mm; margin:0 auto; padding:20mm; background:#fff; color:#111; border-radius:2px; box-shadow:0 2px 16px rgba(12,37,29,.16); font-family:'Times New Roman', Times, serif; font-size:15px; line-height:1.5;}
.fill-sheet .tt-editor h1{font-size:23.5px; margin:0 0 12px;}
.fill-sheet .tt-editor h2{font-size:19px; margin:20px 0 8px;}
.fill-sheet .tt-editor h3{font-size:16.5px; margin:16px 0 6px;}
.fill-sheet .tt-editor p{margin:0 0 12px;}
.overlay.over-doc{z-index:760;}
.scroll-locked{overflow:hidden !important;}

.fill-read{min-height:52vh; padding:34px 40px 44px; font-size:16px; line-height:1.75; color:var(--ink);}
.fill-read h1{font-size:23.5px; margin:0 0 12px;}
.fill-read h2{font-size:19px; margin:20px 0 8px;}
.fill-read h3{font-size:16.5px; margin:16px 0 6px;}
.fill-read p{margin:0 0 12px;}
.fill-read ul,.fill-read ol{margin:0 0 12px; padding-left:22px;}
.fill-read table{border-collapse:collapse; width:100%; margin:12px 0;}
.fill-read td,.fill-read th{border:1px solid var(--sky-line); padding:6px 9px;}
@media (max-width:640px){ .fill-read{padding:22px 20px 30px;} }

.fill-foot{display:flex; align-items:center; gap:12px; padding:14px 28px;
  border-top:1px solid var(--sky-line); background:var(--paper);}
.fill-state{margin-right:auto; font-size:14px; font-weight:600; display:flex; align-items:center; gap:6px;}
.fill-state.is-saved{color:var(--good);}
.fill-state.is-dirty{color:var(--slate-2);}
.fill-state.is-error{color:var(--stamp);}
@media (max-width:640px){
  .fill-overlay{padding:0;}
  .fill-shell{max-height:var(--vh100); height:var(--vh100); border-radius:0;}
  .fill-head{padding:16px 18px 12px;}
  .fill-scroll{padding:14px 10px 20px;}
  .fill-sheet .ql-editor{padding:22px 20px 30px;}
  .fill-foot{padding:12px 18px;}
}

.shared-doc-body{max-width:720px; margin:0 auto; line-height:1.7; font-size:15px; color:var(--ink);}
.shared-doc-body h1,.shared-doc-body h2,.shared-doc-body h3{margin:18px 0 8px; line-height:1.3;}
.shared-doc-body p{margin:0 0 10px;}
.shared-doc-body table{border-collapse:collapse; width:100%; margin:12px 0;}
.shared-doc-body td,.shared-doc-body th{border:1px solid var(--sky-line); padding:6px 9px;}

.doc-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:16px;}
.doc-card{border:1px solid var(--sky-line); border-radius:12px; overflow:hidden; background:var(--paper);
  transition:border-color .12s, transform .12s;}
.doc-card:hover{border-color:var(--ink-3); transform:translateY(-1px);}
.doc-card-sheet{position:relative; height:190px; overflow:hidden; cursor:pointer;
  background:#fff; border-bottom:1px solid var(--sky-line);}
.doc-card-preview{
  transform:scale(.52); transform-origin:top left; width:192%;
  padding:18px 22px; color:#1e322c; font-size:14.5px; line-height:1.55; pointer-events:none;
}
.doc-card-preview h1,.doc-card-preview h2,.doc-card-preview h3{margin:8px 0 5px; line-height:1.25;}
.doc-card-preview p{margin:0 0 7px;}
.doc-card-preview table{border-collapse:collapse; width:100%;}
.doc-card-preview td,.doc-card-preview th{border:1px solid #d6e6e2; padding:3px 5px;}
.doc-card-empty{color:var(--ink-3); font-style:italic;}
.doc-card-fade{position:absolute; left:0; right:0; bottom:0; height:52px;
  background:linear-gradient(to bottom, rgba(255,255,255,0), #fff);}
.crit-doc{cursor:pointer; min-width:0;}
.crit-doc-sheet{position:relative; height:150px; overflow:hidden; background:#fff;
  border:1px solid var(--sky-line); border-radius:10px; box-shadow:var(--shadow-card);
  transition:border-color .12s, transform .12s, box-shadow .12s;}
.crit-doc:hover .crit-doc-sheet{border-color:var(--visa); transform:translateY(-1px); box-shadow:var(--shadow-pop);}
.crit-doc-preview{transform:scale(.46); transform-origin:top left; width:217%;
  padding:14px 18px; color:#1e322c; font-size:14.5px; line-height:1.55; pointer-events:none;}
.crit-doc-preview h1,.crit-doc-preview h2,.crit-doc-preview h3{margin:7px 0 4px; line-height:1.25;}
.crit-doc-preview p{margin:0 0 6px;}
.crit-doc-name{font-size:13px; font-weight:600; margin-top:6px; line-height:1.3;
  overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
.crit-doc-tag{font-size:12px; font-weight:600; color:var(--amber);}

.doc-card-body{padding:11px 13px 13px;}
.doc-card-title{font-weight:600; font-size:14.5px; cursor:pointer; margin-bottom:3px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.doc-card-tags{display:flex; gap:4px; flex-wrap:wrap; margin-top:7px;}
.doc-card-actions{display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-top:10px;}

.call-ev{cursor:pointer; background:var(--visa-soft); color:var(--visa-ink);}
.call-ev b{font-family:var(--font-mono,monospace); font-weight:600;}
.call-ev.is-past{background:var(--sky); color:var(--ink-soft); opacity:.7;}

.call-next{border-left:3px solid var(--visa);}
.call-when{font-size:14px; font-weight:600; color:var(--ink-3); font-variant-numeric:tabular-nums;}
.call-when.is-soon{color:var(--amber);}
.call-when.is-live{color:var(--good);}
.call-when.is-past{color:var(--ink-3);}
.call-title{font-size:20px; font-weight:700; margin-top:3px; line-height:1.25;}
.call-client{color:var(--visa);font-weight:800;white-space:nowrap;margin-left:.3em;}
.call-client.is-link{cursor:pointer;text-decoration:underline;text-underline-offset:3px;}

.client-picked{display:flex; align-items:center; gap:10px; padding:8px 11px;
  background:var(--sky); border:1px solid var(--sky-line); border-radius:9px;}
.client-hits{margin-top:6px; border:1px solid var(--sky-line); border-radius:9px; overflow:hidden;}
.client-hit{display:flex; justify-content:space-between; align-items:center; gap:10px;
  width:100%; padding:9px 12px; background:var(--paper); border:none; cursor:pointer;
  font-size:14.5px; text-align:left; border-bottom:1px solid var(--sky-line);}
.client-hit:last-child{border-bottom:none;}
.client-hit:hover{background:var(--sky);}

.questionnaire-text{
  white-space:pre-wrap; line-height:1.75; font-size:15px; color:var(--ink);
  max-width:760px;
}

.amount-hint{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:6px 0 0;
  padding:7px 10px; border-radius:9px; background:var(--amber-soft);
  font-size:12.5px; line-height:1.45; color:var(--ink);
}
.amount-hint b{color:var(--stamp);}
.amount-hint__fix{
  border:1px solid var(--amber); background:var(--paper); color:var(--amber);
  border-radius:999px; padding:3px 10px; font-size:12px; font-weight:700; cursor:pointer;
  white-space:nowrap;
}
.amount-hint__fix:hover{background:var(--amber); color:#fff;}


.fault-pick{display:inline-flex; gap:8px; flex-wrap:wrap;}
.fault-pick--bar{margin-right:10px;}
.fault-opt{
  padding:8px 16px; border:1px solid var(--sky-line); border-radius:999px; cursor:pointer;
  background:var(--paper); color:var(--slate); font-size:13px; font-weight:600;
  transition:background .15s, border-color .15s, color .15s;
}
.fault-opt:hover{border-color:var(--amber);}
.fault-opt.active{background:var(--amber-soft); border-color:var(--amber); color:var(--amber);}
.fault-opt--us:hover{border-color:var(--stamp);}
.fault-opt--us.active{background:var(--stamp-soft); border-color:var(--stamp); color:var(--stamp);}
.fault-opt--wrong:hover{border-color:var(--slate);}
.fault-opt--wrong.active{background:var(--sky); border-color:var(--slate); color:var(--ink);}
.pill-sm{font-size:11px; padding:2px 8px;}

.longtext{position:relative;}
.longtext-body{position:relative; overflow:hidden;}
.longtext-body.is-collapsed::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:96px; pointer-events:none;
  background:linear-gradient(to bottom, transparent, var(--paper) 88%);
}
.longtext-more{
  display:inline-flex; align-items:center; gap:6px; margin-top:10px; padding:7px 14px;
  border:1px solid var(--sky-line); border-radius:999px; background:var(--paper);
  color:var(--visa); font-size:13px; font-weight:600; cursor:pointer;
  transition:background .15s, border-color .15s;
}
.longtext-more:hover{background:var(--sky); border-color:var(--visa);}

.longtext-modes{display:inline-flex; gap:2px; margin-bottom:12px; padding:2px;
  background:var(--sky); border-radius:999px;}
.longtext-mode{
  padding:5px 12px; border:none; border-radius:999px; background:transparent; cursor:pointer;
  font-size:12px; font-weight:600; color:var(--slate); transition:background .15s, color .15s;
}
.longtext-mode.active{background:var(--paper); color:var(--ink); box-shadow:var(--shadow-sm);}

.lt-head{
  font-weight:700; font-size:14px; color:var(--ink); margin:20px 0 8px;
  padding-left:11px; border-left:3px solid var(--visa); line-height:1.4;
}
.lt-head:first-child{margin-top:0;}
.lt-pair{display:grid; grid-template-columns:minmax(150px, 230px) 1fr; gap:6px 18px;
  padding:9px 0; border-bottom:1px solid var(--sky-line); align-items:baseline;}
.lt-pair:last-child{border-bottom:none;}
.lt-pair--cont{padding-top:0; border-top:none; margin-top:-4px;}
.qa-list{display:flex; flex-direction:column;}
.qa-item{padding:16px 0; border-bottom:1px solid var(--sky-line);}
.qa-item:last-child{border-bottom:none; padding-bottom:4px;}
.qa-q{font-size:13.5px; font-weight:600; line-height:1.5; color:var(--ink); white-space:pre-line;}
.qa-hint{
  margin:6px 0 0; padding-left:11px; border-left:2px solid var(--sky-line);
  font-size:12.5px; line-height:1.5; color:var(--slate-2); white-space:pre-line;
}
.qa-a{
  display:block; width:100%; margin-top:8px; padding:7px 10px;
  border:1px solid transparent; border-radius:9px; background:transparent;
  font-family:inherit; font-size:13px; line-height:1.55; color:var(--ink);
  resize:none; overflow:hidden; transition:background .12s, border-color .12s;
}
.qa-a:hover{background:var(--sky);}
.qa-a:focus{background:var(--sky); border-color:var(--sky-line); outline:none;}
.qa-a::placeholder{color:var(--slate-2); opacity:.7;}
.qa-pairs{margin-top:8px; display:flex; flex-direction:column; gap:1px;}
.qa-pair{
  display:grid; grid-template-columns:minmax(120px, 290px) 1fr; gap:4px 16px;
  padding:5px 10px; border-radius:7px;
}
.qa-pair:nth-child(odd){background:var(--sky-soft, rgba(0,0,0,.015));}
.qa-pair__k{font-size:12px; line-height:1.45; color:var(--slate-2);}
.qa-pair__v{font-size:13px; line-height:1.45; color:var(--ink); white-space:pre-wrap; word-break:break-word;}
.qa-pair__v--empty{color:var(--slate-2);}
.qa-short{display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:8px;}
.qa-short__val{
  padding:4px 12px; border-radius:999px; font-size:13px; font-weight:600;
  background:var(--sky); color:var(--ink);
}
.qa-short__val--empty{background:transparent; color:var(--slate-2); font-weight:400; padding-left:0;}
.qa-short__edit{
  background:none; border:0; padding:0; cursor:pointer; font:inherit; font-size:12px;
  color:var(--visa); text-decoration:underline; align-self:flex-start; margin-top:6px;
}
@media (max-width:700px){
  .qa-pair{grid-template-columns:1fr; gap:2px; padding:7px 10px;}
  .qa-pair__k{font-size:11.5px;}
}
.dash-note{
  display:flex; align-items:baseline; gap:10px; flex-wrap:wrap;
  margin:10px 0 0; padding:9px 13px; border-radius:0 8px 8px 0;
  border-left:3px solid var(--amber, #e0a020);
  background:var(--amber-soft, rgba(255,176,32,.10));
  font-size:13px; line-height:1.5;
}
.dash-note__key{flex:0 0 auto; font-weight:700; color:var(--ink);}
.dash-note__val{flex:1; min-width:160px; color:var(--ink-2, var(--ink));}
.positioning{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  margin:0 0 14px; padding:11px 14px;
  border-left:3px solid var(--visa); border-radius:3px;
  background:var(--sky-soft, rgba(0,0,0,.02));
}
.positioning--empty{border-left-color:var(--sky-line); background:transparent;}
.positioning__key{
  flex:0 0 auto; font-size:12px; font-weight:600; color:var(--visa);
  text-transform:uppercase; letter-spacing:.02em;
}
.positioning--empty .positioning__key{color:var(--slate);}
.intake-row{display:grid; grid-template-columns:200px 1fr; gap:14px; padding:12px 0; border-top:1px solid var(--sky-line);}
.intake-row__key{font-size:11.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--visa); border-left:3px solid var(--visa); padding-left:8px; align-self:start;}
.intake-row__sub{font-size:10.5px; font-weight:500; text-transform:none; letter-spacing:0; color:var(--ink-soft); margin-top:2px;}
.intake-row__val{min-width:0; font-size:13.5px;}
.intake-row__hint{font-size:11.5px; color:var(--ink-soft); margin-top:4px;}
.intake-pre{white-space:pre-wrap; overflow-wrap:anywhere;}
.intake-row--lawyer,.intake-row--wish,.intake-row--missing,.intake-row--new{border:1px solid var(--sky-line); border-radius:10px; padding:10px 12px; margin:6px 0;}
.intake-row--lawyer{border:1px dashed var(--good); background:color-mix(in srgb, var(--good) 6%, transparent);}
.intake-row--lawyer .intake-row__key{color:var(--good); border-left-color:var(--good);}
.intake-row--wish{border-color:var(--visa); background:color-mix(in srgb, var(--visa) 6%, transparent);}
.intake-row--missing{border-color:var(--stamp); background:color-mix(in srgb, var(--stamp) 6%, transparent);}
.intake-row--missing .intake-row__key{color:var(--stamp); border-left-color:var(--stamp);}
.intake-row--new{border-color:var(--amber); background:color-mix(in srgb, var(--amber) 8%, transparent);}
.intake-row--new .intake-row__key{color:var(--ink); border-left-color:var(--amber);}
.intake-table{width:100%; border-collapse:collapse; font-size:13px; table-layout:fixed;}
.intake-table tr > :first-child{width:36%;}
.intake-table tr > :nth-child(2):nth-last-child(3){width:150px;}
.intake-table tr > :nth-child(4):last-child{width:14%;}
.intake-table th{font-size:11px; font-weight:600; color:var(--ink-soft); text-align:left; padding:4px 6px;}
.intake-table td{padding:6px; border-top:1px solid var(--sky-line); vertical-align:top;}
.intake-sum{margin-top:8px; font-weight:700; font-size:13px;}
.intake-edit textarea,.intake-edit input{width:100%; min-width:0;}
.intake-grid3{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px;}
.intake-grid4{display:grid; grid-template-columns:110px repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:6px;}
.intake-crit{display:grid; grid-template-columns:minmax(0,1.2fr) auto minmax(0,1.4fr) minmax(0,1fr); gap:8px; align-items:center; padding:6px 0; border-top:1px dashed var(--sky-line);}
.intake-crit__st{display:flex; gap:4px; flex-wrap:wrap;}
.intake-newdetail{display:grid; gap:6px; margin-top:6px;}
@media (max-width: 720px){
  .intake-row{grid-template-columns:1fr; gap:6px;}
  .intake-grid3,.intake-grid4,.intake-crit{grid-template-columns:1fr;}
  .intake-table{display:block; overflow-x:auto;}
}
.positioning__val{flex:1; min-width:140px; font-size:16px; font-weight:600; color:var(--ink); line-height:1.45;}
.positioning__val .hint{font-size:13px; font-weight:400;}
.positioning__input{flex:1; min-width:200px; min-height:40px;}
@media (max-width:700px){
  .positioning{gap:6px 10px;}
  .positioning__val, .positioning__input{flex:1 0 100%;}
}
.lt-key{font-size:12px; font-weight:600; color:var(--slate); text-transform:uppercase; letter-spacing:.02em;}
.lt-val{font-size:15px; line-height:1.65; color:var(--ink); white-space:pre-wrap;}
.lt-p{font-size:15px; line-height:1.75; color:var(--ink); margin:0 0 12px; white-space:pre-wrap; max-width:760px;}
.lt-item{
  position:relative; padding-left:26px; margin:0 0 8px; font-size:15px; line-height:1.65;
  color:var(--ink); white-space:pre-wrap; max-width:760px;
}
.lt-item::before{
  content:'✓'; position:absolute; left:4px; top:0; color:var(--good); font-weight:700; font-size:13px;
}
@media (max-width:640px){ .lt-pair{grid-template-columns:1fr; gap:2px; padding:8px 0;} }

.questionnaire-files{margin-top:16px; padding-top:14px; border-top:1px solid var(--sky-line);}

.task-doc{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:8px;
  padding:8px 10px; border:1px solid var(--sky-line); border-radius:9px; background:var(--paper);}
.task-doc svg{width:15px; height:15px; flex-shrink:0;}
.task-doc-name{font-size:14px; font-weight:600; min-width:0;}
.task-doc.is-template{border-color:var(--amber); background:var(--amber-soft, #fff8e8);}
.task-doc-tag{font-size:12.5px; font-weight:700; color:var(--amber); text-transform:uppercase; letter-spacing:.03em;}

.xlsx-preview { width:100%; height:100%; background:var(--paper); border-radius:8px;
                overflow:auto; padding:18px; }
.xlsx-preview .xlsx-sheet + .xlsx-sheet { margin-top:26px; }
.xlsx-preview h4 { font-family:var(--font-display); font-size:15px; font-weight:700;
                   color:var(--ink); margin:0 0 10px; }
.xlsx-preview .xlsx-scroll { overflow-x:auto; border:1px solid var(--sky-line); border-radius:8px; }
.xlsx-table { border-collapse:collapse; font-size:14px; font-family:var(--font-body);
              min-width:100%; white-space:pre-wrap; }
.xlsx-table th, .xlsx-table td { border:1px solid var(--sky-line); padding:6px 10px;
              text-align:left; vertical-align:top; max-width:420px; overflow-wrap:anywhere;
              min-width:72px; }
.xlsx-table th { background:var(--sky); font-weight:600; color:var(--ink);
                 position:sticky; top:0; z-index:1; }
.xlsx-table tbody tr:nth-child(even) { background:color-mix(in srgb, var(--sky) 45%, transparent); }

.xlsx-table tbody tr.xlsx-group > td { background:var(--sky); font-weight:700; color:var(--ink);
              border-top:2px solid var(--visa); font-size:14.5px; padding-top:9px; padding-bottom:9px; }
.xlsx-table tbody tr.xlsx-group > td:empty { border-left-color:transparent; }
.xlsx-table tbody tr.xlsx-spacer > td { height:10px; padding:0;
              background:color-mix(in srgb, var(--sky) 30%, transparent);
              border-left-color:transparent; border-right-color:transparent; }
.xlsx-preview .hint { margin-top:8px; }

.doc-row.has-file {
  background: color-mix(in srgb, var(--visa) 8%, transparent);
  border-left: 3px solid var(--visa);
  padding-left: 11px;
}
.doc-row.has-file > div:first-child { color: var(--visa); }
.doc-row.has-file .btn-outline { border-color: var(--visa); color: var(--visa); }

select optgroup {
  color: var(--ink);
  font-weight: 700;
  font-style: normal;
  background: var(--paper);
  font-size: 12.5px;
  letter-spacing: .02em;
}
select optgroup option {
  color: var(--ink);
  font-weight: 500;
  background: var(--paper);
  padding-left: 8px;
}

.cal-layout { display:grid; grid-template-columns: 2fr 1fr; gap:16px; align-items:start; }
.cal-main { display:flex; flex-direction:column; min-height:0; }
.cal-side { position:sticky; top:16px; max-height:calc(var(--vh100) - 140px); overflow:auto; }

.cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
.cal-head { margin-bottom:8px; }
.cal-head > div {
  font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:.06em;
  color:var(--ink-soft); text-align:center; padding-bottom:4px;
}
.cal-body { flex:1; min-height:0; }

.cal-day {
  border:1px solid var(--sky-line); border-radius:10px; background:var(--paper);
  padding:7px 8px; min-height:104px; cursor:pointer; overflow:hidden;
  display:flex; flex-direction:column; gap:5px; transition:border-color .12s, background .12s;
}
.cal-day:hover { border-color:var(--visa); }
.cal-day.is-other { background:var(--sky); opacity:.55; }
.cal-day.is-weekend:not(.is-other) { background:color-mix(in srgb, var(--sky) 45%, transparent); }
.cal-day.is-today { border-color:var(--visa); border-width:2px; padding:6px 7px; }
.cal-day.is-selected { background:var(--visa-soft); border-color:var(--visa); }

.cal-num { font-size:14.5px; font-weight:700; color:var(--ink); font-family:var(--font-mono); }
.cal-day.is-other .cal-num { color:var(--ink-soft); }
.cal-events { display:flex; flex-direction:column; gap:3px; min-height:0; }
.cal-ev {
  font-size:12.5px; line-height:1.3; padding:2px 6px; border-radius:6px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.cal-ev.ev-filing { background:var(--stamp-soft); color:var(--stamp); font-weight:600; }
.cal-ev.ev-task   { background:var(--visa-soft); color:var(--visa); }
.cal-more { font-size:12px; color:var(--ink-soft); padding-left:6px; }

.cal-dot { width:9px; height:9px; border-radius:3px; flex-shrink:0; margin-top:5px; }
.cal-dot.ev-filing { background:var(--stamp); }
.cal-dot.ev-task   { background:var(--visa); }
.cal-ev.ev-move   { background:#FEF3C7; color:#92400E; }
.cal-dot.ev-move  { background:#D97706; }
.cal-move-why{
  margin-top:4px; padding:7px 9px; border-radius:8px; font-size:12.5px; line-height:1.45;
  background:var(--sky-soft, #f1f9f6); color:var(--ink-soft); white-space:pre-wrap; overflow-wrap:anywhere;
}

.deadline-move{display:flex; align-items:stretch; gap:12px;}
.deadline-move__side{
  flex:1; display:flex; flex-direction:column; gap:4px; padding:12px 14px;
  border:1px solid var(--sky-line); border-radius:12px; background:var(--paper-2, #f8fcfb);
}
.deadline-move__side--to{border-color:var(--visa); background:color-mix(in srgb, var(--visa) 7%, transparent);}
.deadline-move__label{font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--slate-2); font-weight:700;}
.deadline-move__date{font-size:16px; font-weight:700; color:var(--ink);}
.deadline-move__side--to .deadline-move__date{color:var(--visa);}
.deadline-move__arrow{display:flex; align-items:center; color:var(--slate-2); flex-shrink:0;}
.deadline-move__arrow svg{width:20px; height:20px;}
.deadline-move__shift{margin:10px 0 0; font-weight:600; color:#B7791F;}
.deadline-move__past{margin-top:18px; border-top:1px solid var(--sky-line); padding-top:12px;}
.deadline-move__past-head{font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--slate-2); margin-bottom:8px;}
.deadline-move__past-row{display:flex; flex-direction:column; gap:2px; font-size:12.5px; padding:7px 0; border-bottom:1px solid var(--sky-line);}
.deadline-move__past-row:last-child{border-bottom:none;}
.deadline-move__past-why{color:var(--ink-soft);}
@media (max-width:520px){
  .deadline-move{flex-direction:column;}
  .deadline-move__arrow{transform:rotate(90deg); align-self:center;}
}

@media (max-width: 1100px) {
  .cal-layout { grid-template-columns:1fr; }
  .cal-side { position:static; max-height:none; }
  .cal-day { min-height:78px; }
}


.share-doc{min-width:0;}
.share-doc-body{flex:1 1 auto; min-width:0;}
.share-doc .icon-btn{flex:none;}
.row-item.share-doc .share-doc-body{flex-basis:0;}
.share-doc-title{font-size:15.5px; font-weight:700; line-height:1.35; color:var(--ink); overflow-wrap:anywhere;}
.share-doc-sub{font-size:14px; color:var(--slate); margin-top:3px;}
.share-doc-thumb{
  width:46px; height:46px; border-radius:11px; flex-shrink:0; overflow:hidden;
  background:var(--sky); border:1px solid var(--sky-line);
  display:flex; align-items:center; justify-content:center; color:var(--ink-soft); font-size:21px;
}
.share-doc-thumb img{width:100%; height:100%; object-fit:cover;}
.share-doc-thumb.clickable{cursor:zoom-in;}
.share-doc-thumb.clickable:hover{border-color:var(--visa);}
.row-item.share-doc.has-file{
  background:color-mix(in srgb, var(--visa) 7%, transparent);
  border-left:3px solid var(--visa); padding-left:11px;
}
.row-item.share-doc.has-file .share-doc-thumb{border-color:var(--visa); color:var(--visa);}

.share-docs-head{display:flex; align-items:flex-start; gap:14px; margin-bottom:14px;}
.share-docs-head-main{flex:1 1 auto; min-width:0;}
.share-docs-title{
  font-family:var(--font-display); font-size:20px; font-weight:800; line-height:1.25;
  letter-spacing:-.01em; color:var(--ink); margin:0;
}
.share-docs-sub{font-size:15px; line-height:1.55; color:var(--slate); margin:6px 0 0;}
.share-docs-count{
  flex:none; display:flex; align-items:baseline; gap:4px; padding:7px 13px;
  border-radius:14px; background:var(--sky); font-variant-numeric:tabular-nums;
}
.share-docs-count b{font-size:23.5px; font-weight:800; line-height:1; color:var(--visa);}
.share-docs-count i{font-style:normal; font-size:14px; font-weight:700; color:var(--slate);}
.share-docs-count.is-done{background:var(--good-soft);}
.share-docs-count.is-done b{color:var(--good);}
.share-docs-track{margin:0 0 8px;}
.share-docs-left{font-size:14.5px; font-weight:700; color:var(--slate); margin:0 0 16px;}
.share-docs-left.is-done{color:var(--good);}
.share-docs-error{
  display:flex; align-items:flex-start; gap:9px; margin:0 0 16px; padding:11px 13px;
  border-radius:12px; background:var(--stamp-soft); color:var(--stamp);
  font-size:14.5px; font-weight:600; line-height:1.5;
}
.share-docs-error .ic{flex:none; font-size:18px; line-height:0; padding-top:2px;}
.share-docs-list{display:flex; flex-direction:column; gap:12px;}

.share-doc--slot{
  display:flex; flex-direction:column; align-items:stretch; gap:12px;
  padding:15px 16px 15px 18px; border-radius:16px;
  background:var(--paper); border:1px solid var(--sky-line);
  box-shadow:inset 4px 0 0 var(--amber);
  transition:box-shadow .15s, border-color .15s, background .15s;
}
.share-doc--slot.has-file{
  background:color-mix(in srgb, var(--good) 4%, var(--paper));
  border-color:color-mix(in srgb, var(--good) 28%, var(--sky-line));
  box-shadow:inset 4px 0 0 var(--good);
}
.share-doc-head{display:flex; align-items:center; gap:13px; min-width:0;}
.share-doc--slot .share-doc-thumb{width:56px; height:56px; border-radius:15px; font-size:24.5px;}
.share-doc--slot:not(.has-file) .share-doc-thumb{
  background:var(--amber-soft); border:1.5px dashed color-mix(in srgb, var(--amber) 45%, transparent);
  color:var(--amber);
}
.share-doc--slot.has-file .share-doc-thumb{
  border-color:color-mix(in srgb, var(--good) 45%, transparent); color:var(--good);
}
.share-doc--slot .share-doc-title{font-size:17.5px; font-weight:800; line-height:1.3;}
.share-doc-state{
  display:inline-flex; align-items:center; gap:5px; margin-top:4px;
  font-size:14px; font-weight:700; letter-spacing:.01em;
}
.share-doc-state .ic{display:flex; font-size:15px; line-height:0;}
.share-doc-state.is-wait{color:var(--amber);}
.share-doc-state.is-done{color:var(--good);}
.share-doc-file{
  display:flex; align-items:center; gap:8px; padding:9px 11px; border-radius:11px;
  background:var(--sky); color:var(--ink-soft);
  font-family:var(--font-mono); font-size:13px; line-height:1.4; overflow-wrap:anywhere;
}
.share-doc-file .ic{flex:none; display:flex; font-size:16px; line-height:0; color:var(--slate);}
.share-doc-files{display:flex; flex-direction:column; gap:7px;}
.share-doc-file-row{gap:9px;}
.share-doc-file-name{flex:1 1 auto; min-width:0;}
.share-doc-file-row .btn{flex:none; padding:5px 11px; font-size:13px;}
.share-doc-file-row .share-doc-del{width:30px; height:30px; margin-left:0;}
.share-doc-note-many{display:block; margin-top:4px; font-weight:600; color:var(--visa);}
.share-doc-note{
  padding:10px 12px; border-radius:11px;
  background:var(--sky); border:1px solid var(--sky-line);
  font-size:15px; line-height:1.5; color:var(--ink-soft);
}
.share-doc-note-label{
  display:block; margin-bottom:3px; font-size:12px; font-weight:800;
  letter-spacing:.08em; text-transform:uppercase; color:var(--visa);
}
.share-doc-note.is-quiet{
  padding:0; background:transparent; border:0; font-size:14px; color:var(--slate);
}
.share-doc-actions{display:flex; align-items:center; flex-wrap:wrap; gap:9px;}
.share-doc-cta{flex:0 0 auto; justify-content:center; padding:12px 20px; font-size:15px; border-radius:12px;}
.share-doc--slot.has-file .share-doc-actions .btn{padding:9px 14px; font-size:14.5px;}
.share-doc-del{width:38px; height:38px; margin-left:auto; color:var(--stamp); background:var(--stamp-soft);}
.share-doc-del:hover{background:color-mix(in srgb, var(--stamp) 18%, transparent);}
.share-doc--slot.is-busy{border-color:color-mix(in srgb, var(--visa) 40%, transparent);}
.share-doc--slot.is-busy .share-doc-thumb{
  animation:shareDocBusy 1.1s ease-in-out infinite; border-color:var(--visa); color:var(--visa);
}
@keyframes shareDocBusy{0%,100%{opacity:1;} 50%{opacity:.45;}}
.share-doc-warn{
  display:flex; align-items:center; flex-wrap:wrap; gap:9px; padding:10px 12px; border-radius:11px;
  background:var(--stamp-soft); color:var(--stamp); font-size:14px; font-weight:600; line-height:1.45;
}
.share-doc-warn > span:nth-child(2){flex:1 1 180px; min-width:0;}
.share-doc-warn .ic{flex:none; display:flex; font-size:17px; line-height:0;}
.share-doc-warn .btn{flex:none; background:var(--paper); border-color:var(--stamp); color:var(--stamp);}

.kanban-card { position: relative; }
.kanban-move {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 26px; height: 34px; padding: 0;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--sky-line); background: var(--paper); color: var(--ink-soft);
  border-radius: 8px; cursor: pointer; opacity: 0; pointer-events: none;
  transition: opacity .12s, color .12s, border-color .12s, background .12s;
  box-shadow: var(--shadow-card); z-index: 2;
}
.kanban-move--left  { left: -13px; }
.kanban-move--right { right: -13px; }
.kanban-card:hover .kanban-move { opacity: 1; pointer-events: auto; }
.kanban-move:hover { color: var(--visa); border-color: var(--visa); background: var(--visa-soft); }
.kanban-move svg { width: 15px; height: 15px; }
@media (hover: none) { .kanban-move { opacity: 1; pointer-events: auto; } }

.confirm-overlay {
  position: fixed; inset: 0; z-index: 900;
  background: rgba(12, 37, 29, .45); backdrop-filter: blur(3px);
  display: flex; align-items: center; justify-content: center; padding: 20px;
  animation: confirmFade .14s ease;
}
.confirm-box {
  background: var(--paper); border-radius: var(--radius-lg); box-shadow: var(--shadow-pop);
  width: min(440px, 100%); padding: 24px 24px 18px;
  animation: confirmRise .16s cubic-bezier(.2,.8,.3,1);
}
.confirm-title { font-family: var(--font-display); font-size: 17px; font-weight: 700; color: var(--ink); }
.confirm-text { margin: 8px 0 0; font-size: 13.5px; line-height: 1.5; color: var(--ink-soft); }
.confirm-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; }
.confirm-box.is-danger .confirm-title { color: var(--stamp); }
.btn-danger { background: var(--stamp); color: #fff; border: none; }
@keyframes confirmFade { from { opacity: 0 } to { opacity: 1 } }
@keyframes confirmRise { from { opacity: 0; transform: translateY(8px) scale(.985) } to { opacity: 1; transform: none } }

.zoom-bar {
  display: flex; align-items: center; gap: 2px; margin-left: auto; margin-right: 10px;
  background: var(--sky); border: 1px solid var(--sky-line); border-radius: 9px; padding: 2px;
}
.zoom-btn, .zoom-val {
  border: none; background: transparent; color: var(--ink-soft);
  font-family: var(--font-mono); cursor: pointer; border-radius: 7px;
  transition: background .12s, color .12s;
}
.zoom-btn { width: 28px; height: 26px; font-size: 16px; line-height: 1; }
.zoom-val { height: 26px; padding: 0 8px; font-size: 12px; min-width: 52px; }
.zoom-btn:hover:not(:disabled), .zoom-val:hover { background: var(--paper); color: var(--visa); }
.zoom-btn:disabled { opacity: .35; cursor: default; }


.ql-font-arial{font-family:Arial, Helvetica, sans-serif;}
.ql-font-times-new-roman{font-family:"Times New Roman", Times, serif;}
.ql-font-georgia{font-family:Georgia, "Times New Roman", serif;}
.ql-font-calibri{font-family:Calibri, Candara, Segoe, sans-serif;}
.ql-font-roboto{font-family:Roboto, "Helvetica Neue", Arial, sans-serif;}

.ql-snow .ql-picker.ql-font{width:150px;}
.ql-snow .ql-picker.ql-font .ql-picker-label::before,
.ql-snow .ql-picker.ql-font .ql-picker-item::before{content:'Arial' !important;}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="arial"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="arial"]::before{content:'Arial' !important; font-family:Arial, sans-serif;}
.ql-snow .ql-picker.ql-font [data-value="times-new-roman"]::before{content:'Times New Roman'; font-family:"Times New Roman", serif;}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="georgia"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="georgia"]::before{content:'Georgia' !important; font-family:Georgia, serif;}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="calibri"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="calibri"]::before{content:'Calibri' !important; font-family:Calibri, sans-serif;}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="roboto"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="roboto"]::before{content:'Roboto' !important; font-family:Roboto, sans-serif;}

.ql-snow .ql-picker.ql-size{width:76px;}
.ql-snow .ql-picker.ql-size .ql-picker-label::before{content:'14' !important;}
.ql-snow .ql-picker.ql-size .ql-picker-item::before{content:'14' !important;}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="10px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="10px"]::before{content:'10' !important;}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="12px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="12px"]::before{content:'12' !important;}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="14px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="14px"]::before{content:'14' !important;}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="16px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="16px"]::before{content:'16' !important;}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="18px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="18px"]::before{content:'18' !important;}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="24px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="24px"]::before{content:'24' !important;}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="32px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="32px"]::before{content:'32' !important;}

.ql-toolbar.ql-snow{flex-wrap:wrap;}
.ql-editor img{max-width:100%; height:auto;}

.ql-snow .ql-picker.ql-lineheight{width:120px;}
.ql-snow .ql-picker.ql-lineheight .ql-picker-label::before{content:'Інтервал' !important; white-space:nowrap;}
.ql-snow .ql-picker.ql-lineheight .ql-picker-item::before{content:attr(data-value); white-space:nowrap;}
.ql-snow .ql-picker.ql-lineheight .ql-picker-item[data-value="1"]::before{content:'Одинарний' !important;}
.ql-snow .ql-picker.ql-lineheight .ql-picker-item[data-value="1.15"]::before{content:'1,15' !important;}
.ql-snow .ql-picker.ql-lineheight .ql-picker-item[data-value="1.5"]::before{content:'1,5' !important;}
.ql-snow .ql-picker.ql-lineheight .ql-picker-item[data-value="2"]::before{content:'Подвійний' !important;}
.ql-snow .ql-picker.ql-lineheight .ql-picker-options{width:150px;}


@media (max-width: 900px){
  .doc-page .ql-editor, .fill-sheet .ql-editor{width:auto; min-height:60vh; padding:18px; box-shadow:none;}
  .doc-page .ql-container{padding:0;}
  .doc-page .tt-editor, .fill-sheet .tt-editor{width:auto; min-height:60vh; padding:18px; box-shadow:none;}
  .tt-toolbar{overflow-x:auto; flex-wrap:wrap; gap:6px; padding:8px 10px;}
}

.tbl-pop{position:absolute; z-index:60; top:100%; left:0; margin-top:6px; display:none;
  background:var(--paper); border:1px solid var(--sky-line); border-radius:10px;
  box-shadow:var(--shadow-pop); padding:10px;}
.tbl-pop.open{display:block;}
.tbl-pop-label{font-size:13px; color:var(--ink-soft); margin-bottom:8px; font-family:var(--font-mono,monospace);}
.tbl-grid{display:grid; grid-template-columns:repeat(10, 18px); gap:3px;}
.tbl-grid i{width:18px; height:18px; border:1px solid var(--sky-line); border-radius:3px;
  background:var(--paper); cursor:pointer; display:block;}
.tbl-grid i.on{background:var(--visa-soft); border-color:var(--visa);}

.tt-table-group{position:relative;}
.tt-table-pop{position:absolute; z-index:80; top:calc(100% + 8px); right:0; display:none; width:330px;
  padding:12px; background:var(--paper); border:1px solid var(--sky-line); border-radius:12px;
  box-shadow:var(--shadow-pop); color:var(--ink);}
.tt-table-pop.open{display:block;}
.tt-table-pop-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:8px;}
.tt-table-pop-head button,.tt-table-edit button,.tt-table-manual button{appearance:none; border:1px solid var(--sky-line);
  background:var(--paper); color:var(--ink-2); min-height:34px; padding:6px 9px; border-radius:7px; cursor:pointer; font:600 12px var(--font-body);}
.tt-table-pop-head button{width:34px; padding:0;}
.tt-table-size{min-height:20px; margin-bottom:7px; font:12px var(--font-mono,monospace); color:var(--ink-soft);}
.tt-table-grid{display:grid; grid-template-columns:repeat(10,22px); grid-template-rows:repeat(10,22px); gap:3px;}
.tt-table-grid button{appearance:none; width:22px; height:22px; min-height:0; padding:0; border:1px solid var(--sky-line);
  border-radius:4px; background:var(--paper); cursor:pointer;}
.tt-table-grid button.is-on,.tt-table-grid button:focus-visible{background:var(--visa-soft); border-color:var(--visa); outline:none;}
.tt-table-manual{display:none; align-items:end; gap:7px;}
.tt-table-manual label{font-size:12.5px; color:var(--ink-soft);}
.tt-table-manual input{display:block; width:74px; min-height:38px; margin-top:4px; font-size:17px;}
.tt-table-edit{display:grid; grid-template-columns:72px repeat(3,1fr); gap:6px; align-items:center;
  margin-top:12px; padding-top:10px; border-top:1px solid var(--sky-line);}
.tt-table-edit[hidden]{display:none;}
.tt-table-edit span{font-size:12.5px; font-weight:700; color:var(--ink-soft);}
.tt-table-edit button.is-danger{grid-column:1 / -1; color:var(--stamp);}

.find-bar{position:absolute; z-index:70; right:16px; top:60px; display:none;
  align-items:center; gap:6px; padding:7px 9px; background:var(--paper);
  border:1px solid var(--sky-line); border-radius:10px; box-shadow:var(--shadow-pop);}
.find-bar.open{display:flex;}
.find-bar input{width:210px; font-size:15px;}
.find-count{font-family:var(--font-mono,monospace); font-size:13px; color:var(--ink-soft); min-width:52px; text-align:center;}
.find-bar button{appearance:none; border:none; background:none; cursor:pointer; font-size:16px;
  color:var(--ink-soft); padding:2px 7px; border-radius:6px;}
.find-bar button:hover{background:var(--sky);}

.ql-editor table{border-collapse:collapse; width:100%; margin:10px 0;}
.ql-editor table td, .ql-editor table th{border:1px solid #c8dcd6; padding:6px 9px; min-width:40px;}

.ql-editor img{cursor:pointer;}
.ql-editor img[style*="float: left"]{margin:4px 18px 10px 0;}
.ql-editor img[style*="float: right"]{margin:4px 0 10px 18px;}
.ql-editor img[style*="display: block"]{display:block; margin:12px auto;}

.img-pop{position:absolute; z-index:60; display:none; width:min(520px,calc(100% - 20px));
  background:var(--paper); border:1px solid var(--sky-line); border-radius:14px;
  box-shadow:var(--shadow-pop); padding:14px; color:var(--ink);}
.img-pop.open{display:block;}
.img-pop-head{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; font-size:16px;}
.img-pop-section{padding:11px 0; border-top:1px solid var(--sky-line);}
.img-pop-label{display:block; margin-bottom:7px; color:var(--ink-soft); font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.04em;}
.img-pop-grid{display:grid; gap:7px;}
.img-pop-grid--layout{grid-template-columns:repeat(2,minmax(0,1fr));}
.img-pop-grid--size{grid-template-columns:repeat(4,minmax(0,1fr));}
.img-pop button{appearance:none; min-height:40px; border:1px solid var(--sky-line); background:var(--paper); cursor:pointer;
  font:600 13px/1.25 var(--font-body); color:var(--ink-soft); padding:8px 10px; border-radius:9px; white-space:normal;}
.img-pop button:hover{background:var(--sky); color:var(--ink);}
.img-pop button.is-active{background:var(--visa-soft); color:var(--visa-ink); border-color:var(--visa);}
.img-pop .img-pop-close{min-width:40px; width:40px; padding:0; font-size:18px;}
.img-pop-custom-size{display:flex; align-items:center; gap:7px; margin-top:8px;}
.img-pop-custom-size input{width:110px; min-height:40px; font-size:16px;}
.img-pop-custom-size button{white-space:nowrap;}
.img-pop-actions{display:flex; justify-content:space-between; gap:8px; padding-top:11px; border-top:1px solid var(--sky-line);}
.img-pop-actions button{flex:1;}
.img-pop button.is-danger{color:var(--stamp); border-color:color-mix(in srgb,var(--stamp) 38%,var(--sky-line));}
.img-pop-layout-hint{display:block; margin-top:8px; color:var(--ink-3); font:12px/1.45 var(--font-body);}
@media(max-width:640px){
  .img-pop{padding:11px;}
  .img-pop-grid--layout{grid-template-columns:1fr;}
  .img-pop-grid--size{grid-template-columns:repeat(2,minmax(0,1fr));}
  .img-pop-actions{flex-direction:column;}
  .img-pop-custom-size input{width:min(110px,36vw);}
}

.tt-toolbar{display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:10px 14px;}
.tt-group{display:flex; flex:0 0 auto; align-items:center; gap:4px; padding-right:10px; border-right:1px solid var(--sky-line);}
.tt-group:last-child{border-right:none; padding-right:0;}
.tt-btn{
  appearance:none; border:1px solid transparent; background:none; cursor:pointer;
  width:34px; height:34px; border-radius:7px; font-size:16px; line-height:1;
  color:var(--ink-2); display:flex; align-items:center; justify-content:center;
}
.tt-btn:hover{background:var(--sky);}
.tt-btn.is-active{background:var(--visa-soft, var(--sky)); color:var(--visa); border-color:var(--visa);}
.tt-select{
  flex:0 0 auto; min-height:34px; font-size:15px; line-height:1.2; white-space:nowrap;
  border:1px solid var(--sky-line); border-radius:7px; background:var(--paper);
  color:var(--ink); padding:6px 8px; max-width:none;
}
.tt-select[data-cmd="fontFamily"]{width:165px;}
.tt-select[data-cmd="fontSize"]{width:92px;}
.tt-select[data-cmd="heading"]{width:150px;}
.tt-select[data-cmd="lineHeight"]{width:125px;}
.tt-btn[data-cmd="image"]{width:auto; min-width:118px; padding:0 11px; gap:7px; font-size:17px; font-weight:650;}
.tt-btn[data-cmd="image"] span{font-size:14.5px;}
.tt-color-label{
  display:flex; align-items:center; gap:3px; font-size:14.5px; color:var(--ink-2); cursor:pointer;
  width:30px; height:30px; justify-content:center; border-radius:7px;
}
.tt-color-label:hover{background:var(--sky);}
.tt-color{width:16px; height:16px; padding:0; border:none; background:none; cursor:pointer;}

.tt-editor{outline:none; position:relative; isolation:isolate;}
.tt-editor p{margin:0 0 12px;}
.tt-editor h1{font-size:23.5px; margin:20px 0 12px; font-weight:700;}
.tt-editor h2{font-size:19px; margin:18px 0 8px; font-weight:700;}
.tt-editor h3{font-size:16.5px; margin:14px 0 6px; font-weight:700;}
.tt-editor ul, .tt-editor ol{margin:0 0 12px; padding-left:24px;}
.tt-editor blockquote{margin:0 0 12px; padding-left:14px; border-left:3px solid var(--sky-line); color:var(--ink-2);}
.tt-editor hr{border:none; border-top:1px solid var(--sky-line); margin:18px 0;}
.tt-editor a{color:var(--visa);}
.tt-editor .tableWrapper{overflow-x:auto; margin:10px 0;}
.tt-editor table{border-collapse:collapse; width:100%; margin:10px 0; table-layout:fixed;}
.tt-editor table td, .tt-editor table th{position:relative; border:1px solid #c8dcd6; padding:6px 9px; min-width:40px;}
.tt-editor table th{background:var(--sky); font-weight:600;}
.tt-editor .column-resize-handle{position:absolute; right:-3px; top:0; bottom:0; width:6px; z-index:4;
  background:color-mix(in srgb,var(--visa) 72%,transparent); cursor:col-resize; pointer-events:auto;}
.resize-cursor,.resize-cursor *{cursor:col-resize !important;}
.tt-editor img{cursor:pointer; max-width:100%;}
.tt-image-node{position:relative; max-width:100%; border-radius:6px; vertical-align:baseline;}
.tt-image-node.is-selected{outline:3px solid color-mix(in srgb, var(--visa) 55%, transparent); outline-offset:3px;}
.tt-image-node.is-dragging{opacity:.55;}
.tt-image-node[data-image-layout="front"],.tt-image-node[data-image-layout="behind"]{cursor:move;}
.tt-image-node[data-image-layout="front"]>img{cursor:move;}
.tt-image-node[data-image-layout="behind"]{z-index:auto; pointer-events:none;}
.tt-image-node[data-image-layout="behind"]>img{position:relative; z-index:-1; pointer-events:none;}
.tt-image-node.is-free-dragging,.tt-image-node.is-resizing{user-select:none;}
.tt-image-node.is-free-dragging{cursor:grabbing;}
.tt-image-node.is-free-dragging>img{cursor:grabbing;}
.tt-image-drag-handle{
  position:absolute; top:8px; left:8px; z-index:2; display:flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:9px; background:rgba(12,37,29,.78); color:#fff;
  font-size:23.5px; line-height:1; cursor:grab; opacity:0; transition:opacity .12s ease;
  box-shadow:0 3px 12px rgba(12,37,29,.22); user-select:none; touch-action:none;
}
.tt-image-node:hover .tt-image-drag-handle,.tt-image-node.is-selected .tt-image-drag-handle{opacity:1;}
.tt-image-node[data-image-layout="front"] .tt-image-drag-handle,
.tt-image-node[data-image-layout="behind"] .tt-image-drag-handle{opacity:1; z-index:6; pointer-events:auto;}
.tt-image-drag-handle:active{cursor:grabbing;}
.tt-image-resize-handle{
  position:absolute; z-index:7; display:block; box-sizing:border-box; opacity:0; pointer-events:none;
  width:12px; height:12px; border:2px solid var(--paper); border-radius:3px; background:var(--visa);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--visa) 82%,#000); touch-action:none; user-select:none;
}
.tt-image-node.is-selected .tt-image-resize-handle{opacity:1; pointer-events:auto;}
.tt-image-resize-handle--nw{left:0; top:0; transform:translate(-50%,-50%); cursor:nwse-resize;}
.tt-image-resize-handle--ne{right:0; top:0; transform:translate(50%,-50%); cursor:nesw-resize;}
.tt-image-resize-handle--se{right:0; bottom:0; transform:translate(50%,50%); cursor:nwse-resize;}
.tt-image-resize-handle--sw{left:0; bottom:0; transform:translate(-50%,50%); cursor:nesw-resize;}
.tt-image-resize-handle--n,.tt-image-resize-handle--s{left:50%; width:24px; height:9px;}
.tt-image-resize-handle--n{top:0; transform:translate(-50%,-50%); cursor:ns-resize;}
.tt-image-resize-handle--s{bottom:0; transform:translate(-50%,50%); cursor:ns-resize;}
.tt-image-resize-handle--e,.tt-image-resize-handle--w{top:50%; width:9px; height:24px;}
.tt-image-resize-handle--e{right:0; transform:translate(50%,-50%); cursor:ew-resize;}
.tt-image-resize-handle--w{left:0; transform:translate(-50%,-50%); cursor:ew-resize;}
.tt-image-node.is-resizing .tt-image-resize-handle{opacity:1;}
.tt-editor[contenteditable="false"] .tt-image-drag-handle,
.tt-editor[contenteditable="false"] .tt-image-resize-handle{display:none;}
.tt-image-upload{
  display:inline-flex; align-items:center; gap:9px; max-width:min(100%,560px); margin:4px 6px;
  padding:9px 12px; border:1px solid var(--sky-line); border-radius:10px; background:var(--sky);
  color:var(--ink-2); font-size:14.5px; vertical-align:middle;
}
.tt-image-upload--error{border-color:color-mix(in srgb,var(--stamp) 45%,var(--sky-line)); background:var(--stamp-soft); color:var(--stamp);}
.tt-image-upload-spinner{width:16px; height:16px; flex:0 0 auto; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:tt-image-upload-spin .8s linear infinite;}
@keyframes tt-image-upload-spin{to{transform:rotate(360deg);}}
.tt-image-upload--error .tt-image-upload-spinner{animation:none; border:none; width:auto; height:auto;}
.tt-image-upload--error .tt-image-upload-spinner::before{content:'!'; font-weight:800;}
.tt-image-upload-label{min-width:0; overflow-wrap:anywhere;}
.tt-image-upload-dismiss{appearance:none; border:1px solid currentColor; background:transparent; color:inherit; border-radius:7px; padding:5px 9px; font:600 12px var(--font-body); cursor:pointer;}
.tt-editor img[style*="float:left"], .tt-editor img[style*="float: left"]{margin:4px 18px 10px 0;}
.tt-editor img[style*="float:right"], .tt-editor img[style*="float: right"]{margin:4px 0 10px 18px;}
.tt-editor img[style*="display:block"], .tt-editor img[style*="display: block"]{display:block; margin:12px auto;}
.tt-editor[contenteditable="false"]{cursor:default;}
.fill-read{position:relative; isolation:isolate;}

@media(max-width:900px), (pointer:coarse){
  .tt-table-pop{position:fixed; left:12px; right:12px; top:auto; bottom:12px; width:auto; max-height:75vh; overflow:auto;}
  .tt-table-grid{display:none;}
  .tt-table-manual{display:flex; flex-wrap:wrap;}
  .tt-image-node[data-image-layout="front"],.tt-image-node[data-image-layout="behind"]{
    position:relative !important; left:auto !important; top:auto !important; z-index:auto !important;
    display:block !important; float:none !important; clear:both; margin:14px auto !important;
    cursor:pointer; pointer-events:auto;
  }
  .tt-image-node[data-image-layout="behind"]>img{z-index:auto; pointer-events:auto;}
  .tt-image-resize-handle{display:none;}
}

.update-bar--calm{background:var(--visa-soft); color:var(--visa-ink); border-color:transparent;}

.ql-snow .ql-picker.ql-font .ql-picker-item:not([data-value])::before{content:'Як у документі' !important; font-family:var(--font-body);}
.ql-snow .ql-picker.ql-size .ql-picker-item:not([data-value])::before{content:'14' !important;}
.ql-snow .ql-picker.ql-lineheight .ql-picker-item:not([data-value])::before{content:'Як у документі' !important;}
.ql-snow .ql-picker.ql-font .ql-picker-label:not([data-value])::before{content:'Як у документі' !important;}
.ql-snow .ql-picker.ql-lineheight .ql-picker-label:not([data-value])::before{content:'Інтервал' !important;}

.chead-label{
  display:flex; align-items:center; gap:5px;
  font:800 9.5px/1.4 var(--font-mono,monospace); letter-spacing:.09em; text-transform:uppercase;
  color:var(--slate-2); white-space:nowrap;
}
.chead-control{
  height:34px; border:1px solid var(--sky-line); border-radius:9px !important;
  background-color:var(--paper) !important; padding:0 11px !important; font-size:14.5px !important;
  color:var(--ink); width:100%; max-width:210px; line-height:1.2; min-width:0;
}
.chead-control:focus{border-color:var(--visa); outline:none;}
select.chead-control{padding-right:30px !important;}

.client-head-row{
  display:flex; flex-wrap:wrap; gap:18px 24px; align-items:flex-start; margin-top:16px;
  background:var(--sky); border:1px solid var(--sky-line); border-radius:var(--radius-md);
  padding:16px 18px;
}
.chead-cell{display:flex; flex-direction:column; gap:7px; min-width:0; position:relative; flex:1 1 auto;}
.chead-cell--resp{order:1; flex-basis:170px; max-width:280px;}
.chead-cell--chat{order:2; flex-basis:150px; max-width:230px;}
.chead-cell--phone{order:2; flex-basis:180px; max-width:260px;}
.chead-cell--contact{order:2; flex-basis:250px; max-width:330px;}
.chead-contact{display:flex; gap:6px;}
.chead-contact .chead-control{flex:1 1 0; min-width:0; max-width:none;}
.chead-cell--niche{order:3; flex-basis:260px; max-width:340px;}
.client-head-row .chead-cell--source{order:3;}
.chead-cell--niche .chead-control{max-width:none;}
.chead-cell--qual{order:3; flex:0 1 auto;}
.it-qual{display:flex; align-items:center; gap:4px; flex-wrap:nowrap; min-height:34px;}
.it-qual .it-q{cursor:help;}
.it-qual-chip{appearance:none; height:28px; padding:0 9px; border-radius:999px; white-space:nowrap; border:1px solid var(--sky-line); background:var(--paper);
  color:var(--muted, #6b7280); font-size:12.5px; font-weight:600; cursor:pointer;}
.it-qual-chip.on{background:var(--good-soft); border-color:transparent; color:var(--good);}
.it-qual-chip.on::before{content:'✓ ';}
.it-qual-chip:disabled{cursor:default; opacity:.8;}
.chead-cell--place{order:3; flex:2 1 420px; min-width:0;}
.chead-break{order:4; flex:0 0 100%; height:0; margin:0;}
.chead-cell--source{order:5; flex-basis:110px; max-width:250px;}
.chead-cell--money{order:6; flex-basis:170px; max-width:320px;}
.chead-cell--niw{order:7; flex-basis:190px; max-width:330px;}
.chead-cell--niw .chead-control{max-width:290px;}
.chead-cell--dates{order:8; flex:3 1 520px; min-width:0;}
.chead-cell--gaps{order:9; flex-direction:row; align-items:center; gap:8px; align-self:center; flex-grow:0;}
.chead-cell--chat .client-chat-control{width:100%; max-width:100%;}
.chead-cell--chat .chat-channel-btn{width:100%; justify-content:center;}

.resp-label{font-size:12.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--slate-2); font-weight:700;}
.resp-project{display:flex; align-items:center; gap:8px; min-height:34px; min-width:0;}
.resp-name{overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.resp-name{font-weight:700; color:var(--ink); font-size:15px;}
.resp-role{font-size:12.5px; color:var(--slate-2); background:var(--sky); padding:1px 7px; border-radius:5px;}
.resp-missing{color:var(--stamp); font-weight:600; font-size:14.5px;}

.client-place{display:flex; align-items:center; gap:8px; flex-wrap:wrap; min-height:34px; width:100%; min-width:0;}
.client-place .place-pick{flex:1 1 130px; min-width:0; max-width:320px;}
.place-pick{
  height:34px; font-size:14.5px !important; padding:0 30px 0 11px !important; width:auto !important;
  background-color:var(--paper) !important; border-radius:9px !important; min-width:0;
}
.client-clock{
  font-family:var(--font-mono,monospace); font-size:14px; font-weight:600; color:var(--ink-soft);
  background:var(--sky-deep); border-radius:8px; padding:0 10px; white-space:nowrap;
  display:inline-flex; align-items:center; height:34px;
}

.chead-money{
  display:flex; align-items:center; height:34px; width:100%; max-width:260px;
  border:1px solid var(--sky-line); background:var(--paper); border-radius:9px; padding:0 10px; gap:2px;
}
.chead-money:focus-within{border-color:var(--visa); box-shadow:0 0 0 3px var(--visa-soft);}
.chead-money__cur{font:700 13px/1 var(--font-mono,monospace); color:var(--slate-2); flex:none;}
.chead-money__input{
  border:0 !important; background:transparent !important; box-shadow:none !important;
  padding:0 !important; height:32px; font-size:15px !important; font-weight:700; color:var(--ink) !important;
  min-width:0; width:100%;
}
.chead-money__input:focus{box-shadow:none !important;}
.chead-money__input::-webkit-outer-spin-button,
.chead-money__input::-webkit-inner-spin-button{-webkit-appearance:none; margin:0;}
.chead-money__input[type=number]{-moz-appearance:textfield;}
.chead-money__ro{font-size:15px; font-weight:700; color:var(--ink);}
.chead-money.is-empty .chead-money__input{color:var(--slate-2) !important; font-weight:600;}
.chead-money--sub{max-width:260px; height:30px;}
.chead-money--sub .chead-money__input{height:28px; font-size:14.5px !important;}
.chead-money__note{font-size:12px; color:var(--slate-2); white-space:nowrap; flex:none;}
.chead-attorney{
  display:inline-flex; align-items:center; gap:6px; cursor:pointer;
  font-size:14px; font-weight:600; color:var(--ink-soft);
}
.chead-attorney input{margin:0;}

.chead-source{position:relative;}
.chead-source__pill{
  cursor:pointer; border:1px solid var(--sky-line); height:34px; padding:0 12px; font-size:13px;
  max-width:100%; overflow:hidden;
}

.chead-dates{
  display:flex; flex-direction:row; align-items:flex-start; gap:0 12px; flex-wrap:nowrap;
  border-left:1px solid var(--sky-line); padding-left:20px; min-width:0;
}
.chead-date{display:flex; flex-direction:column; gap:7px; min-width:0; flex:1 1 0;}
.chead-date__row{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.chead-date .chead-control{min-width:140px;}
.chead-date--key{
  border-left:3px solid var(--visa); padding-left:12px;
}
.chead-date--key .chead-label{color:var(--visa);}
.chead-date__warn{font-size:12.5px; font-weight:600; color:var(--stamp); max-width:260px;}
.pay-recon{
  margin:-8px 0 18px; padding:10px 14px; border-radius:10px;
  font-size:12.5px; line-height:1.5; color:var(--ink-2, var(--ink));
  background:var(--sky-soft, rgba(0,0,0,.03)); border-left:3px solid var(--sky-line);
}
.pay-recon b{color:var(--ink); font-weight:600;}
.pay-recon--over{
  background:var(--amber-soft, rgba(255,176,32,.10)); border-left-color:var(--amber, #e0a020);
}
.dl-log{
  display:flex; flex-direction:column; gap:4px;
  margin:10px 0 0; padding:8px 12px;
  border-left:3px solid var(--amber, var(--sky-line)); border-radius:0 8px 8px 0;
  background:var(--sky-soft, rgba(0,0,0,.02));
}
.dl-log__row{display:flex; align-items:baseline; gap:8px; min-width:0; font-size:12px; line-height:1.45;}
.dl-log__tag{flex:0 0 auto; font-weight:600; color:var(--slate-2); font-size:11.5px;}
.dl-log__move{flex:0 0 auto; color:var(--ink); font-size:11.5px;}
.dl-log__why{flex:1; min-width:0; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.dl-log__who{flex:0 0 auto; color:var(--slate-2); font-size:11.5px;}
.dl-log__more{
  align-self:flex-start; background:none; border:0; padding:0; cursor:pointer;
  font:inherit; font-size:11.5px; color:var(--visa); text-decoration:underline;
}
input.deadline-missed{
  border-color:var(--stamp) !important; color:var(--stamp);
  background-color:color-mix(in srgb, var(--stamp) 8%, var(--paper)) !important;
}
.dl-miss{
  display:flex; flex-direction:column; gap:6px;
  margin:10px 0 0; padding:8px 12px;
  border-left:3px solid var(--stamp); border-radius:0 8px 8px 0;
  background:color-mix(in srgb, var(--stamp) 6%, var(--paper));
}
.dl-miss__row{display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; font-size:12px;}
.dl-miss__tag{font-weight:700; color:var(--stamp); font-size:11.5px;}
.dl-miss__opts{display:flex; flex-wrap:wrap; gap:6px;}
.dl-miss__opt{
  font:inherit; font-size:12px; padding:4px 10px; border-radius:999px; cursor:pointer;
  border:1px solid var(--sky-line); background:var(--paper); color:var(--ink);
}
.dl-miss__opt:hover:not(:disabled){border-color:var(--stamp);}
.dl-miss__opt.active{background:var(--stamp); border-color:var(--stamp); color:#fff; font-weight:600;}
.dl-miss__opt:disabled{opacity:.6; cursor:default;}
.dl-miss__ask{font-size:11.5px; color:var(--stamp); font-weight:600;}
@media (max-width:700px){
  .dl-log__row{flex-wrap:wrap; gap:4px 8px;}
  .dl-log__why{flex:1 0 100%; white-space:normal; overflow:visible; text-overflow:clip; order:1;}
}
.chead-date__auto{font-size:12px; line-height:1.35; color:var(--slate-2); max-width:190px;}
.chead-dates__link{
  flex:none; align-self:center; width:20px; height:1px; background:var(--sky-line);
  margin-top:10px; position:relative;
}
.chead-dates__link::after{
  content:''; position:absolute; right:0; top:-3px; width:6px; height:6px;
  border-top:1px solid var(--sky-line); border-right:1px solid var(--sky-line); transform:rotate(45deg);
}

@media (max-width:850px){
  .chead-dates{flex-wrap:wrap; row-gap:14px; border-left:0; padding-left:0;}
  .chead-date{flex:1 1 150px;}
  .chead-dates__link{display:none;}
}

.head-stage-select{
  height:26px; border:1px solid var(--sky-line) !important; background-color:var(--sky) !important;
  border-radius:99px !important; padding:0 28px 0 12px !important; font-size:12.5px !important;
  font-weight:700; color:var(--ink-soft) !important; cursor:pointer; width:auto !important;
  max-width:230px; background-position:right 9px center !important;
}
.head-stage-select:focus{border-color:var(--visa) !important;}

.gap-dot{
  width:9px; height:9px; border-radius:50%; background:var(--stamp); cursor:pointer; flex-shrink:0;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--stamp) 18%, transparent);
}
.gap-text{color:var(--stamp); font-weight:600; font-size:14px; cursor:pointer;}
.gap-list{
  margin-top:8px; font-size:14px; color:var(--ink-soft);
  background:var(--stamp-soft); border-radius:8px; padding:7px 11px; display:inline-block;
}

.gap-dot-sm{
  width:8px; height:8px; border-radius:50%; background:var(--stamp); display:inline-block;
  flex-shrink:0; margin-left:6px; vertical-align:middle;
}

.chat-channel-dot{
  display:inline-flex; width:14px; height:14px; flex-shrink:0;
  margin-left:6px; vertical-align:middle;
}
.chat-channel-dot svg{ width:100%; height:100%; }

.gap-row{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:9px 4px; border-bottom:1px solid var(--sky-line); cursor:pointer; border-radius:6px;
}
.gap-row:last-child{border-bottom:none;}
.gap-row:hover{background:var(--sky);}
.gap-row .num{font-family:var(--font-mono,monospace); font-weight:700; color:var(--stamp); min-width:44px;}

.gap-filter-bar{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  background:var(--stamp-soft); border-radius:9px; padding:8px 12px; font-size:14.5px; color:var(--ink-soft);
}

.needs-fill{
  border-color:var(--stamp) !important;
  box-shadow:0 0 0 2px color-mix(in srgb, var(--stamp) 12%, transparent) !important;
}
input.needs-fill, select.needs-fill{background-color:color-mix(in srgb, var(--stamp) 4%, var(--paper)) !important;}
.needs-fill:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--stamp) 22%, transparent) !important;}

.need-dot{
  width:6px; height:6px; border-radius:50%; background:var(--stamp);
  display:inline-block; margin-left:5px; vertical-align:middle; flex-shrink:0;
}

.tpl-row{ display:grid; grid-template-columns:130px 1fr auto; gap:16px; align-items:start; margin-bottom:10px; }
.tpl-row.is-off{ opacity:.55; }
.tpl-when{ border-right:1px solid var(--sky-line); padding-right:14px; }
.tpl-day{ font-weight:700; font-size:14.5px; color:var(--ink); }
.tpl-time{ font-size:21px; font-weight:700; color:var(--visa); font-variant-numeric:tabular-nums; line-height:1.2; }
.tpl-time-soft{ font-size:13px; color:var(--slate); line-height:1.35; margin-top:2px; }
.tpl-title{ font-weight:700; font-size:16px; margin-bottom:4px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.tpl-actions{ display:flex; gap:4px; }
.tpl-missing{ display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  font-size:13px; color:var(--amber); background:var(--amber-soft);
  border-radius:var(--radius-sm); padding:6px 10px; margin-top:4px; }
.tpl-date{ padding:3px 6px; font-size:13px; border:1px solid var(--sky-line);
  border-radius:var(--radius-sm); background:var(--paper); color:var(--ink); }
.tpl-picks{ display:flex; flex-wrap:wrap; gap:6px; }
.tpl-picks-people{ max-height:150px; overflow-y:auto; padding:2px; }
.chip-pick{ cursor:pointer; border:1px solid var(--sky-line); background:var(--paper);
  color:var(--ink-soft); font-size:13px; padding:4px 10px; border-radius:999px; }
.chip-pick:hover{ border-color:var(--visa); }
.chip-pick.is-on{ background:var(--visa-soft); border-color:var(--visa); color:var(--visa-ink); font-weight:600; }
.chip-muted{ background:var(--sky-deep); color:var(--slate); font-size:12.5px; padding:2px 8px; border-radius:999px; font-weight:600; }
@media (max-width:700px){
  .tpl-row{ grid-template-columns:1fr; }
  .tpl-when{ border-right:none; border-bottom:1px solid var(--sky-line); padding:0 0 8px; }
}

.review-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,360px); gap:16px; align-items:start; }
.review-side{ display:flex; flex-direction:column; gap:16px; position:sticky; top:16px; min-width:0; }
.review-side > *{ min-width:0; }
.review-doc-head{ display:flex; flex-direction:column; gap:4px; margin-bottom:14px; }
.crd-paper{ padding:24px 28px; background:var(--paper);
  border:1px solid var(--sky-line); border-radius:var(--radius-md); font-family:var(--font-body); line-height:1.55; }
.crd-title{ font-weight:700; font-size:16px; text-align:center; margin:4px 0 14px; }
.crd-heading{ font-weight:700; font-size:15px; margin:14px 0 6px; }
.crd-subheading{ font-weight:600; font-size:14px; margin:10px 0 4px; }
.crd-text{ font-size:14.5px; color:var(--ink); margin:0 0 8px; }
.crd-bullet{ font-size:14.5px; color:var(--ink); margin:0 0 4px; padding-left:4px; }
.crd-pagebreak{ border:none; border-top:1px dashed var(--sky-line); margin:18px 0; }
.crd-edit-area{ display:block; width:100%; box-sizing:border-box; font-family:inherit; line-height:inherit;
  border:1px solid var(--sky-line); border-radius:6px; padding:4px 6px; margin:0 0 8px;
  resize:vertical; min-height:2.6em; background:var(--card,#fff); color:var(--ink); }
.crd-edit-area:focus{ outline:none; border-color:var(--visa); }
.crd-columns{ display:flex; gap:24px; margin:10px 0; }
.crd-col{ flex:1; min-width:0; }
.var-hl{ font-weight:700; background:var(--amber-soft); border-radius:3px; padding:0 2px; cursor:pointer; }
.var-hl:hover{ outline:1px solid var(--amber); }
.var-hl--unresolved{ background:var(--stamp-soft); color:var(--stamp); }
.checklist{ display:flex; flex-direction:column; gap:8px; }
.checklist-item{ display:flex; align-items:center; gap:8px; font-size:14.5px; color:var(--good); }
.checklist-item svg{ width:16px; height:16px; flex:none; }
.checklist-item--warn{ color:var(--amber); }
[data-field-key].field-flash{ animation:field-flash-anim 1.5s ease-out; border-radius:var(--radius-sm); }
@keyframes field-flash-anim{ 0%{ background:var(--amber-soft); } 100%{ background:transparent; } }
@media (max-width:900px){
  .review-grid{ grid-template-columns:1fr; }
  .review-side{ position:static; }
}


.client-info-form .ci-head{margin-bottom:26px;}
.client-info-form .ci-head-title{font-family:var(--font-display); font-size:22.5px; font-weight:700; color:var(--ink); letter-spacing:-.02em;}
.client-info-form .ci-head-sub{margin:6px 0 0; font-size:15px; line-height:1.55; color:var(--slate); max-width:64ch;}

.client-info-form .ci-group + .ci-group{margin-top:32px; padding-top:28px; border-top:1px solid var(--sky-line);}
.client-info-form .ci-group-head{display:flex; align-items:center; gap:13px; margin-bottom:20px;}
.client-info-form .ci-group-ic{width:38px; height:38px; border-radius:12px; flex:none;
  background:var(--visa-soft); color:var(--visa); display:flex; align-items:center; justify-content:center;}
.client-info-form .ci-group-ic svg{width:19px; height:19px;}
.client-info-form .ci-group-text{min-width:0;}
.client-info-form .ci-group-title{font-size:16.5px; font-weight:700; color:var(--ink); line-height:1.3;}
.client-info-form .ci-group-sub{font-size:14px; color:var(--slate); line-height:1.45; margin-top:2px;}

.client-info-form .ci-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 22px;}
.client-info-form .ci-span-2{grid-column:1 / -1;}
.client-info-form .field{margin-bottom:0; min-width:0;}
.client-info-form .field > label{font-size:12.5px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--slate); margin-bottom:9px;}
.client-info-form input:not([type="checkbox"]):not([type="radio"]),
.client-info-form select,
.client-info-form textarea{min-height:48px; padding:12px 15px; font-size:15.5px; border-radius:12px;}
.client-info-form textarea{min-height:0; padding-top:13px; line-height:1.6;}
.client-info-form .ci-other-input{margin-top:10px;}

.client-info-form .ci-help{margin:9px 0 0; font-size:14px; line-height:1.5; color:var(--slate); max-width:56ch;}
.client-info-form .ci-help.is-error{color:var(--stamp); font-weight:600;}

.client-info-form .ci-measure{display:inline-flex; align-items:stretch; width:100%; max-width:190px;
  border:1px solid var(--sky-line); border-radius:12px; background:var(--sky); overflow:hidden;
  transition:border-color .12s, background .12s, box-shadow .12s;}
.client-info-form .ci-measure-lg{max-width:230px;}
.client-info-form .ci-measure input{flex:1; min-width:0; border:none; background:transparent;
  border-radius:0; box-shadow:none;}
.client-info-form .ci-measure input:focus{box-shadow:none; background:transparent;}
.client-info-form .ci-measure-unit{display:flex; align-items:center; padding:0 14px; flex:none;
  border-left:1px solid var(--sky-line); background:var(--sky-deep);
  font-size:14.5px; font-weight:600; color:var(--slate);}
.client-info-form .ci-measure:focus-within{border-color:var(--visa); background:var(--paper); box-shadow:0 0 0 3px var(--visa-soft);}

.client-info-form .ci-family{border:1px solid var(--sky-line); border-radius:16px; padding:18px;
  background:color-mix(in srgb, var(--sky) 55%, var(--paper));}

.client-info-form .ci-choice{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;}
.client-info-form .ci-choice-opt{display:flex; align-items:center; gap:13px; text-align:left;
  padding:14px 16px; border-radius:13px; border:1.5px solid var(--sky-line); background:var(--paper);
  color:var(--ink); cursor:pointer; font-family:var(--font-body); transition:border-color .12s, background .12s;}
.client-info-form .ci-choice-opt:hover{border-color:var(--slate-2);}
.client-info-form .ci-choice-opt:focus-visible{outline:2px solid var(--visa); outline-offset:2px;}
.client-info-form .ci-choice-opt.is-on{border-color:var(--visa); background:var(--visa-soft);}
.client-info-form .ci-choice-mark{width:20px; height:20px; border-radius:50%; flex:none;
  border:2px solid var(--slate-2); display:flex; align-items:center; justify-content:center; transition:border-color .12s;}
.client-info-form .ci-choice-opt.is-on .ci-choice-mark{border-color:var(--visa);}
.client-info-form .ci-choice-opt.is-on .ci-choice-mark::after{content:""; width:10px; height:10px; border-radius:50%; background:var(--visa);}
.client-info-form .ci-choice-text{display:flex; flex-direction:column; gap:2px; min-width:0;}
.client-info-form .ci-choice-text b{font-size:15.5px; font-weight:700;}
.client-info-form .ci-choice-text i{font-style:normal; font-size:13px; color:var(--slate); line-height:1.35;}
.client-info-form .ci-choice-opt.is-on .ci-choice-text i{color:var(--visa-ink);}

.client-info-form .ci-kids{margin-top:20px; padding-top:18px; border-top:1px dashed var(--sky-line);}
.client-info-form .ci-kids-head{display:flex; align-items:baseline; gap:10px; margin-bottom:12px;}
.client-info-form .ci-kids-title{font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--slate);}
.client-info-form .ci-kids-count{font-size:13px; color:var(--slate-2);}
.client-info-form .ci-kids-list{display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:12px; max-width:100%;}
.client-info-form .ci-kid{display:flex; align-items:flex-end; gap:14px; padding:12px 14px;
  border:1px solid var(--sky-line); border-radius:14px; background:var(--paper);}
.client-info-form .ci-kid-no{width:30px; height:30px; border-radius:50%; flex:none; margin-bottom:9px;
  background:var(--visa-soft); color:var(--visa-ink); font-size:14.5px; font-weight:800;
  display:flex; align-items:center; justify-content:center;}
.client-info-form .ci-kid-field{display:flex; flex-direction:column; gap:7px; min-width:0; flex:1;}
.client-info-form .ci-kid-label{font-size:12.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--slate);}
.client-info-form .ci-kid .ci-measure{max-width:100%;}
.client-info-form .ci-kid .ci-measure input{text-align:left;}
.client-info-form .ci-kid-del{width:36px; height:36px; flex:none; color:var(--stamp); background:transparent;}
.client-info-form .ci-kid-del:hover{background:var(--stamp-soft);}
.client-info-form .ci-kid-add{margin-top:12px;}
.client-info-form .ci-empty{margin:16px 0 0; font-size:14.5px; line-height:1.5; color:var(--slate);}

.client-info-form .ci-family-sum{display:flex; align-items:flex-start; gap:9px; margin:18px 0 0;
  padding-top:16px; border-top:1px solid var(--sky-line);
  font-size:14.5px; line-height:1.5; color:var(--ink-soft);}
.client-info-form .ci-family-sum-ic{color:var(--good); flex:none; display:flex; margin-top:1px;}
.client-info-form .ci-family-sum-ic svg{width:16px; height:16px;}

.client-info-form .ci-legacy{display:flex; align-items:flex-start; gap:12px; flex-wrap:wrap; margin-top:12px;
  padding:13px 15px; border-radius:13px; background:var(--amber-soft);
  border:1px solid color-mix(in srgb, var(--amber) 35%, transparent);}
.client-info-form .ci-legacy-ic{color:var(--amber); flex:none; display:flex; margin-top:1px;}
.client-info-form .ci-legacy-ic svg{width:18px; height:18px;}
.client-info-form .ci-legacy-text{flex:1; min-width:220px; font-size:14px; line-height:1.5; color:var(--ink-soft);}
.client-info-form .ci-legacy-text b{display:block; font-size:14.5px; color:var(--ink); margin-bottom:3px;}

.client-info-form .ci-actions{display:flex; align-items:center; justify-content:space-between; gap:18px;
  flex-wrap:wrap; margin-top:32px; padding-top:22px; border-top:1px solid var(--sky-line);}
.client-info-form .ci-actions-note{font-size:14px; color:var(--slate);}
.client-info-form .ci-save{padding:13px 24px; font-size:15px; border-radius:12px; margin-left:auto;}

@media (max-width:1000px){
  .client-info-form .ci-grid{grid-template-columns:1fr;}
  .client-info-form .ci-choice{grid-template-columns:1fr;}
}


.crit-grid-head{margin:26px 0 14px;}
.crit-grid-title{font-family:var(--font-display); font-size:21px; font-weight:800; line-height:1.25; letter-spacing:-.01em; margin:0;}
.crit-grid-sub{font-size:15px; line-height:1.55; color:var(--slate); margin:8px 0 0;}
.crit-grid-group{font-size:12.5px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:var(--slate-2); margin:22px 0 10px;}

.share-screen .evidence-card{position:relative; padding:18px 20px; gap:14px; border-radius:16px; background:var(--paper);}
.share-screen .evidence-card h4{font-size:17px; line-height:1.35; margin-bottom:5px;}
.share-screen .evidence-card p{font-size:15px; font-weight:600; color:var(--slate);}
.evidence-emoji{
  width:46px; height:46px; flex-shrink:0; border-radius:13px; background:var(--sky);
  display:flex; align-items:center; justify-content:center; font-size:24.5px; line-height:1;
}
.evidence-emoji-done{display:flex; color:var(--good);}
.evidence-emoji-done svg{width:26px; height:26px;}
.share-screen .evidence-card.needs-you{box-shadow:inset 4px 0 0 var(--stamp), var(--shadow-card);}
.share-screen .evidence-card.needs-you .evidence-emoji{background:var(--stamp-soft);}
.share-screen .evidence-card.needs-you p{color:var(--stamp); font-weight:700;}
.share-screen .evidence-card.filled p{color:var(--good); font-weight:700;}
.share-screen .evidence-card.filled .evidence-emoji{background:var(--paper);}

.evidence-badge{
  position:absolute; top:-9px; right:-7px; z-index:1;
  min-width:28px; height:28px; padding:0 8px; border-radius:999px;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--stamp); color:#fff; border:2.5px solid var(--paper);
  font-size:15px; font-weight:800; line-height:1; font-variant-numeric:tabular-nums;
  box-shadow:0 3px 10px rgba(214,69,38,.4);
}

.crit-drawer{width:min(680px, 100%); min-width:0;}
.crit-head{align-items:flex-start; gap:12px; padding:20px 22px 18px;}
.crit-head-main{display:flex; align-items:flex-start; gap:14px; min-width:0; flex:1;}
.crit-head-emoji{
  width:52px; height:52px; flex-shrink:0; border-radius:15px; background:var(--sky);
  display:flex; align-items:center; justify-content:center; font-size:28.5px; line-height:1;
}
.crit-head-text{min-width:0; flex:1;}
.crit-head-eyebrow{font-size:12.5px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:var(--slate-2); margin-bottom:4px;}
.crit-head-title{font-family:var(--font-display); font-size:25.5px; font-weight:800; line-height:1.22; letter-spacing:-.015em; margin:0; overflow-wrap:anywhere;}
.crit-head-meta{display:flex; flex-wrap:wrap; gap:7px; margin-top:11px;}
.crit-chip{
  display:inline-flex; align-items:center; padding:3px 7px; border-radius:999px;
  background:var(--sky); color:var(--ink-soft); font-size:9.5px; font-weight:700;
  font-variant-numeric:tabular-nums;
}
.crit-chip-you{background:var(--stamp-soft); color:var(--stamp);}
.crit-chip-done{background:var(--good-soft); color:var(--good);}
.crit-head-close{flex-shrink:0;}
.crit-body{padding:18px 22px 40px; background:var(--sky);}
.crit-drawer.drawer-full .crit-body > *{max-width:760px; margin-left:auto; margin-right:auto;}

.crit-block{border-radius:18px; padding:18px; margin-bottom:16px; background:var(--paper); border:1px solid var(--sky-line);}
.crit-block.is-you{border-color:var(--visa); box-shadow:inset 4px 0 0 var(--visa), var(--shadow-card);}
.crit-block.is-team{background:transparent; border-style:dashed;}
.crit-block-head{display:flex; align-items:flex-start; justify-content:space-between; gap:12px;}
.crit-block-titles{min-width:0;}
.crit-block-kicker{font-size:12.5px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:var(--slate-2);}
.crit-block.is-you .crit-block-kicker{color:var(--visa);}
.crit-block-title{font-family:var(--font-display); font-size:19px; font-weight:800; line-height:1.3; margin:3px 0 0; overflow-wrap:anywhere;}
.crit-block.is-team .crit-block-title{font-size:17px; color:var(--ink-soft);}
.crit-block-count{
  flex-shrink:0; min-width:30px; height:30px; padding:0 9px; border-radius:999px;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--sky); color:var(--slate); font-size:15px; font-weight:800;
  font-variant-numeric:tabular-nums;
}
.crit-block.is-you .crit-block-count{background:var(--visa); color:#fff;}
.crit-block-note{font-size:14.5px; line-height:1.55; color:var(--slate); margin:9px 0 0;}

.crit-block.is-plan{background:var(--sky-deep); border-color:var(--sky-line);}
.crit-block.is-plan .crit-block-title{font-size:18px;}
.sv-crit-plan{
  font-size:15.5px; line-height:1.65; color:var(--ink-soft); margin-top:10px;
  white-space:pre-wrap; overflow-wrap:anywhere;
}
.sv-crit-plan a{color:var(--visa); text-decoration:underline; text-underline-offset:2px;}
.sv-crit-plan-edit{
  width:100%; font-size:15.5px; line-height:1.65; color:var(--ink); margin-top:10px;
  font-family:inherit; resize:vertical; padding:10px 12px; border-radius:10px;
  border:1px solid var(--sky-line); background:var(--paper);
}

.crit-subcrit-title{font-family:var(--font-display); font-weight:800; font-size:15.5px; color:var(--ink); margin:20px 0 2px; letter-spacing:-.005em;}
.crit-block-head + .crit-subcrit-title, .crit-block-note + .crit-subcrit-title{margin-top:0;}

.crit-task{display:flex; gap:13px; align-items:flex-start; padding:16px 0 0; margin-top:15px; border-top:1px solid var(--sky-line);}
.crit-block-note + .crit-task,
.crit-subcrit-title + .crit-task,
.crit-block-head + .crit-task{border-top:none; padding-top:0;}
.crit-task.is-pointed{background:var(--sky); border-radius:12px; padding-left:12px; padding-right:12px;
  box-shadow:0 0 0 2px var(--visa); transition:background .4s ease, box-shadow .4s ease;}
.crit-task-mark{flex-shrink:0; width:26px; height:26px; display:flex; align-items:center; justify-content:center; color:var(--slate-2);}
.crit-task-mark svg{width:23px; height:23px;}
.crit-task-box{width:22px; height:22px; border-radius:7px; border:2px solid currentColor; opacity:.85;}
.crit-block.is-you .crit-task-mark{color:var(--visa);}
.crit-task.is-done .crit-task-mark{color:var(--good);}
.crit-task-main{flex:1; min-width:0; position:relative;}
.sv-task-edit-text{width:100%; font-size:18px; font-weight:700; border:none; border-bottom:1px dashed var(--sky-line); padding:2px 0; background:transparent; color:var(--ink);}
.crit-block.is-team .sv-task-edit-text{font-size:16px; font-weight:600;}
.sv-task-edit-note{width:100%; margin-top:8px; font-size:14.5px; border:1px solid var(--sky-line); border-radius:8px; padding:6px 8px; resize:vertical; color:var(--ink);}
.sv-task-edit-deadline{margin-top:8px; font-size:13px; color:var(--ink); -webkit-text-fill-color:var(--ink); font-weight:600; color-scheme:light;}
.sv-task-edit-deadline.is-unset{color:var(--slate-2); -webkit-text-fill-color:var(--slate-2); font-weight:400;}
.sv-task-edit-remove, .sv-task-edit-delete{position:absolute; top:0; width:26px; height:26px; border:none; background:none; color:var(--slate-2); cursor:pointer;}
.sv-task-edit-remove{right:28px; color:var(--good);}
.sv-task-edit-delete{right:0;}
.sv-task-edit-delete:hover{color:var(--stamp);}
.sv-task-edit-pencil{position:absolute; top:0; right:0; width:26px; height:26px; border:none; background:none; color:var(--slate-2); cursor:pointer;}
.sv-task-edit-pencil svg{width:16px; height:16px;}
.sv-task-edit-pencil:hover{color:var(--visa);}
.sv-task-add{display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-top:16px; padding-top:14px; border-top:1px solid var(--sky-line);}
.sv-task-add input[type=text], .sv-task-add input:not([type]){flex:1; min-width:160px; color:var(--ink);}
.sv-task-add input[type="datetime-local"]{color:var(--ink); -webkit-text-fill-color:var(--ink); font-weight:600; color-scheme:light;}
.sv-task-add input[type="datetime-local"].is-unset{color:var(--slate-2); -webkit-text-fill-color:var(--slate-2); font-weight:400;}
.sv-task-add input::placeholder, .sv-task-edit-text::placeholder, .sv-task-edit-note::placeholder{color:var(--slate);}
.sv-info-grid{display:grid; grid-template-columns:1fr; gap:0 16px;}
.sv-desktop .sv-info-grid{grid-template-columns:1fr 1fr;}
.sv-info-grid input[type="date"]{color:var(--ink); -webkit-text-fill-color:var(--ink); font-weight:600; color-scheme:light;}
.sv-info-grid input[type="date"].is-unset{color:var(--slate-2); -webkit-text-fill-color:var(--slate-2); font-weight:400;}
.crit-task.is-done .criterion-task-text{color:var(--slate); text-decoration:line-through; text-decoration-color:var(--slate-2);}

.criterion-task-text{font-size:18px; font-weight:700; line-height:1.4; color:var(--ink);}
.crit-block.is-team .criterion-task-text{font-size:16px; font-weight:600; color:var(--ink-soft);}
.criterion-task-note{
  font-size:15px; line-height:1.6; color:var(--ink-soft); margin-top:8px;
  padding-left:12px; border-left:2px solid var(--sky-line);
}

.crit-files{display:flex; flex-direction:column; gap:8px; margin-top:12px;}
.crit-file{
  display:flex; align-items:center; gap:12px; width:100%; text-align:left; cursor:pointer;
  padding:11px 13px; border:1px solid var(--sky-line); border-radius:13px;
  background:var(--paper); font-family:var(--font-body); color:var(--ink);
  transition:border-color .14s, box-shadow .14s;
}
.crit-file:hover{border-color:var(--visa); box-shadow:var(--shadow-card);}
.crit-file-sheet{
  flex-shrink:0; width:38px; height:46px; border-radius:7px; border:1px solid var(--sky-line);
  background:var(--sky); color:var(--visa); display:flex; align-items:center; justify-content:center;
}
.crit-file-sheet svg{width:19px; height:19px;}
.crit-file-text{min-width:0; display:flex; flex-direction:column; gap:3px;}
.crit-file-name{font-size:15.5px; font-weight:700; line-height:1.35; overflow-wrap:anywhere;}
.crit-file-sub{font-size:13px; color:var(--slate); line-height:1.35;}

.crit-docrow{display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:15px 0 0; margin-top:14px; border-top:1px solid var(--sky-line);}
.crit-docrow-text{flex:1; min-width:180px;}
.crit-docrow-name{font-size:16px; font-weight:700; line-height:1.35; display:flex; align-items:center; gap:8px; flex-wrap:wrap; overflow-wrap:anywhere;}
.crit-docrow-sub{font-size:14.5px; color:var(--slate); margin-top:4px; line-height:1.45;}
.crit-docrow-actions{display:flex; gap:8px; flex-wrap:wrap;}

.crit-empty{text-align:center; padding:34px 20px; background:var(--paper); border:1px dashed var(--sky-line); border-radius:18px;}
.crit-empty-icon{color:var(--slate-2); margin-bottom:12px;}
.crit-empty-icon svg{width:34px; height:34px;}
.crit-empty-title{font-size:18px; font-weight:800; margin-bottom:7px;}
.crit-empty-text{font-size:15px; line-height:1.6; color:var(--slate); margin:0 auto; max-width:420px;}

.crit-block .shared-file-grid{grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)); gap:16px; margin-top:14px;}
.crit-block .shared-file-name{font-size:14.5px; line-height:1.4; color:var(--ink); font-weight:600; margin-top:9px;}
.crit-block .shared-file-sheet{border-radius:12px;}
.crit-block .shared-file-ext{font-size:13px; padding:4px 9px;}
.crit-block .shared-file-lock svg{width:14px; height:14px;}

@media (max-width:640px){
  .crit-head{padding:16px 16px 14px; gap:8px;}
  .crit-head-emoji{width:44px; height:44px; font-size:24.5px; border-radius:13px;}
  .crit-head-title{font-size:21px;}
  .crit-body{padding:14px 14px 36px;}
  .crit-block{padding:15px 14px; border-radius:16px;}
  .crit-block-title{font-size:18px;}
  .criterion-task-text{font-size:17.5px;}
  .crit-block .shared-file-grid{grid-template-columns:repeat(auto-fill, minmax(120px, 1fr)); gap:12px;}
  .crit-grid-title{font-size:19px;}
  .share-screen .evidence-card{padding:15px 16px;}
  .share-doc{flex-wrap:wrap;}
  .share-docs{padding:18px 16px;}
  .share-docs-title{font-size:19px;}
  .share-doc--slot{padding:14px 14px 14px 17px;}
  .share-doc-cta{flex:1 1 auto;}
  .share-doc--slot.has-file .share-doc-actions .btn{flex:1 1 auto; justify-content:center;}
}

.emp-page{max-width:1180px;}

.emp-gone{
  display:flex; gap:12px; align-items:flex-start; margin-bottom:16px;
  border:1.5px solid var(--stamp); background:var(--stamp-soft);
}
.emp-gone-ic{display:flex; color:var(--stamp); flex-shrink:0;}
.emp-gone-ic svg{width:20px; height:20px;}
.emp-gone b{font-size:15px; color:var(--stamp);}

.emp-hero{
  display:flex; gap:20px; align-items:center; margin-bottom:16px; flex-wrap:wrap;
  background:linear-gradient(135deg, var(--visa-soft) 0%, var(--paper) 62%);
}
.emp-hero-face{flex-shrink:0;}
.emp-hero-body{flex:1 1 260px; min-width:0;}
.emp-hero-name{font-size:23.5px; font-weight:700; line-height:1.2; margin:0; overflow-wrap:anywhere;}
.emp-hero-role{font-size:14.5px; color:var(--slate); margin-top:3px; overflow-wrap:anywhere;}
.emp-hero-pills{display:flex; gap:6px; flex-wrap:wrap; margin-top:10px;}
.emp-hero-edit{flex-shrink:0;}
.emp-hero-edit svg{margin-right:6px; vertical-align:-2px;}

.emp-cols{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; align-items:start;}

.emp-facts{display:flex; flex-direction:column; gap:12px;}
.emp-fact{display:flex; flex-direction:column; gap:2px; min-width:0;}
.emp-fact-k{font-size:12.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--slate-2);}
.emp-fact-v{font-size:15px; font-weight:600; color:var(--ink); display:flex; align-items:center; gap:8px; flex-wrap:wrap; overflow-wrap:anywhere;}
.emp-flag{font-size:20px; line-height:1;}
.emp-soon{font-size:12.5px; font-weight:600; color:var(--visa); background:var(--visa-soft); border-radius:99px; padding:2px 8px;}
.emp-link{color:var(--visa); text-decoration:none; display:inline-flex; align-items:center; gap:6px; font-weight:600; overflow-wrap:anywhere;}
.emp-link:hover{text-decoration:underline;}
.emp-link svg{width:13px; height:13px;}
.emp-link:focus-visible{outline:2px solid var(--visa); outline-offset:2px; border-radius:4px;}
.emp-hobbies{font-size:14.5px; line-height:1.55; color:var(--ink-soft); margin:0; overflow-wrap:anywhere;}

.emp-ua{
  display:flex; align-items:center; gap:10px; margin-top:14px; padding:10px 14px;
  border-radius:var(--radius-md); border:1px solid var(--sky-line); background:var(--sky);
  font-size:14.5px; font-weight:600; color:var(--ink-soft);
}
.emp-ua-flag{font-size:21px; line-height:1;}

.emp-stats{display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:10px;}
.emp-stats .stat-tile{padding:14px 14px; gap:6px; background:var(--sky); border-color:transparent;}
.emp-stats .num{font-size:27.5px;}
.emp-stats .label{font-size:12.5px; line-height:1.3;}
.emp-client-group{font-size:11.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-soft); margin:14px 0 6px;}

.emp-client{
  width:100%; text-align:left; background:transparent; border:none;
  border-bottom:1px solid var(--sky-line); cursor:pointer; font:inherit; color:var(--ink);
  padding:11px 6px;
}
.emp-client:last-child{border-bottom:none;}
.emp-client:hover{background:var(--sky);}
.emp-client:focus-visible{outline:2px solid var(--visa); outline-offset:-2px; border-radius:8px;}
.emp-client-name{flex:1; min-width:0; font-weight:600; font-size:14.5px; overflow-wrap:anywhere;}
.emp-client-go{display:flex; color:var(--slate-2); flex-shrink:0;}
.emp-client-go svg{width:15px; height:15px;}

@media(max-width:1080px){
  .emp-cols{grid-template-columns:minmax(0,1fr);}
}

.team-person{
  width:100%; text-align:left; font:inherit; color:var(--ink); cursor:pointer;
  background:transparent; border:1px solid var(--sky-line); border-radius:12px; padding:12px;
  transition:border-color .12s ease, box-shadow .12s ease, transform .12s ease;
  display:block;
}
.team-person:hover{border-color:var(--visa); box-shadow:var(--shadow-card); transform:translateY(-1px);}
.team-person:focus-visible{outline:2px solid var(--visa); outline-offset:2px;}
.team-person--compact{width:auto; padding:10px 12px;}
.team-person-head{display:flex; align-items:center; gap:14px; min-width:0;}
.team-person-head > div{min-width:0;}
.team-person-name{font-weight:600; font-size:14.5px; overflow-wrap:anywhere;}
.team-person-pills{display:flex; gap:6px; flex-wrap:wrap; margin-top:10px;}

.doc-file-chips{display:flex; flex-wrap:wrap; gap:6px; margin-top:6px;}
.doc-auto-placed{display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-top:6px; color:var(--visa-ink);}
.doc-auto-placed svg{width:14px; height:14px;}

.petition-workspace-grid{position:relative}
.pw-files-panel{
  position:absolute; top:0; right:0; bottom:0;
  width:376px; max-width:100%;
  display:flex; flex-direction:column;
  background:var(--paper); border-left:1px solid var(--sky-line);
  box-shadow:-22px 0 44px -30px rgba(12,37,29,.45);
}
:root[data-theme="dark"] .pw-files-panel{box-shadow:-22px 0 44px -26px rgba(0,0,0,.6)}
.pw-files-head{display:flex; align-items:center; gap:10px; padding:11px 12px 11px 14px; border-bottom:1px solid var(--sky-line)}
.pw-files-title{display:flex; align-items:center; gap:8px; flex:1; min-width:0; font-size:15px}
.pw-files-title svg{width:18px; height:18px; flex:none}
.pw-files-search{display:flex; align-items:center; gap:8px; padding:10px 12px; border-bottom:1px solid var(--sky-line)}
.pw-files-search svg{width:15px; height:15px; color:var(--slate-2); flex:none}
.pw-files-search input{flex:1; min-width:0; border:1px solid var(--sky-line); border-radius:var(--radius-sm); padding:6px 9px; font-size:14px; background:var(--paper); color:var(--ink)}
.pw-files-note{display:flex; align-items:flex-start; gap:8px; margin:10px 12px 0; padding:9px 10px; border-radius:var(--radius-sm); background:var(--amber-soft); color:var(--amber); font-size:13px; line-height:1.45}
.pw-files-note svg{width:15px; height:15px; flex:none; margin-top:1px}
.pw-files-note .icon-btn{width:22px; height:22px; flex:none; margin-left:auto}
.pw-files-scroll{flex:1; min-height:0; overflow-y:auto; padding:10px 12px 18px}

.pw-files-summary{display:flex; flex-direction:column; gap:3px; padding:9px 11px; margin-bottom:10px; border-radius:var(--radius-sm); background:var(--sky); font-size:14px}
.pw-files-summary b{font-weight:600}
.pw-files-summary small{color:var(--slate); line-height:1.45}
.pw-files-warn{display:flex; gap:9px; padding:10px 11px; margin-bottom:10px; border-radius:var(--radius-sm); background:var(--amber-soft); color:var(--amber)}
.pw-files-warn svg{width:16px; height:16px; flex:none; margin-top:1px}
.pw-files-warn b{display:block; font-size:14px; margin-bottom:2px}
.pw-files-warn p{margin:0; font-size:13px; line-height:1.45}
.pw-files-group-label{margin:12px 0 6px; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--slate-2)}
.pw-files-group-label:first-child{margin-top:0}

.pw-mat-state{padding:12px 12px 11px; margin-bottom:10px; border-radius:var(--radius-sm); background:var(--sky); border:1px solid var(--sky-line)}
.pw-mat-score{display:flex; align-items:baseline; gap:6px; line-height:1}
.pw-mat-score b{font-size:27.5px; font-weight:650; letter-spacing:-.02em; color:var(--ink)}
.pw-mat-score i{font-style:normal; font-size:14.5px; color:var(--slate)}
.pw-mat-score-label{margin-top:3px; font-size:13px; color:var(--slate); line-height:1.35}
.pw-mat-ticks{display:flex; gap:3px; margin-top:9px}
.pw-mat-ticks span{flex:1; min-width:3px; height:6px; border-radius:3px; background:var(--sky-line)}
.pw-mat-ticks span.is-has{background:var(--good)}
.pw-mat-ticks span.is-templates{background:var(--amber); opacity:.55}
.pw-mat-facts{list-style:none; margin:9px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:3px 10px}
.pw-mat-facts li{font-size:12.5px; color:var(--slate); position:relative}
.pw-mat-facts li+li::before{content:'·'; position:absolute; left:-6.5px; color:var(--slate-2)}

.pw-mat-note{display:flex; gap:10px; padding:11px 12px; margin-bottom:10px; border-radius:var(--radius-sm); background:var(--paper); border:1px dashed var(--sky-line)}
.pw-mat-note svg{width:20px; height:20px; flex:none; margin-top:1px; opacity:.5}
.pw-mat-note b{display:block; font-size:14px; margin-bottom:3px}
.pw-mat-note p{margin:0; font-size:12.5px; line-height:1.5; color:var(--slate)}

.pw-mat-mark{width:22px; height:22px; border-radius:6px; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--sky-line); background:var(--paper); color:var(--slate)}
.pw-mat-mark b{font-size:11px; font-weight:650; letter-spacing:.02em}
.pw-mat-mark.is-has{border-color:transparent; background:var(--good-soft); color:var(--good)}
.pw-mat-mark svg{width:15px; height:15px}

.pw-files-row-tags{display:flex; flex-wrap:wrap; align-items:center; gap:2px 7px; margin-top:2px}
.pw-tag{font-style:normal; font-size:12px; line-height:1.5; color:var(--slate)}
.pw-tag.is-muted{color:var(--slate-2)}
.pw-tag.is-warn{color:var(--amber)}
.pw-tag.is-state{padding:1px 6px; border-radius:999px; background:var(--sky-line); color:var(--ink); font-size:11px; letter-spacing:.02em}

.pw-mat-missing{padding:9px 11px; margin-bottom:9px; border-radius:var(--radius-sm); background:var(--sky); border:1px solid var(--sky-line)}
.pw-mat-missing b{display:block; font-size:12.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--slate-2); margin-bottom:5px}
.pw-mat-missing ul{margin:0; padding-left:15px}
.pw-mat-missing li{font-size:12.5px; line-height:1.5; color:var(--ink)}
.pw-mat-missing em{font-style:normal; color:var(--slate-2)}

.pw-files-row{display:flex; align-items:center; gap:9px; width:100%; text-align:left; padding:8px 9px; margin-bottom:4px; border:1px solid transparent; border-radius:var(--radius-sm); background:transparent; color:var(--ink); cursor:pointer; font:inherit}
.pw-files-row:hover:not(:disabled){background:var(--sky); border-color:var(--sky-line)}
.pw-files-row.is-empty{opacity:.62}
.pw-files-row:disabled{cursor:default}
.pw-files-row.is-na{opacity:.45}
.pw-files-row.is-catch-all:not(.is-empty){background:var(--amber-soft)}
.pw-files-row-ic{flex:none; display:flex}
.pw-files-row-ic svg{width:19px; height:19px}
.pw-files-row-body{flex:1; min-width:0; display:flex; flex-direction:column; gap:1px}
.pw-files-row-body b{font-size:14px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.pw-files-row-body small{font-size:12.5px; color:var(--slate); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.pw-files-row-go{flex:none; display:flex; color:var(--slate-2)}
.pw-files-row-go svg{width:15px; height:15px}
.pw-files-row .pill{flex:none}

.pw-files-crumbs{display:flex; align-items:center; flex-wrap:wrap; gap:3px; margin-bottom:8px; font-size:12.5px}
.pw-files-crumbs button{border:0; background:transparent; padding:2px 3px; color:var(--visa); cursor:pointer; font:inherit; max-width:170px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.pw-files-crumbs button:disabled{color:var(--ink); cursor:default}
.pw-files-crumbs svg{width:12px; height:12px; color:var(--slate-2)}
.pw-files-stat{margin:0 0 8px; font-size:12.5px; color:var(--slate)}
.pw-files-hint{margin:-4px 0 8px; font-size:12.5px; color:var(--slate-2)}
.pw-files-empty{margin:8px 0; font-size:13px; color:var(--slate)}
.pw-files-empty-state{text-align:center; padding:26px 14px; color:var(--slate)}
.pw-files-empty-state svg{width:34px; height:34px; opacity:.55}
.pw-files-empty-state b{display:block; margin:8px 0 4px; font-size:14.5px; color:var(--ink)}
.pw-files-empty-state p{margin:0; font-size:13px; line-height:1.5}

.pw-files-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(112px, 1fr)); gap:10px; margin-top:8px}
.pw-files-tile{display:flex; flex-direction:column; align-items:center; gap:3px; min-width:0}
.pw-files-tile-meta{font-size:12px; color:var(--slate-2); text-align:center; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%}

.file-preview-body{display:flex; align-items:center; justify-content:center; background:var(--sky); border-radius:10px}
.file-preview-note{text-align:center; padding:40px 20px}
.file-preview-note svg{width:26px; height:26px; margin-bottom:8px; color:var(--slate-2)}
.file-preview-note .btn{margin-top:10px}
.file-preview-img{max-width:100%; max-height:100%; width:auto; height:auto; border-radius:8px; object-fit:contain}
.file-preview-pdf{width:100%; height:100%; overflow:auto; border-radius:8px}
.file-preview-media{max-width:100%; max-height:100%; border-radius:8px; background:#000}
.file-preview-doc{width:100%; height:100%; background:#fff; color:#0c251d; border-radius:8px; overflow:auto; padding:24px}
.file-preview-doc a{color:#0B8367}
.file-preview-doc th, .file-preview-doc td{border-color:#d6eae4}
.file-preview-text{width:100%; height:100%; margin:0; overflow:auto; padding:18px; background:var(--paper); border-radius:8px; font:12px/1.6 var(--font-mono); white-space:pre-wrap; word-break:break-word}

@media (max-width:1440px){ .pw-files-panel{width:352px} }
@media (max-width:1300px){ .pw-files-panel{width:328px} }
@media (max-width:1080px){ .pw-files-panel{width:100%; border-left:0} }


.voice-root{position:relative; display:flex;}

.voice-mic-btn{position:relative; display:inline-flex; align-items:center; gap:8px;
  background:transparent; border:1px solid transparent; border-radius:999px;
  padding:4px 12px 4px 4px; cursor:pointer; color:var(--ink);
  transition:background .15s ease, border-color .15s ease;}
.voice-mic-btn:hover{background:var(--sky); border-color:var(--sky-line);}
.voice-mic-btn.is-live{background:var(--stamp-soft); border-color:var(--stamp);}
.voice-head-ava{position:relative; flex:0 0 auto; line-height:0;}
.voice-head-face{width:34px; height:34px; border-radius:50%; object-fit:cover; display:block;}
.voice-head-ava .online-dot{left:0; bottom:0; width:10px; height:10px;}
.voice-head-text{display:flex; flex-direction:column; line-height:1.15; text-align:left;}
.voice-head-text b{font-size:14.5px; font-weight:700;}
.voice-head-text i{font-style:normal; font-size:11.5px; font-weight:600; color:var(--slate-2); letter-spacing:.2px;}
.voice-mic-btn svg{width:17px; height:17px;}
.voice-mic-pulse{position:absolute; inset:-3px; border-radius:13px; border:2px solid var(--stamp);
  animation:voicepulse 1.3s ease-out infinite; pointer-events:none;}
@keyframes voicepulse{0%{transform:scale(.9); opacity:.9} 100%{transform:scale(1.25); opacity:0}}

.voice-panel{position:fixed; right:18px; top:64px; width:580px; max-width:calc(100vw - 36px);
  max-height:calc(var(--vh100) - 96px); overflow-y:auto; z-index:340;
  background:var(--paper); border:1px solid var(--sky-line); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-pop); padding:20px 22px 22px; animation:popin .16s cubic-bezier(.16,1,.3,1);}
.voice-panel .btn{font-size:14.5px; padding:8px 14px; border-radius:10px; gap:7px;}
.voice-panel .btn-sm{padding:6px 11px; font-size:13px; border-radius:8px;}
.voice-panel .btn svg{width:15px; height:15px;}
.voice-panel-head{display:flex; align-items:center; gap:11px; margin-bottom:14px;}
.voice-brand{display:flex; align-items:center; gap:8px; color:var(--ink); flex:0 0 auto;}
.voice-brand-ava{position:relative; flex:0 0 auto; line-height:0;}
.voice-brand-face{width:60px; height:60px; border-radius:50%; object-fit:cover; object-position:50% 50%; display:block;}
.voice-brand-ava .online-dot{left:3px; bottom:3px; width:14px; height:14px;}
.voice-brand-name{display:flex; flex-direction:column; line-height:1.15; font-weight:700; font-size:15px; letter-spacing:.2px;}
.voice-brand-name i{font-style:normal; font-weight:600; font-size:12px; color:var(--muted); letter-spacing:.3px;}
.voice-state{font-size:12.5px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--slate);}
.voice-state.is-listening{color:var(--visa);}
.voice-state.is-confirm{color:var(--visa);}
.voice-state.is-done{color:var(--good);}
.voice-state.is-asking{color:var(--stamp);}
.voice-state.is-misheard{color:var(--amber);}
.voice-state.is-error{color:var(--stamp);}
.voice-langs{display:flex; gap:3px; margin-left:auto; background:var(--sky); border-radius:99px; padding:3px;}
.voice-langs button{border:0; background:transparent; cursor:pointer; border-radius:99px;
  padding:3px 11px; font-size:12.5px; font-weight:800; color:var(--slate-2); font-family:inherit;}
.voice-langs button.is-on{background:var(--paper); color:var(--visa); box-shadow:var(--shadow-card);}
.aiteam-langs{margin:6px 14px 0; width:fit-content;}
.voice-scope{font-size:13px; color:var(--ink-soft); background:var(--visa-soft); border-radius:99px; padding:3px 11px;}
.voice-scope b{color:var(--visa-ink);}
.voice-scope-off{background:var(--sky); color:var(--slate-2);}
.voice-close{margin-left:auto; width:30px; height:30px;}
.voice-close svg{width:15px; height:15px;}

.voice-heard{font-size:15px; line-height:1.55; color:var(--ink); background:var(--sky);
  border-radius:var(--radius-md); padding:12px 15px; margin-bottom:12px; min-height:92px;
  max-height:220px; overflow-y:auto;}

.voice-recording{display:flex; align-items:center; gap:11px; font-size:15px; font-weight:600;
  color:var(--ink-soft); background:var(--sky); border:1px solid var(--sky-line);
  border-radius:var(--radius-md); padding:12px 16px; margin-bottom:14px;}
.voice-recording .btn{margin-left:auto;}
.voice-recording-dot{width:9px; height:9px; border-radius:50%; background:var(--stamp);
  animation:voicerec 1.1s ease-in-out infinite; flex-shrink:0;}
@keyframes voicerec{0%,100%{opacity:1} 50%{opacity:.25}}
.voice-idle{display:flex; align-items:center; gap:12px; margin-bottom:14px; flex-wrap:wrap;}
.voice-idle .btn{display:inline-flex; align-items:center; gap:7px;}
.voice-idle .voice-idle-note{margin:0;}
.voice-greeting{display:block; margin-bottom:10px; color:var(--ink);}
.voice-idle-note{font-size:13px; color:var(--slate-2); margin-bottom:14px;}
.voice-examples{font-size:14px; line-height:1.65; color:var(--slate-2); background:var(--sky);
  border-radius:var(--radius-md); padding:12px 16px; margin-bottom:14px;}
.voice-examples b{display:block; color:var(--ink); margin-bottom:4px;}
.voice-examples i{font-style:normal; color:var(--ink); font-weight:600;}

.voice-row-client .voice-val{color:var(--visa);}
.voice-client-warn{font-size:14px; line-height:1.55; font-weight:600; color:var(--visa);
  background:var(--sky); border-left:3px solid var(--visa); border-radius:6px;
  padding:10px 14px; margin:6px 0 8px;}

.voice-dup{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:8px 0 3px;}
.voice-dup .btn{font-size:13px;}
.voice-dup em{font-style:normal; color:var(--slate-2); font-weight:500;}

.voice-undo{font-size:14px; line-height:1.6; color:var(--ink-soft); background:var(--sky);
  border-radius:var(--radius-md); padding:14px 17px; margin:11px 0;}
.voice-undo b{color:var(--ink);}
.voice-unsupported,.voice-question,.voice-notice{font-size:14px; line-height:1.55; color:var(--ink-soft);
  background:var(--amber-soft); border-radius:var(--radius-md); padding:14px 17px; margin-bottom:14px;}
.voice-error{font-size:14px; line-height:1.55; color:var(--stamp);
  background:var(--stamp-soft); border-radius:var(--radius-md); padding:14px 17px; margin-bottom:14px;}

.voice-textline{display:flex; gap:11px; margin-bottom:14px;}
.voice-textline input{flex:1; min-width:0; font-size:14.5px; padding:8px 11px;}
.voice-manual-toggle{border:0; background:transparent; padding:0; margin-bottom:14px; cursor:pointer;
  font-family:inherit; font-size:13px; font-weight:700; color:var(--slate-2); text-decoration:underline dotted;}
.voice-manual-toggle:hover{color:var(--visa);}

.voice-plan{display:flex; flex-direction:column; gap:14px;}
.voice-plan-list{display:flex; flex-direction:column; gap:14px; max-height:min(52vh, 460px); overflow-y:auto;
  padding-right:4px; scrollbar-width:thin;}
.voice-tally{font-size:13px; font-weight:700; color:var(--slate-2);}
.voice-done-mark{font-size:12px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--good);}
.voice-card.is-done{opacity:.62;}

.voice-card.is-destructive{border-color:var(--stamp); background:rgba(214,69,38,.05);}
.voice-card.is-destructive.has-problem{border-color:var(--amber); background:var(--amber-soft);}
.pill.pill-danger{background:rgba(214,69,38,.12); color:var(--stamp); font-weight:800;}
.voice-row-danger .voice-val{color:var(--stamp); font-weight:800; text-decoration:line-through;}

.voice-row-field .voice-val{color:var(--visa-ink);}
.voice-row-change .voice-val-was{color:var(--slate-2); font-weight:600;}
.voice-money-ok{margin:9px 0 3px; padding:9px 11px; border:1px solid var(--stamp); border-radius:var(--radius-sm);
  background:rgba(214,69,38,.06); font-size:14px; font-weight:700; color:var(--stamp);
  display:flex; flex-wrap:wrap; align-items:center; gap:9px;}
.voice-card{border:1px solid var(--sky-line); border-radius:var(--radius-md); padding:14px 17px;}
.voice-card.has-problem{border-color:var(--amber); background:var(--amber-soft);}
.voice-card-head{display:flex; align-items:center; gap:11px; margin-bottom:11px;}
.voice-changed{font-size:12px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--visa);}

.voice-row{display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; font-size:14.5px; padding:3px 0;}
.voice-key{flex:0 0 100px; color:var(--slate-2); font-size:12.5px; font-weight:700;}
.voice-val{flex:1; min-width:0; color:var(--ink); font-weight:600; overflow-wrap:anywhere;}
.voice-val-bad{color:var(--stamp); text-decoration:underline dotted;}
.voice-ctx{color:var(--slate-2); font-weight:500;}
.voice-row.is-changed .voice-val{background:var(--visa-soft); border-radius:6px; padding:1px 5px;}
.voice-was{flex-basis:100%; margin-left:108px; font-size:12.5px; color:var(--slate-2); text-decoration:line-through;}

.voice-choose{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:8px 0 3px;}
.voice-choose .btn{font-size:13px;}
.voice-choose em{font-style:normal; color:var(--slate-2); font-weight:500;}
.voice-problem{font-size:13px; color:var(--amber); font-weight:700; margin-top:8px;}

.voice-hint{font-size:13px; line-height:1.5; color:var(--slate-2);}
.voice-actions{display:flex; gap:11px; flex-wrap:wrap; align-items:center; margin-top:6px;}
.voice-stop{margin-bottom:14px;}
.voice-actions .voice-hint{flex:1; min-width:0; margin-bottom:14px;}
.voice-open{border:0; background:transparent; padding:0 0 0 8px; cursor:pointer;
  font:inherit; color:var(--visa); text-decoration:underline; font-weight:700;}

.voice-report{font-size:14.5px; line-height:1.6; display:flex; flex-direction:column; gap:10px;}
.voice-report-ok{color:var(--good);}
.voice-report-bad{color:var(--stamp);}

.mic-inline-btn{position:fixed; z-index:900; display:none; width:24px; height:24px; padding:0;
  align-items:center; justify-content:center; border:1px solid var(--sky-line); border-radius:50%;
  background:var(--paper); color:var(--slate); cursor:pointer; box-shadow:var(--shadow-card);
  transition:color .15s, border-color .15s, background .15s;}
.mic-inline-btn:hover{color:var(--visa); border-color:var(--visa);}
.mic-inline-btn svg{width:12px; height:12px;}
.mic-inline-btn.is-listening{color:#fff; background:var(--stamp); border-color:var(--stamp);
  animation:voicerec 1.2s ease-in-out infinite;}
.mic-inline-btn.is-error{color:var(--stamp); border-color:var(--stamp);}
input[data-mic]{padding-right:38px !important;}
@keyframes voicerec{0%,100%{box-shadow:0 0 0 0 rgba(214,69,38,.45)} 50%{box-shadow:0 0 0 5px rgba(214,69,38,0)}}

.voice-card.is-crit{border-color:var(--visa); background:var(--visa-soft);}
.voice-card.is-crit.has-problem{border-color:var(--amber); background:var(--amber-soft);}
.voice-row-crit .voice-val{color:var(--visa-ink);}
.voice-choose .btn.is-suggested{border-color:var(--visa); color:var(--visa-ink);}

.voice-pick{display:flex; flex-wrap:wrap; align-items:flex-start; gap:8px; margin:8px 0 3px;}
.voice-pick-box{position:relative; flex:1; min-width:180px;}
.voice-pick-box input{width:100%; font-size:14px; padding:7px 10px;}
.voice-pick-hits{margin-top:5px; border:1px solid var(--sky-line); border-radius:var(--radius-sm);
  background:var(--paper); overflow:hidden; max-height:190px; overflow-y:auto;}
.voice-pick-hits button{display:block; width:100%; text-align:left; border:0; background:transparent;
  padding:7px 10px; font:inherit; font-size:14px; color:var(--ink); cursor:pointer;}
.voice-pick-hits button:hover{background:var(--sky);}
.voice-pick-hits button:focus-visible{outline:2px solid var(--visa); outline-offset:-2px;}
.voice-pick-hits em{font-style:normal; color:var(--slate-2);}
.voice-pick-empty{margin-top:5px; font-size:12.5px; color:var(--slate-2);}

@media (max-width:1300px){ .voice-panel{width:520px;} }
@media (max-width:900px){ .voice-panel .voice-key{flex-basis:84px;} .voice-panel .voice-was{margin-left:92px;} }


.voice-fab{display:none;}
@keyframes voicesheet{from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:none}}
.voice-fab-pulse{position:absolute; inset:-4px; border-radius:50%; border:2px solid var(--stamp);
  animation:voicepulse 1.3s ease-out infinite; pointer-events:none;}

@media (max-width:720px){
  .voice-mic-btn{display:none;}
  .voice-fab{
    position:fixed; right:14px; bottom:calc(72px + env(safe-area-inset-bottom, 0px)); z-index:330;
    display:inline-flex; align-items:center; justify-content:center;
    width:62px; height:62px; border-radius:50%; border:0; padding:0; cursor:pointer;
    background:var(--visa); color:#fff; box-shadow:0 8px 22px rgba(28,91,73,.30);
  }
  .voice-fab svg{width:27px; height:27px;}
  .voice-fab.is-live{background:var(--stamp);}

  .voice-panel{
    inset:0; width:auto; max-width:none; height:var(--vh100); max-height:var(--vh100);
    border:0; border-radius:0; box-shadow:none; padding:12px 14px calc(12px + env(safe-area-inset-bottom, 0px));
    display:block; overflow-y:auto; overscroll-behavior:contain;
    animation:voicesheet .14s ease-out;
  }
  .voice-panel-head{flex-wrap:wrap; gap:8px; position:sticky; top:0; z-index:4;
    background:var(--paper); margin:-12px -14px 10px; padding:10px 14px 8px;
    border-bottom:1px solid var(--sky-line);}
  .voice-brand-face{width:40px; height:40px;}
  .voice-brand-ava .online-dot{left:1px; bottom:1px; width:11px; height:11px;}
  .voice-scope{flex-basis:100%; order:5;}
  .voice-langs{margin-left:auto;}

  .voice-row{flex-direction:column; align-items:stretch; gap:1px; padding:5px 0;}
  .voice-panel .voice-key, .voice-chat .voice-key{flex:0 0 auto; flex-basis:auto; font-size:12.5px;}
  .voice-panel .voice-val{font-size:15.5px;}
  .voice-panel .voice-was, .voice-chat .voice-was{flex-basis:auto; margin-left:0; font-size:13px;}
  .voice-card{padding:12px 13px;}
  .voice-card-head{flex-wrap:wrap; gap:7px; margin-bottom:8px;}

  .voice-choose, .voice-dup, .voice-pick{flex-direction:column; align-items:stretch; gap:7px;}
  .voice-choose .btn, .voice-dup .btn{width:100%; justify-content:flex-start; text-align:left;
    white-space:normal; min-height:44px; line-height:1.4; font-size:14.5px;}
  .voice-pick-box{min-width:0;}
  .voice-pick-box input{font-size:17px; padding:10px 11px;}

  .voice-plan-list{max-height:none; overflow:visible;}

  .voice-actions--confirm{
    position:sticky; bottom:calc(-12px - env(safe-area-inset-bottom, 0px)); z-index:3;
    margin:6px -14px calc(-12px - env(safe-area-inset-bottom, 0px));
    padding:10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
    background:var(--paper); border-top:1px solid var(--sky-line); gap:8px;
  }
  .voice-panel .voice-actions--confirm .btn{flex:1 1 40%; min-height:46px; justify-content:center;
    font-size:15px; white-space:normal;}
  .voice-money-ok{font-size:14.5px;}
  .voice-panel .voice-money-ok .btn{width:100%; margin-top:8px; min-height:44px; justify-content:center;}
  .voice-heard{font-size:16px;}
  .voice-textline input{font-size:17px;}
}

.assistant-page .voice-root{display:block;}
.voice-panel.voice-chat{
  position:static; width:auto; max-width:none; inset:auto; z-index:auto;
  height:calc(var(--vh100) - 210px); min-height:420px; max-height:none;
  display:flex; flex-direction:column; overflow:hidden; animation:none;
  padding:16px 18px;
}
.voice-chat .vchat-feed{flex:1; min-height:0; overflow-y:auto; padding:14px; background:linear-gradient(180deg,#f7fdfb 0%,#f2fcf9 100%);
  display:flex; flex-direction:column; gap:10px;}
.vchat-empty{font-size:14.5px; line-height:1.65; color:var(--slate-2); background:var(--sky);
  border-radius:var(--radius-md); padding:14px 16px;}
.vchat-empty i{font-style:normal; color:var(--ink); font-weight:600;}

.vchat-msg.is-me{margin-left:auto; flex-direction:row-reverse;}
.vchat-ava{flex:0 0 auto; line-height:0;}

.vchat-msg{display:flex; align-items:flex-end; gap:8px; max-width:100%;}
.vchat-ava img{width:32px; height:32px; border-radius:50%; object-fit:cover; display:block;}
.vchat-text{font-size:15px; line-height:1.55; white-space:pre-line; word-break:break-word;}
.vchat-time{font-size:11px; margin-top:2px; opacity:.55; text-align:right; font-variant-numeric:tabular-nums;}
.vchat-msg.is-me .vchat-time{opacity:.75;}
.vchat-bubble{position:relative; max-width:min(640px,74%); background:#fff;
  border:1px solid var(--sky-line); border-radius:16px 16px 16px 5px;
  padding:10px 14px 8px; box-shadow:0 1px 2px rgba(20,60,49,.05); min-width:0;}
.vchat-msg.is-me .vchat-bubble{background:var(--visa); border-color:transparent; color:#fff; border-radius:16px 16px 5px 16px;}



.voice-chat .voice-plan, .voice-chat .voice-report, .voice-chat .voice-question,
.voice-chat .voice-heard, .voice-chat .voice-recording{flex:0 0 auto;}
.voice-chat .voice-plan-list{max-height:min(38vh, 360px);}
.vchat-ask{max-width:92%; flex:0 0 auto; margin-top:2px; align-items:flex-start;}
.vchat-ask .vchat-bubble{background:var(--paper); border-color:var(--visa);}
.vchat-q{font-weight:700; color:var(--ink); margin-top:3px;}
.vchat-picks{display:flex; flex-wrap:wrap; gap:7px; margin-top:9px;}
.vchat-picks .btn{font-size:14px; white-space:normal; text-align:left;}
.vchat-picks em{font-style:normal; color:var(--slate-2); font-weight:500;}
.vchat-hint{font-size:12.5px; color:var(--slate-2); margin-top:8px;}
.vchat-composer{display:flex; align-items:center; gap:8px; margin-top:0;
  padding:12px 14px; border-top:1px solid var(--sky-line); background:var(--card,#fff);}
.vchat-mic{flex:0 0 auto; width:44px; height:44px; border-radius:50%; border:1px solid var(--sky-line);
  background:var(--paper); color:var(--visa); cursor:pointer; display:inline-flex;
  align-items:center; justify-content:center;}
.vchat-mic svg{width:20px; height:20px;}
.vchat-mic.is-live{background:var(--stamp); border-color:var(--stamp); color:#fff;
  animation:voicerec 1.1s ease-in-out infinite;}
.vchat-input{flex:1; min-width:0; display:flex; gap:9px;}
.vchat-input input{flex:1; min-width:0; font-size:15px; padding:12px 16px; border-radius:22px; background:var(--sky);}
.vchat-input .btn{min-height:44px;}
.vchat-promise{font-size:12.5px; color:var(--slate-2); padding:10px 2px 0;}

@media (max-width:720px){
  .voice-panel.voice-chat{
    position:static; inset:auto; animation:none; display:block; overflow:visible;
    height:auto; min-height:0; max-height:none;
    padding:0; border:0; border-radius:0;
  }
  .voice-panel.voice-chat .voice-panel-head{position:static; margin:0 0 10px; padding:0 0 8px;}
  .voice-chat .vchat-feed{flex:none; overflow:visible; max-height:none; padding:0 0 8px;}
  .voice-chat .voice-plan-list{max-height:none; overflow:visible;}
  .vchat-composer{position:sticky; bottom:0; z-index:4; background:var(--paper);
    margin:12px -12px 0; padding:10px 12px calc(10px + env(safe-area-inset-bottom, 0px));}
  .voice-chat .voice-panel-head{position:static; padding:0;}
  .vchat-msg{max-width:92%;}
  .vchat-ask{max-width:100%;}
  .vchat-picks .btn{width:100%; justify-content:flex-start; min-height:44px;}
  .vchat-input input{font-size:17px;}
  .assistant-page .voice-fab{display:none;}
  .voice-chat .voice-actions--confirm{position:static; margin:6px 0 0; padding:10px 0 0;}
}






.cpaged-scroll{background:var(--sky)}
.cpaged-slot{position:relative;margin:0 auto 22px}
.cpaged-scale{position:absolute;left:0;top:0}
.cpaged-scale .cpage{box-shadow:0 10px 30px #1c315b1f;outline:1px solid #dcf1ea}
.cpaged-num{position:absolute;left:0;bottom:-17px;font:11px Manrope,Arial,sans-serif;color:#7ca095}
.cpaged-frame{border:2px solid #37e3b2;border-radius:10px;background:#2f6feb0f;cursor:move;touch-action:none;opacity:.62;transition:opacity .12s,box-shadow .12s}
.cpaged-frame.is-active{opacity:1;border-width:3px;box-shadow:0 0 0 4px #2f6feb2e}
.cpaged-frame.is-client{border-style:dashed;background:#f5f8ff99}
.cpaged-frame-tag{position:absolute;left:0;top:-19px;font:11px/1 Manrope,Arial,sans-serif;color:#37e3b2;background:#fff;padding:2px 6px;border-radius:6px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.cframe.is-overlap{outline:2px solid #d94646; outline-offset:1px; background:rgba(217,70,70,.08);}
.cpaged-frame-warn{position:absolute; right:0; bottom:-17px; font:11px/1.2 Manrope,Arial,sans-serif; color:#d94646; white-space:nowrap;}
.cplace-overlap{margin-right:auto; font:12.5px Manrope,Arial,sans-serif; color:#d94646; align-self:center;}
.cpaged-corner{position:absolute;right:-9px;bottom:-9px;width:18px;height:18px;padding:0;border:2px solid #fff;border-radius:5px;background:#37e3b2;cursor:nwse-resize;touch-action:none;opacity:0}
.cpaged-frame.is-active .cpaged-corner{opacity:1}

.cplace{width:min(1280px,100%)}
.cplace-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--sky-line);background:var(--paper)}
.cplace-head-title b{font:700 16px/1.25 var(--font-display);color:var(--ink)}
.cplace-head-title p{margin:4px 0 0;max-width:62ch}
.cplace-head-actions{display:flex;align-items:center;gap:10px}
.cplace-body{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 360px;min-height:0}
.cplace-doc{display:flex;flex-direction:column;min-width:0;min-height:0}
.cplace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;border-bottom:1px solid var(--sky-line);background:var(--paper)}
.cplace-toolbar-label{font:600 12.5px/1 var(--font-body);color:var(--slate)}
.cplace-zoom{display:flex;align-items:center;gap:4px}
.cplace-zoom-btn{width:28px;height:28px;padding:0;border:1px solid var(--sky-line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink-soft);font:600 15px/1 var(--font-body);cursor:pointer}
.cplace-zoom-btn:hover:not(:disabled){background:var(--sky);border-color:var(--visa)}
.cplace-zoom-btn:disabled{opacity:.4;cursor:default}
.cplace-zoom-value{min-width:44px;text-align:center;font:600 12.5px/1 var(--font-mono);color:var(--ink-soft)}
.cplace-scroll{flex:1;min-height:0;padding:20px 16px}

.cplace-side{display:flex;flex-direction:column;gap:12px;padding:14px;border-left:1px solid var(--sky-line);background:var(--sky);overflow:auto}
.cplace-block{background:var(--paper);border:1px solid var(--sky-line);border-radius:var(--radius-md);padding:12px 13px;display:flex;flex-direction:column;gap:10px}
.cplace-block-quiet{background:transparent;border-style:dashed}
.cplace-block-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.cplace-block-head h4{margin:0;font:700 13.5px/1.2 var(--font-display);color:var(--ink)}
.cplace-count{font:600 11.5px/1 var(--font-mono);color:var(--slate-2)}

.cplace-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.cplace-list li{display:flex;align-items:center;gap:9px;padding:8px 9px;border:1px solid var(--sky-line);border-radius:var(--radius-sm);background:var(--paper);cursor:pointer}
.cplace-list li:hover{border-color:color-mix(in srgb,var(--visa) 40%,transparent);background:var(--sky)}
.cplace-list li.is-active{border-color:var(--visa);background:var(--visa-soft);box-shadow:inset 3px 0 0 var(--visa)}
.cplace-dot{flex:none;width:9px;height:9px;border-radius:3px;background:var(--visa)}
.cplace-list li.is-client .cplace-dot{background:transparent;border:2px dashed var(--visa)}
.cplace-list-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.cplace-list-text b{font:700 12.5px/1.25 var(--font-body);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cplace-list-text span{font:500 11.5px/1.2 var(--font-mono);color:var(--slate)}
.cplace-del{flex:none;width:24px;height:24px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--slate-2);font-size:14.5px;cursor:pointer}
.cplace-del:hover{background:var(--stamp-soft);color:var(--stamp)}
.cplace-add{display:grid;grid-template-columns:1fr 1fr;gap:6px}

.cplace-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cplace-field{display:flex;flex-direction:column;gap:4px}
.cplace-field>span{font:600 11.5px/1.2 var(--font-body);color:var(--slate)}
.cplace-field input{width:100%;font-size:15px}
.cplace-field input[type=number]{font-family:var(--font-mono)}
.cplace-field-label{font:600 11.5px/1.2 var(--font-body);color:var(--slate)}
.cplace-nudge{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cplace-pad{display:grid;grid-template-areas:'. up .' 'left . right' '. down .';gap:3px}
.cplace-pad-btn{width:28px;height:28px;padding:0;border:1px solid var(--sky-line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink-soft);font:600 13px/1 var(--font-body);cursor:pointer}
.cplace-pad-btn:hover{background:var(--visa-soft);border-color:var(--visa);color:var(--visa-ink)}
.cplace-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.cplace-note{margin:0;font-size:12.5px;line-height:1.45}

@media(max-width:960px){
  .cplace-body{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1.1fr) minmax(0,1fr)}
  .cplace-side{border-left:0;border-top:1px solid var(--sky-line)}
  .cplace-head{padding:12px 14px}
  .cplace-head-actions{width:100%}
  .cplace-head-actions .btn{flex:1}
}

.contract-sign-pages{box-sizing:border-box;max-width:980px;margin:0 auto 18px;padding:0 8px}
.contract-sign-pages .cpage{box-shadow:0 14px 42px #1f335516;outline:1px solid #dcf1ea}
.csign-manager{pointer-events:none}
.csign-client{border:3px dashed #37e3b2;border-radius:12px;background:#f5fffc;display:flex;align-items:center;justify-content:center}
.csign-client-hint{font:12px Manrope,Arial,sans-serif;color:#4aa88c;text-align:center;padding:0 8px}
.csign-client.is-filled{border-style:solid;background:transparent}
.contract-sign-padbar{box-sizing:border-box;max-width:980px;margin:0 auto 18px;padding:16px;background:#f5fffc;border:3px solid #37e3b2;border-radius:15px;box-shadow:0 0 0 5px #2f6feb18}
.contract-sign-padbar-lead{margin:0 0 12px;font:600 13.5px/1.45 Manrope,Arial,sans-serif;color:#22735c}
.contract-sign-pad{max-width:640px;margin:0 auto}
.contract-sign-pad+.contract-sign-pad{margin-top:16px;padding-top:16px;border-top:2px dashed #bbf0e1}
.contract-sign-pad.is-filled .contract-sign-field-head b{color:#1B8A33}
.contract-sign-pad.is-filled .contract-sign-field-head b::after{content:' ✓'}
.contract-sign-padbar-canvas{display:block;height:auto;width:auto;min-height:150px;max-height:230px;max-width:100%;margin:0 auto}
@media(max-width:700px){
  .contract-sign-pages{padding:0 8px}
  .contract-sign-padbar{margin-left:8px;margin-right:8px;padding:12px}
  .contract-sign-padbar-canvas{min-height:170px}
}

.rail-logo{ position:relative; overflow:visible; }
.season-layer{
  position:absolute; inset:-9px -13px -7px -11px;
  pointer-events:none; z-index:2;
}
.season-layer .season-deco{ width:100%; height:100%; display:block; overflow:visible; }
.season-deco path, .season-deco circle{ vector-effect:non-scaling-stroke; }
.s-snowcap{ fill:#fff; }
.s-flake{ fill:none; stroke:#bef3e2; stroke-width:1.5; stroke-linecap:round; }
.s-dot{ fill:#d5f9ed; }
.s-grass{ fill:#5cae4a; }
.s-leaf{ fill:#7cc95f; }
.s-sun{ fill:#f7c948; stroke:#f7c948; stroke-width:1.6; stroke-linecap:round; }
.s-palm{ fill:#3fa66b; }
.s-shell{ fill:#f0a6a0; }
.s-sand{ stroke:#efdcc0; stroke-width:2.5; stroke-linecap:round; }
.s-maple{ fill:#e2622b; }
.s-leaf-a{ fill:#f0913a; }
.s-leaf-b{ fill:#e8b24a; }
.s-leaf-c{ fill:#d9552a; }

.aiteam-send{flex:none; width:44px; height:44px; border-radius:50%; border:0; padding:0;
  background:var(--visa,#0B8367); color:#fff; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  transition:background .15s ease, transform .12s ease;}
.aiteam-send svg{width:19px; height:19px; stroke:currentColor; fill:none;}
.aiteam-send:hover{background:var(--visa-deep,#1daa88);}
.aiteam-send:active{transform:scale(.94);}
.aiteam-send:disabled{opacity:.45; cursor:default;}
.aiteam-send.is-live{background:var(--stamp,#B7791F); animation:aiteam-mic-pulse 1.3s ease-in-out infinite;}
@keyframes aiteam-mic-pulse{0%,100%{box-shadow:0 0 0 0 rgba(183,121,31,.45);}50%{box-shadow:0 0 0 7px rgba(183,121,31,0);}}

.deadline-clock{display:inline-flex; align-items:center; gap:8px; padding:7px 12px;
  border-radius:999px; background:var(--visa-soft); color:var(--visa);
  font-family:var(--font-body); white-space:nowrap;}
.deadline-clock.is-urgent{background:var(--stamp-soft); color:var(--stamp);}
.deadline-clock-lead{display:inline-flex; line-height:0;}
.deadline-clock-lead svg{width:15px; height:15px;}
.deadline-clock-word{font-size:12.5px; font-weight:600; opacity:.85;}
.deadline-clock-unit{display:inline-flex; align-items:baseline; gap:2px;}
.deadline-clock-unit b{font-size:16px; font-weight:800; letter-spacing:.02em;
  font-variant-numeric:tabular-nums; font-feature-settings:'tnum' 1;}
.deadline-clock-unit i{font-style:normal; font-size:11.5px; font-weight:600; opacity:.7;}
@media (max-width:640px){
  .deadline-clock{gap:6px; padding:6px 10px;}
  .deadline-clock-unit b{font-size:15px;}
}

.pl-hero{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,700px); gap:48px;
  align-items:center; padding:0 8px; max-width:1360px; margin:0 auto;
  min-height:calc(var(--vh100) - 190px);}
.pl-hero-text h2{font-family:var(--font-display); font-size:46px; line-height:1.12;
  letter-spacing:-.01em; margin:0 0 18px; color:var(--ink);}
.pl-hero-text p{font-size:16px; line-height:1.6; color:var(--slate); margin:0 0 28px; max-width:520px;}
.pl-hero-btn{display:inline-flex; align-items:center; gap:10px; font-size:16px;
  padding:15px 28px; border-radius:12px;}
.pl-hero-btn svg{width:18px; height:18px;}
.pl-pick{max-width:520px;}
.pl-pick input{width:100%; font-size:16px; padding:15px 18px; border-radius:12px;
  border:1px solid var(--sky-line); background:var(--paper);}
.pl-pick input:focus{outline:none; border-color:var(--visa);}
.pl-pick-list{margin-top:10px; display:flex; flex-direction:column; gap:4px;
  max-height:280px; overflow-y:auto;}
.pl-pick-list button{display:flex; align-items:baseline; justify-content:space-between; gap:12px;
  text-align:left; background:var(--paper); border:1px solid var(--sky-line); border-radius:10px;
  padding:12px 14px; cursor:pointer; font-family:var(--font-body);}
.pl-pick-list button:hover{border-color:var(--visa); background:var(--sky);}
.pl-pick-list b{font-size:15px; display:flex; align-items:center; gap:8px;}
.pl-pick-list span{font-size:12.5px; color:var(--slate);}
.pl-hero-card{position:relative; height:640px; overflow:hidden; border-radius:22px;
  background:linear-gradient(135deg,#effbf8 0%,#e5f7f2 100%);}
.pl-hero-face{position:absolute; left:-6px; bottom:0; height:104%; width:auto; display:block;
  -webkit-mask-image:radial-gradient(circle at 0% 100%, transparent 0, transparent 34px, #000 130px);
  mask-image:radial-gradient(circle at 0% 100%, transparent 0, transparent 34px, #000 130px);}
.pl-hero-side{position:relative; z-index:1; margin-left:44%; padding:44px 30px 44px 10px;
  display:flex; flex-direction:column; align-items:flex-start; gap:6px;}
.pl-hero-side>b{font-family:var(--font-display); font-size:30px; line-height:1.1; color:var(--ink);}
.pl-hero-side>i{font-style:normal; font-size:15px; font-weight:600; color:var(--visa);}
.pl-hero-online{display:inline-flex; align-items:center; gap:7px; font-size:13.5px;
  color:var(--slate); margin-bottom:12px;}
.pl-hero-online .online-dot, .fw-hero-online .online-dot{position:static; width:8px; height:8px;
  border:0; flex:none;}
.pl-hero-bubble{background:#fff; border-radius:14px; padding:16px 18px; font-size:15px;
  line-height:1.55; color:var(--ink); box-shadow:0 2px 10px rgba(20,60,49,.07); margin-bottom:16px;}
@media (max-width:1080px){
  .pl-hero{grid-template-columns:1fr; gap:28px; padding:28px 4px; min-height:0;}
  .pl-hero-text h2{font-size:34px;}
  .pl-hero-card{height:auto;}
  .pl-hero-face{display:none;}
  .pl-hero-side{margin-left:0; padding:22px;}
}

body.pw-collapsed .rail{display:flex !important;}

.pw-resizer{position:absolute; left:0; top:0; bottom:0; width:5px; cursor:col-resize;
  z-index:3; background:transparent; border:0; padding:0;}
.pw-resizer::before{content:''; position:absolute; left:-3px; right:-3px; top:0; bottom:0;}
.pw-resizer::after{content:''; position:absolute; left:2px; top:0; bottom:0; width:1px;
  background:transparent; transition:background .12s;}
.pw-resizer:hover::after, .pw-resizer:focus-visible::after, .pw-resizer.is-dragging::after{background:var(--visa);}
.pw-resizer:focus-visible{outline:none;}
.petition-workspace-grid.is-resizing{user-select:none; cursor:col-resize;}
.pw-susan{position:relative;}

.voice-more{background:none; border:0; padding:2px 0; margin-top:2px; cursor:pointer;
  font:600 11px/1.4 var(--font-body); color:var(--visa); text-align:left;}
.voice-more:hover{text-decoration:underline;}

.leader-monica{display:flex; align-items:center; gap:12px; width:100%; text-align:left;
  cursor:pointer; border:1px solid var(--sky-line); font-family:var(--font-body);}
.leader-monica:hover{border-color:var(--visa);}
.leader-monica:focus-visible{outline:2px solid var(--visa); outline-offset:2px;}
.leader-monica-ava{position:relative; width:44px; height:44px; flex:none;}
.leader-monica-ava img{width:44px; height:44px; border-radius:50%; object-fit:cover; display:block;}
.leader-monica-ava .online-dot{position:absolute; right:-2px; bottom:-2px;}
.leader-monica-text{display:flex; flex-direction:column; gap:3px; min-width:0;}
.leader-monica-text b{font-size:14.5px; line-height:1.3;}
.leader-monica-text span{font-size:12.5px; line-height:1.5; color:var(--slate);}
.leader-monica{flex-wrap:wrap;}
.leader-monica-text{margin-right:auto;}
.leader-monica-mic{display:inline-flex; align-items:center; gap:6px;}
.leader-monica-mic svg{width:14px; height:14px;}
.leader-monica-skills{display:block; margin:-8px 0 16px 2px; background:none; border:0;
  padding:4px 0; cursor:pointer; font:600 13px/1.4 var(--font-body); color:var(--visa);}
.leader-monica-skills:hover{text-decoration:underline;}

.petition-workspace-grid{grid-template-columns:clamp(248px, 29%, 400px) minmax(0,1fr) var(--pw-susan-w, clamp(300px, 29%, 440px));}
.petition-workspace-grid.is-left-collapsed{grid-template-columns:58px minmax(0,1fr) var(--pw-susan-w, clamp(300px, 29%, 440px));}
.petition-workspace-page.is-collapsed{margin:-4px 0 0; padding:0; height:auto; min-height:0;}
.petition-workspace-page.is-collapsed .petition-workspace-grid{height:70vh; min-height:520px;}
.petition-workspace-page.is-fullscreen{height:var(--vh100);}
.pw-view-btn{white-space:nowrap;}
.petition-workspace-top{flex-wrap:wrap; row-gap:8px;}
.petition-workspace-top-actions{flex-wrap:wrap; justify-content:flex-end;}

.pw-left-ident{padding:2px 8px 10px; border-bottom:1px solid var(--sky-line); margin-bottom:8px;}
.pw-left-ident b{display:block; font-size:calc(var(--pw-fs) + 1px); line-height:1.3;}
.pw-left-ident small{display:block; margin-top:2px; font-size:calc(var(--pw-fs) - 2.5px); color:var(--slate);}
.pw-mat-tools{display:flex; flex-direction:column; gap:7px; padding:0 4px 9px;}
.pw-mat-search{display:flex; align-items:center; gap:6px; padding:0 8px; border:1px solid var(--sky-line);
  border-radius:9px; background:var(--paper);}
.pw-mat-search svg{width:14px; height:14px; color:var(--slate); flex:none;}
.pw-mat-search input{flex:1; min-width:0; border:0; background:transparent; outline:none; padding:7px 0;
  font-size:calc(var(--pw-fs) - 1.5px); font-family:var(--font-body); color:var(--ink);}
.pw-mat-filters{display:flex; flex-wrap:wrap; gap:5px;}
.pw-mat-filter{border:1px solid var(--sky-line); background:var(--paper); color:var(--slate); cursor:pointer;
  border-radius:99px; padding:3px 9px; font-size:calc(var(--pw-fs) - 3px); font-weight:700;
  font-family:var(--font-body); display:inline-flex; align-items:center; gap:4px;}
.pw-mat-filter i{font-style:normal; opacity:.65;}
.pw-mat-filter.active{background:var(--visa-soft); border-color:var(--visa); color:var(--visa-ink);}
.pw-mat-selected{position:sticky; top:0; z-index:3; background:var(--visa-soft); border:1px solid var(--visa);
  border-radius:10px; padding:8px; margin:0 4px 9px;}
.pw-mat-selected-head{display:flex; align-items:center; justify-content:space-between; gap:8px;
  font-size:calc(var(--pw-fs) - 2px);}
.pw-mat-selected-list{display:flex; flex-wrap:wrap; gap:4px; margin-top:6px; max-height:132px; overflow-y:auto;}
.pw-mat-selected-list .link-chip{font-size:calc(var(--pw-fs) - 3.5px); max-width:100%; overflow:hidden; text-overflow:ellipsis;}
.petition-workspace-page .pw-mat-selected-list .icon-btn{width:16px; height:16px; background:transparent;}
.petition-workspace-page .pw-mat-selected-list .icon-btn svg{width:10px; height:10px;}
.pw-mat-dup{margin:6px 0 0; font-size:calc(var(--pw-fs) - 3px); line-height:1.5; color:var(--amber);}
.pw-crit-block{margin-bottom:2px;}
.pw-crit-row{display:flex; align-items:stretch; gap:0; padding:0;}
.pw-crit-twisty{flex:none; width:22px; border:0; background:transparent; color:var(--slate); cursor:pointer;
  display:flex; align-items:center; justify-content:center; padding:0;}
.pw-crit-twisty svg{width:13px; height:13px;}
.pw-crit-twisty.is-empty{cursor:default;}
.pw-crit-main{flex:1; min-width:0; display:flex; align-items:center; gap:8px; border:0; background:transparent;
  cursor:pointer; padding:7px 8px 7px 0; text-align:left; font-family:var(--font-body); color:inherit;}
.pw-crit-files{display:block; margin-top:2px; font-size:calc(var(--pw-fs) - 3.5px); color:var(--slate);}
.pw-crit-open{margin:2px 0 8px 10px; padding:8px; border-left:2px solid var(--sky-line); background:color-mix(in srgb,var(--sky) 40%,var(--paper)); border-radius:0 10px 10px 0;}
.pw-crit-open-head{display:flex; align-items:center; gap:9px; margin-bottom:7px;}
.pw-crit-open-head .crit-folder{width:34px; height:29px;}
.pw-crit-open-head .crit-folder-svg svg{width:34px; height:29px;}
.pw-crit-icon{width:22px; height:18px;}
.pw-crit-icon .crit-folder-svg svg{width:22px; height:18px;}
.pw-crit-open-head b{display:block; font-size:calc(var(--pw-fs) - 1.5px); line-height:1.3;}
.pw-crit-open-head small{display:block; font-size:calc(var(--pw-fs) - 3.5px); color:var(--slate);}
.pw-crit-open-head .petition-linkish{margin-left:auto; flex:none;}
.pw-mat-folder{display:flex; align-items:center; gap:7px; width:100%; border:0; background:transparent;
  cursor:pointer; padding:5px 8px; border-radius:7px; text-align:left; font-family:var(--font-body); color:inherit;}
.pw-mat-folder:hover{background:var(--paper);}
.pw-mat-folder.is-root{padding:8px; border:1px solid var(--sky-line); background:var(--paper); margin-bottom:2px;}
.pw-mat-folder-ic{flex:none; display:flex;}
.pw-mat-folder-ic svg{width:20px; height:17px; display:block;}
.pw-mat-folder b{flex:1; min-width:0; font-size:calc(var(--pw-fs) - 1.5px); font-weight:700; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap;}
.pw-mat-folder small{flex:none; font-size:calc(var(--pw-fs) - 1.5px); color:var(--slate);}
.pw-mat-file{display:flex; align-items:center; gap:7px; padding:4px 8px; border-radius:7px;}
.pw-mat-file:hover{background:var(--paper);}
.pw-mat-file input[type=checkbox]{flex:none; accent-color:var(--visa); width:14px; height:14px; cursor:pointer;}
.pw-mat-file-body{flex:1; min-width:0; border:0; background:transparent; cursor:pointer; text-align:left;
  padding:0; font-family:var(--font-body); color:inherit;}
.pw-mat-file-body b{display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  font-size:calc(var(--pw-fs) - 2px); font-weight:600; line-height:1.35; overflow:hidden; overflow-wrap:anywhere;}
.pw-mat-file-body small{display:block; font-size:calc(var(--pw-fs) - 2px); color:var(--slate); line-height:1.4;}
.pw-mat-file .pill{flex:none; font-size:calc(var(--pw-fs) - 2.5px);}

.pw-center-controls{display:flex; align-items:center; gap:9px; flex-wrap:wrap;}
.pw-lang{display:inline-flex; border:1px solid var(--sky-line); border-radius:8px; overflow:hidden;}
.pw-lang-btn{border:0; background:var(--paper); color:var(--slate); cursor:pointer; padding:5px 10px;
  font-size:calc(var(--pw-fs) - 2.5px); font-weight:800; font-family:var(--font-body);}
.pw-lang-btn.active{background:var(--visa); color:#fff;}
.pw-center-fact{font-size:calc(var(--pw-fs) - 2.5px); color:var(--slate); white-space:nowrap;}
.pw-center-fact b{color:var(--ink);}
.pw-center-state{padding:3px 9px; border-radius:99px; background:var(--sky); color:var(--ink-soft);}
.petition-workspace-center-head .petition-workspace-tabs{flex:1 1 100%; flex-wrap:wrap; row-gap:2px; min-width:0;}
.pw-sources-toggle{display:inline-flex; align-items:center; gap:6px; font-size:calc(var(--pw-fs) - 2px);
  color:var(--slate); cursor:pointer; margin-left:auto;}
.pw-sources-toggle input{accent-color:var(--visa);}
.pw-audit-gate{display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:13px 15px; margin-bottom:12px;
  border:1px solid var(--sky-line); border-radius:12px; background:var(--sky);}
.pw-audit-gate b{display:block; font-size:calc(var(--pw-fs) + 0.5px);}
.pw-audit-gate p{margin:4px 0 0; font-size:calc(var(--pw-fs) - 2px); line-height:1.6; color:var(--ink-soft); max-width:56ch;}
.pw-audit-gate .btn{flex:none; margin-left:auto;}
.pw-lang-note{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:10px; padding:7px 11px;
  border:1px dashed var(--sky-line); border-radius:10px; font-size:calc(var(--pw-fs) - 2.5px); color:var(--slate);}
.pw-lang-note .btn{margin-left:auto;}
.pw-para-sources{display:flex; flex-wrap:wrap; gap:5px; margin:-4px 0 12px;}
.pw-para-sources .link-chip{font-size:calc(var(--pw-fs) - 4px);}
.pw-para-sources .link-chip.is-missing{opacity:.6; text-decoration:line-through;}
.pw-para-nosource{font-size:calc(var(--pw-fs) - 4px); color:var(--amber); font-weight:700;}
.pw-doc-actions{flex-wrap:wrap;}

button.pw-susan-head{width:100%; text-align:left; border:0; border-bottom:1px solid var(--sky-line);
  background:transparent; cursor:pointer; font-family:var(--font-body); color:inherit;}
.pw-susan-ava img{border-radius:50%; object-fit:cover;}
.pw-susan-ctx{display:block; margin-top:2px; font-size:calc(var(--pw-fs) - 3.5px); color:var(--slate);
  font-style:normal; line-height:1.4; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.pw-susan-commands{flex:none; display:flex; flex-wrap:wrap; gap:5px; padding:9px 12px;
  border-bottom:1px solid var(--sky-line);}
.pw-susan-commands .pw-susan-chip{font-size:calc(var(--pw-fs) - 3.5px);}
.pw-susan-commands .pw-susan-chip i{font-style:normal; opacity:.7;}

@media (max-width:1400px){
  .petition-workspace-grid{grid-template-columns:clamp(232px, 27%, 320px) minmax(0,1fr) var(--pw-susan-w, clamp(292px, 27%, 360px));}
  .petition-workspace-grid.is-left-collapsed{grid-template-columns:58px minmax(0,1fr) var(--pw-susan-w, clamp(292px, 27%, 360px));}
}
@media (max-width:1080px){
  .pw-mat-selected{position:static;}
  .pw-susan-commands{max-height:none;}
  .petition-workspace-grid,
  .petition-workspace-grid.is-left-collapsed{grid-template-columns:1fr;}
}


.aiteam-head{margin-bottom:14px;}
.aiteam-split{display:grid;grid-template-columns:320px 1fr;gap:16px;align-items:stretch;
  height:calc(var(--vh100) - 210px);min-height:420px;}
.aiteam-list{background:var(--card,#fff);border:1px solid var(--sky-line,#e4f2ee);border-radius:14px;
  overflow-y:auto;padding:8px;}
.aiteam-row{display:flex;gap:10px;align-items:center;width:100%;text-align:left;background:none;
  border:0;border-radius:10px;padding:10px;cursor:pointer;}
.aiteam-row:hover{background:var(--sky,#f2fcf9);}
.aiteam-row.is-active{background:var(--sky,#f2fcf9);box-shadow:inset 2px 0 0 var(--visa,#0B8367);}
.aiteam-ava{width:55px;height:55px;flex-shrink:0;position:relative;}
.aiteam-ava img{width:55px;height:55px;border-radius:50%;object-fit:cover;}
.aiteam-ava-glyph{display:flex;align-items:center;justify-content:center;width:48px;height:48px;
  border-radius:50%;background:var(--sky,#f2fcf9);color:var(--slate,#668c81);}
.aiteam-ava-glyph svg{width:24px;height:24px;}
.aiteam-row-text{min-width:0;flex:1;display:block;}
.aiteam-row-text b{display:flex;gap:6px;align-items:baseline;font-size:16px;}
.aiteam-row-text b i{font-style:normal;font-size:12.5px;color:var(--slate,#668c81);font-weight:600;}
.aiteam-row-text em{display:block;font-style:normal;font-size:14.5px;color:var(--slate,#668c81);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px;}
.aiteam-chat{display:flex;flex-direction:column;min-width:0;background:var(--card,#fff);
  border:1px solid var(--sky-line,#e4f2ee);border-radius:14px;overflow:hidden;}
.aiteam-chat-head{display:flex;gap:10px;align-items:center;padding:10px 14px;
  border-bottom:1px solid var(--sky-line,#e4f2ee);}
.aiteam-chat-name b{display:block;font-size:17px;}
.aiteam-chat-name i{font-style:normal;font-size:14px;color:var(--slate,#668c81);}
.aiteam-back{display:none;}
.aiteam-feed{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;}
.aiteam-embed{flex:1;overflow-y:auto;}
.aiteam-embed .voice-brand{display:none;}
.aiteam-embed{display:flex;flex-direction:column;}
.aiteam-embed .voice-panel{border:0;box-shadow:none;padding:0;display:flex;flex-direction:column;
  flex:1;min-height:0;max-height:none;}
.aiteam-embed .vchat-feed{flex:1;min-height:0;}
.aiteam-embed .voice-root{display:flex;flex-direction:column;flex:1;min-height:0;}


.aiteam-msg{display:flex;gap:8px;align-items:flex-end;max-width:100%;}
.aiteam-msg.is-me{justify-content:flex-end;}
.aiteam-msg-ava{width:38px;height:38px;flex-shrink:0;}
.aiteam-msg-ava img{width:38px;height:38px;border-radius:50%;object-fit:cover;}
.aiteam-bubble{position:relative;max-width:min(640px,74%);background:#fff;
  border:1px solid var(--sky-line,#e4f2ee);
  border-radius:16px 16px 16px 5px; padding:10px 14px 8px;
  font-size:16px; line-height:1.55; box-shadow:0 1px 2px rgba(20,60,49,.05);}
.aiteam-msg.is-me .aiteam-bubble{background:var(--visa,#0B8367);color:#fff;border-color:transparent;
  border-radius:16px 16px 5px 16px;}
.aiteam-bubble.is-denied{background:#fff8e6;border-color:#f0e2bd;box-shadow:inset 2px 0 0 var(--stamp,#B7791F);}
.aiteam-text{white-space:pre-wrap;word-break:break-word;}
.aiteam-time{font-size:12.5px;opacity:.55;margin-top:2px;text-align:right;
  font-variant-numeric:tabular-nums;}
.aiteam-msg.is-me .aiteam-time{opacity:.75;}
.aiteam-picks{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.aiteam-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;
  font-size:12px;line-height:1.4;opacity:.72;}
.aiteam-src{flex:1 1 160px;min-width:0;}
.aiteam-conf{flex:none;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:600;
  border:1px solid transparent;white-space:nowrap;}
.aiteam-conf.is-high{background:#e8f6ed;border-color:#bfe3cd;color:#1f6b3b;}
.aiteam-conf.is-medium{background:#fdf3e2;border-color:#f0dcb4;color:#8a5b12;}
.aiteam-conf.is-low{background:#fdeceb;border-color:#f4c9c6;color:#8f2f28;}
.aiteam-warn{margin-top:8px;font-size:12.5px;line-height:1.45;color:#8a5b12;}
.aiteam-proposal{margin-top:10px;border:1px solid var(--sky-line,#e4f2ee);border-radius:12px;
  padding:10px 12px;background:#fbfefd;}
.aiteam-proposal-head{font-weight:600;font-size:13px;margin-bottom:6px;}
.aiteam-proposal-row{display:flex;gap:8px;font-size:12.5px;line-height:1.5;}
.aiteam-proposal-row i{flex:none;opacity:.6;font-style:normal;min-width:88px;}
.aiteam-proposal-row b{font-weight:600;min-width:0;overflow-wrap:anywhere;}
.aiteam-proposal-values{margin-top:8px;display:flex;flex-direction:column;}
.aiteam-proposal-value-row{padding:6px 0;border-top:1px solid var(--sky-line,#e4f2ee);}
.aiteam-proposal-value-row:first-child{border-top:none;}
.aiteam-proposal-value-top{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:12.5px;line-height:1.5;}
.aiteam-proposal-value-top b{font-weight:600;flex:0 0 auto;min-width:0;overflow-wrap:anywhere;}
.aiteam-proposal-value-top span{flex:1 1 120px;min-width:0;overflow-wrap:anywhere;}
.aiteam-proposal-value-src{font-size:11px;opacity:.6;margin-top:2px;overflow-wrap:anywhere;}
.aiteam-typing{display:inline-flex; align-items:center; gap:5px; margin-left:40px;
  background:#fff; border:1px solid var(--sky-line,#e4f2ee); border-radius:16px 16px 16px 5px;
  padding:14px 16px; box-shadow:0 1px 2px rgba(20,60,49,.05); width:fit-content;}
.aiteam-typing i{width:7px; height:7px; border-radius:50%; background:var(--slate-2,#8aada3);
  display:inline-block; animation:aiteam-dot 1.2s ease-in-out infinite;}
.aiteam-typing i:nth-child(2){animation-delay:.18s;}
.aiteam-typing i:nth-child(3){animation-delay:.36s;}
@keyframes aiteam-dot{0%,60%,100%{transform:translateY(0); opacity:.45;}30%{transform:translateY(-5px); opacity:1;}}
.aiteam-note{font-size:12.5px;color:var(--slate-2,#8aada3);padding:2px 4px 6px;}
.aiteam-menu-veil{position:fixed;inset:0;z-index:60;}
.aiteam-menu{position:fixed;z-index:61;min-width:180px;background:var(--card,#fff);
  border:1px solid var(--sky-line,#e4f2ee);border-radius:14px;padding:6px;
  box-shadow:0 12px 32px rgba(20,60,49,.18);display:flex;flex-direction:column;
  transform-origin:top left; animation:aiteam-menu-in .16s cubic-bezier(.2,.9,.3,1.2);}
@keyframes aiteam-menu-in{
  from{opacity:0; transform:scale(.86) translateY(-4px);}
  to{opacity:1; transform:scale(1) translateY(0);}
}
.aiteam-msg.is-held .aiteam-bubble{transform:scale(1.03); transition:transform .16s ease;
  box-shadow:0 8px 20px rgba(20,60,49,.14);}
.aiteam-bubble{transition:transform .16s ease, box-shadow .16s ease;}
.aiteam-msg{transition:opacity .18s ease, transform .18s ease, max-height .22s ease, margin .22s ease;}
.aiteam-msg.is-going{opacity:0; transform:scale(.9) translateX(24px); max-height:0; margin:0; overflow:hidden;}
.aiteam-menu button{border:0;background:none;text-align:left;padding:11px 14px;
  border-radius:10px;font:600 14.5px/1.2 var(--font-body);color:var(--ink);cursor:pointer;}
.aiteam-menu button:hover{background:var(--sky,#f2fcf9);}
.aiteam-menu button.is-danger{color:var(--stamp,#B7791F);}
.aiteam-msg{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;}
.aiteam-composer input,.aiteam-composer{-webkit-user-select:auto;user-select:auto;}
.aiteam-feed{background:linear-gradient(180deg,#f7fdfb 0%,#f2fcf9 100%);}
.aiteam-composer{display:flex;gap:8px;padding:12px 14px;align-items:center;
  border-top:1px solid var(--sky-line,#e4f2ee);background:var(--card,#fff);}
.aiteam-composer input{flex:1;min-width:0;border:1px solid var(--sky-line,#e4f2ee);
  border-radius:22px;padding:12px 16px;font-size:16px;font-family:inherit;background:var(--sky,#f7fdfb);}
.aiteam-composer input:focus{outline:none;border-color:var(--visa,#0B8367);background:#fff;}
.aiteam-composer .btn{border-radius:22px;padding:11px 16px;}
.aiteam-composer .btn svg{width:18px;height:18px;}
.aiteam-mic{width:42px;height:42px;}
.aiteam-mic svg{width:18px;height:18px;}
.voice-handoff{margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--sky,#f2fcf9);
  font-size:14px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;}

@media (max-width:720px){
  .aiteam-split{grid-template-columns:1fr;height:calc(var(--vh100) - 180px);}
  .aiteam-split .aiteam-chat{display:none;}
  .aiteam-split.is-chat .aiteam-list{display:none;}
  .aiteam-split.is-chat .aiteam-chat{display:flex;}
  .aiteam-back{display:inline-flex;}
  .aiteam-bubble{max-width:86%;}
}

.claude-page{display:grid;grid-template-columns:260px 1fr;grid-template-rows:minmax(0,1fr);gap:16px;height:calc(var(--vh100) - 140px);}
.claude-empty-mark{width:56px;height:56px;margin:0 auto 14px;opacity:.4;color:var(--visa);}
.claude-empty-mark svg{width:100%;height:100%;}
.claude-sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;}
.claude-thread-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px;}
.claude-thread-item{display:flex;align-items:center;gap:6px;padding:9px 10px;border-radius:9px;cursor:pointer;}
.claude-thread-item:hover{background:var(--sky);}
.claude-thread-item.active{background:var(--visa-soft);}
.claude-thread-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;}
.claude-thread-acts{display:none;gap:2px;flex-shrink:0;}
.claude-thread-item:hover .claude-thread-acts{display:flex;}
.claude-thread-rename{width:100%;border:1px solid var(--visa);border-radius:7px;padding:4px 7px;font-size:13.5px;}
.claude-main{display:flex;flex-direction:column;min-width:0;min-height:0;}
.claude-main .aiteam-chat{flex:1;min-height:0;}
.claude-main .aiteam-feed{min-height:0;}
.claude-sources{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap;}
.claude-card{margin-top:10px;padding:10px 12px;border:1.5px solid var(--sky-line);border-radius:10px;background:var(--sky);}
.claude-card-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px;}
.claude-card .aiteam-picks{margin-top:8px;}
.claude-work-banner{padding:8px 14px;margin-bottom:8px;border-radius:10px;background:var(--visa-soft);color:var(--visa-ink);font-size:13px;}
.claude-msg-acts{display:flex;justify-content:flex-end;margin-top:4px;}
.claude-page .aiteam-msg{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text;}
.aiteam-msg.is-me .claude-msg-acts .icon-btn{color:#fff;background:transparent;}
.aiteam-msg.is-me .claude-msg-acts .icon-btn:hover{background:rgba(255,255,255,.22);}
.claude-main .aiteam-chat{position:relative;}
.cc-jump{position:absolute;right:18px;bottom:104px;z-index:4;width:36px;height:36px;
  border-radius:50%;border:1px solid var(--sky-line,#e4f2ee);background:var(--card,#fff);
  color:var(--ink-soft);font:600 17px/1 var(--font-body);cursor:pointer;
  box-shadow:0 4px 14px rgba(20,60,49,.16);}
.cc-jump:hover{background:var(--sky,#f2fcf9);}
.cc-run-dot{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;
  background:var(--visa,#0B8367);vertical-align:middle;animation:cc-run-pulse 1.1s ease-in-out infinite;}
@keyframes cc-run-pulse{0%,100%{opacity:1;}50%{opacity:.25;}}
.claude-attachment-chip{display:inline-flex;align-items:center;gap:6px;margin:0 14px 8px;padding:5px 10px;background:var(--sky);border-radius:99px;font-size:12.5px;color:var(--ink-soft);width:fit-content;}
.claude-attachment-chip svg{width:14px;height:14px;}
.claude-attachment-chip.has-image{padding:6px 12px 6px 6px;gap:9px;border-radius:14px;border:1.5px solid color-mix(in srgb, var(--slate-2) 55%, transparent);font-size:13px;}
.claude-attachment-chip .chip-thumb{width:38px;height:38px;border-radius:9px;object-fit:cover;flex-shrink:0;box-shadow:0 1px 4px rgba(20,60,49,.22);}
.claude-composer{display:flex;gap:8px;align-items:flex-end;padding:12px 14px;border-top:1px solid var(--sky-line);}
.claude-composer textarea{flex:1;resize:none;border:1px solid var(--sky-line);border-radius:10px;padding:9px 12px;font:inherit;max-height:160px;}
.claude-composer-hint{padding:0 14px 10px;}
.claude-page .aiteam-bubble{border-width:1.5px;border-color:color-mix(in srgb, var(--slate-2) 55%, transparent);box-shadow:0 1px 3px rgba(20,60,49,.09);}
.claude-page .aiteam-chat{border-width:1.5px;border-color:color-mix(in srgb, var(--slate-2) 55%, transparent);}
.claude-page .claude-composer textarea{border-width:1.5px;border-color:color-mix(in srgb, var(--slate-2) 55%, transparent);color:var(--ink);}
.claude-page .claude-composer textarea::placeholder{color:var(--slate);opacity:1;}
.claude-page .claude-thread-rename{border-width:1.5px;}
@media (max-width:720px){
  .claude-page{grid-template-columns:1fr;height:auto;}
  .claude-sidebar{max-height:180px;}
}

.fw-hero{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,700px); gap:48px;
  align-items:center; padding:56px 8px 40px; max-width:1360px; margin:0 auto;}
.fw-hero-text h2{font-family:var(--font-display); font-size:60px; line-height:1.08;
  letter-spacing:-.01em; margin:0 0 18px; color:var(--ink);}
.fw-hero-text p{font-size:16px; line-height:1.6; color:var(--slate); margin:0 0 28px; max-width:520px;}
.fw-hero-btn{display:inline-flex; align-items:center; gap:10px; font-size:16px;
  padding:15px 28px; border-radius:12px;}
.fw-hero-btn svg{width:18px; height:18px;}
.fw-hero-card{position:relative; height:640px; background:#f2fdf9; border-radius:22px; overflow:hidden;}
.fw-hero-card::before{
  content:''; position:absolute; inset:0; z-index:0;
  background:url('assets/forms-office.jpg') 14% center/cover no-repeat;
}
.fw-hero-card::after{
  content:''; position:absolute; inset:0; z-index:0;
  background:linear-gradient(100deg,
    rgba(255,255,255,.94) 0%,
    rgba(255,255,255,.78) 28%,
    rgba(255,255,255,.30) 48%,
    rgba(255,255,255,0) 64%);
}
.fw-hero-face{z-index:1; position:absolute; right:0; bottom:0; height:100%; width:auto; display:block;
  -webkit-mask-image:linear-gradient(to right, transparent 0, #000 16%);
  mask-image:linear-gradient(to right, transparent 0, #000 16%);}
.fw-hero-side{position:relative; z-index:1; margin-right:46%; padding:34px 8px 34px 26px;
  display:flex; flex-direction:column; align-items:flex-start; gap:6px;}
.fw-hero-side>b{font-family:var(--font-display); font-size:30px; line-height:1.1; color:var(--ink);}
.fw-hero-side>i{font-style:normal; font-size:15px; font-weight:600; color:var(--visa);}
.fw-hero-online{display:inline-flex; align-items:center; gap:7px; font-size:13.5px;
  color:var(--slate); margin-bottom:12px;}
.fw-hero-online .online-dot{position:static; width:8px; height:8px; flex:none;}
.fw-hero-bubble{background:#fff; border-radius:14px; padding:16px 18px; font-size:15px;
  line-height:1.55; color:var(--ink); box-shadow:0 2px 10px rgba(20,60,49,.07); margin-bottom:16px;}
@media (max-width:1080px){
  .fw-hero{grid-template-columns:1fr; gap:28px; padding:28px 4px; min-height:0;}
  .fw-hero-text h2{font-size:38px;}
  .fw-hero-card{height:auto;}
  .fw-hero-face{display:none;}
  .fw-hero-side{margin-right:0; padding:22px;}
}


.fw-left-note{padding:0 8px;}
.fw-fields{display:flex; flex-direction:column; gap:2px;}
.fw-field{padding:7px 8px; border-radius:8px; border:1px solid transparent;}
.fw-field b{display:block; font-size:calc(var(--pw-fs) - 2px); line-height:1.35; color:var(--slate);
  font-weight:700;}
.fw-field span{display:block; font-size:calc(var(--pw-fs) - 0.5px); line-height:1.4; color:var(--ink);
  margin-top:2px; overflow-wrap:anywhere;}
.fw-field em{display:block; font-style:normal; font-size:calc(var(--pw-fs) - 2px); line-height:1.4;
  color:var(--slate); margin-top:2px;}
.fw-field i{display:block; font-style:normal; font-size:calc(var(--pw-fs) - 3.5px); color:var(--slate-2);
  margin-top:3px; letter-spacing:.04em;}
.fw-field u{display:block; text-decoration:none; font-size:calc(var(--pw-fs) - 3.5px);
  color:var(--visa); margin-top:2px;}
.fw-field.is-empty{background:var(--sky); border-color:var(--sky-line);}

.fw-center-scroll{flex:1; min-height:0; overflow-y:auto; padding:16px 20px 24px;}

.fw-forms{display:flex; flex-direction:column; gap:10px;}
.fw-form{display:flex; align-items:flex-start; gap:11px; padding:12px 14px; background:var(--paper);
  border:1px solid var(--sky-line); border-radius:12px; flex-wrap:wrap;}
.fw-form-ic{width:20px; color:var(--visa); flex:none; padding-top:2px;}
.fw-form-body{flex:1 1 260px; min-width:0; display:flex; flex-direction:column; gap:3px;}
.fw-form-body>b{font-size:var(--pw-fs); line-height:1.35;}
.fw-form-actions{display:flex; flex-wrap:wrap; gap:6px; flex:none; align-items:flex-start; margin-left:auto;}

.fw-manual{margin-bottom:16px; padding:12px 14px; border-radius:12px; background:var(--sky);
  border:1px solid var(--sky-line);}
.fw-manual-head{display:flex; align-items:center; gap:8px; margin-bottom:8px;}
.fw-manual-head>span{width:18px; color:var(--slate); flex:none;}
.fw-manual-head b{font-size:calc(var(--pw-fs) + 0.5px); line-height:1.3; color:var(--ink);}
.fw-manual-row{display:flex; gap:10px; padding:5px 0; border-top:1px solid var(--sky-line);
  font-size:calc(var(--pw-fs) - 1px); line-height:1.5;}
.fw-manual-row b{flex:0 0 150px; color:var(--ink);}
.fw-manual-row span{flex:1; min-width:0; color:var(--ink-soft); overflow-wrap:anywhere;}
.fw-persons{margin-bottom:16px; padding:12px 14px; border-radius:12px; background:var(--paper);
  border:1px solid var(--sky-line);}
.fw-persons .fw-form-actions{margin:10px 0 0; justify-content:flex-start;}
.fw-persons .fw-manual-row.fw-person{align-items:center;}
.fw-persons .fw-person span{flex:1;}
.fw-persons .fw-person b{flex:none; color:var(--ink);}
.fw-persons .callout{margin-top:8px;}
.fw-manual-list{margin-top:18px; max-height:340px; overflow-y:auto;}
.fw-manual-list .fw-manual-row b{flex:0 0 118px;}
.fw-gen-msg{white-space:pre-line;}
.fw-gen-report{display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:6px;}
.fw-gen-steps{list-style:none; margin:6px 0 0; padding:0; width:100%; font:12px ui-monospace,monospace; display:grid; gap:2px;}
.fw-gen-steps li{display:flex; gap:8px; align-items:baseline; padding:2px 6px; border-radius:5px; background:var(--paper);}
.fw-gen-steps li.is-blocked{background:var(--stamp-soft); color:var(--stamp);}
.fw-gen-steps li.is-warning{background:var(--amber-soft); color:var(--amber);}
.fw-gen-steps li.is-skipped{opacity:.55;}
.fw-gen-step-name{min-width:170px; font-weight:600;}
.fw-gen-step-res{min-width:58px;}
.fw-gen-steps .hint{font:inherit; opacity:.85; white-space:normal;}
.fw-issues{margin-bottom:14px; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:var(--card);}
.fw-issues .fw-manual-head{margin:0; flex-wrap:wrap;}
.fw-issues .fw-manual-head>span.pill,.fw-issues .fw-manual-head>span.hint{width:auto; flex:none;}
.fw-issues .fw-manual-head>span.hint{font-size:12px; color:var(--ink-soft);}
.fw-issues-toggle{margin-left:auto;}
.fw-issues-bar{display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-top:10px;}
.fw-issues-bar select{appearance:auto; -webkit-appearance:menulist; width:auto; flex:none; font-size:12px; padding:4px 6px; border:1px solid var(--line); border-radius:7px; background:var(--paper); color:var(--ink);}
.fw-issues-request{width:100%; min-height:110px; margin-top:8px; padding:8px 10px; border:1px solid var(--line);
  border-radius:9px; background:var(--paper); font-family:inherit; font-size:13px; line-height:1.5; color:var(--ink); resize:vertical;}
.fw-issue{margin-top:8px; padding:8px 10px 8px 12px; border-left:3px solid var(--line); border-radius:8px; background:var(--paper);}
.fw-issue.is-blocker{border-left-color:var(--stamp); background:var(--stamp-soft);}
.fw-issue.is-critical{border-left-color:var(--amber); background:var(--amber-soft);}
.fw-issue.is-resolved{opacity:.6; border-left-color:var(--line); background:var(--paper);}
.fw-issue-head{display:flex; flex-wrap:wrap; gap:6px 10px; align-items:baseline;}
.fw-issue-sev{font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-soft);}
.fw-issue.is-blocker .fw-issue-sev{color:var(--stamp);}
.fw-issue.is-critical .fw-issue-sev{color:var(--amber);}
.fw-issue p{margin:3px 0 0; font-size:calc(var(--pw-fs) - 1px); line-height:1.45;}
.fw-issue-text{color:var(--ink);}
.fw-issue-actions{display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-top:7px;}
.fw-issue-note{flex:1 1 200px; min-width:0; font-size:12px; padding:4px 8px; border:1px solid var(--line); border-radius:7px; background:var(--card); color:var(--ink);}
.fw-issues-foot{margin-top:10px;}
.fw-masked{font-variant-numeric:tabular-nums; letter-spacing:.04em; color:var(--slate);}
.fw-sensitive{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.fw-sensitive input{flex:1 1 180px; min-width:0;}
.fw-sensitive .fw-masked{font-size:calc(var(--pw-fs) - 1px);}
.fw-review{width:100%; margin-top:8px; padding-top:8px; border-top:1px dashed var(--line);}
.fw-review-head{display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center;}
.fw-review-head .hint{font-size:12px;}
.fw-review-log{list-style:none; margin:6px 0 0; padding:0; display:grid; gap:2px; font-size:12px; color:var(--ink-soft);}
.fw-review-log li{padding:2px 6px; border-radius:5px; background:var(--paper);}
.fw-review-actions{display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-top:7px;}
.fw-review-actions .btn[disabled]{opacity:.5; cursor:not-allowed;}
.fw-review-why{margin:5px 0 0; font-size:12px;}
.fw-manual-inline{display:flex; gap:7px; align-items:flex-start; margin-top:5px; padding:6px 9px;
  border-radius:9px; background:var(--sky); font-size:calc(var(--pw-fs) - 2px); line-height:1.5;
  color:var(--ink-soft);}
.fw-manual-inline>span:first-child{width:15px; color:var(--slate); flex:none;}

.fw-fill{max-width:760px;}
.fw-fill .field{margin-bottom:14px;}
.fw-fill .field label{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.fw-spot{font:800 9.5px/1.4 var(--font-mono); letter-spacing:.06em; text-transform:uppercase;
  color:var(--visa); background:var(--visa-soft); border-radius:6px; padding:2px 6px;}
.fw-asks{margin:3px 0 5px; font-size:calc(var(--pw-fs) - 2.5px); line-height:1.5;}
.fw-no-kb{margin-top:16px;}
.fw-fill-foot{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:18px;
  padding-top:14px; border-top:1px solid var(--sky-line);}
.fw-fill-foot .hint{margin:0; margin-right:auto;}

.fw-completeness{margin-bottom:16px; padding:12px 14px; border-radius:12px; background:var(--paper);
  border:1px solid var(--sky-line);}
.fw-completeness-head{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:8px;}
.fw-badge-green{background:var(--good-soft); color:var(--good);}
.fw-badge-amber{background:var(--amber-soft); color:var(--amber);}
.fw-badge-red{background:var(--stamp-soft); color:var(--stamp);}
.fw-completeness-grid{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:10px;}
.fw-cstat{font-size:calc(var(--pw-fs) - 1.5px); font-weight:600; padding:3px 9px; border-radius:8px;}
.fw-cstat-red{background:var(--stamp-soft); color:var(--stamp);}
.fw-cstat-amber{background:var(--amber-soft); color:var(--amber);}
.fw-cstat-green{background:var(--good-soft); color:var(--good);}
.fw-issue-list{margin-top:10px; display:flex; flex-direction:column; gap:6px;}
.fw-issue{display:flex; flex-direction:column; gap:2px; padding:7px 9px; border-radius:9px;
  background:var(--sky); border:1px solid var(--sky-line); font-size:calc(var(--pw-fs) - 1.5px); line-height:1.45;}
.fw-issue b{color:var(--ink);}
.fw-issue span{color:var(--ink-soft); overflow-wrap:anywhere;}
.fw-issue-conflict{border-color:color-mix(in srgb, var(--stamp) 35%, transparent); background:var(--stamp-soft);}
.fw-issue-conflict span{color:var(--ink-soft);}
.fw-issue-amber{flex-direction:row; align-items:flex-start; gap:8px;
  border-color:color-mix(in srgb, var(--amber) 35%, transparent); background:var(--amber-soft);}
.fw-issue-amber>span:first-child{width:16px; flex:none; color:var(--amber);}

.inv-grid{ display:grid; grid-template-columns:minmax(0,420px) minmax(0,1fr); gap:16px; align-items:start; }
.inv-form{ display:flex; flex-direction:column; gap:16px; min-width:0; }
.inv-form > *{ min-width:0; }
.inv-paper-col{ position:sticky; top:16px; min-width:0; }
.inv-head{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; margin:0 0 14px; }
.inv-table{ width:100%; border-collapse:collapse; margin:0 0 14px; font-size:13.5px; }
.inv-table th, .inv-table td{ border:1px solid var(--sky-line); padding:5px 7px; text-align:left; vertical-align:top; }
.inv-table th{ background:var(--sky); font-weight:600; }
.inv-num{ text-align:right; white-space:nowrap; }
.inv-totals{ width:70%; margin-left:auto; }
@media (max-width:1100px){
  .inv-grid{ grid-template-columns:1fr; }
  .inv-paper-col{ position:static; }
}

.profile-layout{display:grid; grid-template-columns:340px 1fr; gap:20px; align-items:start;}
@media (max-width:900px){ .profile-layout{grid-template-columns:1fr;} }
.profile-preview-card{padding:0; overflow:hidden;}
.profile-cover{
  height:130px; background:linear-gradient(135deg, var(--visa-soft), var(--sky));
  background-size:cover; background-position:center; position:relative;
  display:flex; align-items:flex-start; justify-content:flex-end; padding:12px;
}
.profile-cover-btn{background:var(--paper); box-shadow:var(--shadow-pop);}
.profile-preview-body{padding:0 20px 20px;}
.profile-avatar-wrap{position:relative; width:124px; margin-top:-62px; margin-bottom:10px;}
.profile-avatar-big.avatar-wrap .avatar{width:124px; height:124px; font-size:40px; border-radius:50%; border:4px solid var(--paper); box-shadow:var(--shadow-pop);}
.profile-avatar-cam{position:absolute; bottom:0; right:0; width:32px; height:32px; background:var(--paper); border:1px solid var(--sky-line); box-shadow:var(--shadow-pop);}
.profile-preview-name{font:800 18px/1.2 var(--font-display); color:var(--ink);}
.profile-info-row{display:flex; gap:10px; align-items:flex-start; margin-top:14px; padding-top:14px; border-top:1px solid var(--sky-line);}
.profile-info-ic{flex-shrink:0; width:20px; height:20px; display:flex; align-items:center; justify-content:center; font-size:16px; color:var(--slate-2);}
.profile-info-ic svg{width:17px; height:17px;}

.field-with-icon{position:relative;}
.field-with-icon .field-icon{position:absolute; left:11px; top:50%; transform:translateY(-50%); width:16px; height:16px; color:var(--slate-2); pointer-events:none;}
.field-with-icon .field-icon svg{width:16px; height:16px;}

.tag-input{display:flex; flex-wrap:wrap; gap:6px; align-items:center; border:1px solid var(--sky-line); background:var(--sky); border-radius:10px; padding:7px 10px; min-height:42px;}
.tag-input:focus-within{border-color:var(--visa); background:var(--paper); box-shadow:0 0 0 3px var(--visa-soft);}
.tag-input.is-disabled{opacity:.55;}
.tag-input input{flex:1; min-width:120px; border:none; background:none; padding:3px 2px; font-size:13.5px;}
.chip-editable{display:inline-flex; align-items:center; gap:5px; background:var(--visa-soft); color:var(--visa-ink); border:none;}
.chip-editable button{appearance:none; border:none; background:none; color:inherit; opacity:.7; cursor:pointer; display:flex; padding:0;}
.chip-editable button:hover{opacity:1;}
.chip-editable button svg{width:11px; height:11px;}

.work-status-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:10px;}
.work-status-card{
  position:relative; text-align:left; border:1.5px solid var(--sky-line); background:var(--paper);
  border-radius:12px; padding:14px; cursor:pointer; transition:border-color .12s, background .12s;
  font-family:inherit;
}
.work-status-card:hover{border-color:var(--visa);}
.work-status-card.is-selected{border-color:var(--visa); background:var(--visa-soft);}
.work-status-check{position:absolute; top:10px; right:10px; width:17px; height:17px; color:var(--visa);}
.work-status-check svg{width:17px; height:17px;}
.work-status-title{font-weight:700; font-size:13.5px; color:var(--ink); padding-right:20px;}
.work-status-hint{margin-top:4px; line-height:1.3;}

.voice-report{gap:12px;}
.voice-report-ok,
.voice-report-bad,
.voice-report .voice-notice{
  border-radius:12px; padding:12px 14px 13px; border:1px solid transparent;
  font-size:14px; line-height:1.65;
}
.voice-report-ok{
  color:var(--ink); background:color-mix(in srgb, var(--good) 8%, var(--card,#fff));
  border-color:color-mix(in srgb, var(--good) 26%, transparent);
}
.voice-report-bad{
  color:var(--ink); background:color-mix(in srgb, var(--stamp) 7%, var(--card,#fff));
  border-color:color-mix(in srgb, var(--stamp) 24%, transparent);
}
.voice-report .voice-notice{
  color:var(--ink); background:var(--sky); border-color:var(--sky-line);
}
.voice-report-ok > b{display:block; margin-bottom:6px; color:var(--good);}
.voice-report-bad > b{display:block; margin-bottom:6px; color:var(--stamp);}
.voice-report .voice-notice > b{display:block; margin-bottom:6px;}
.voice-report-ok > div,
.voice-report-bad > div,
.voice-report .voice-notice > div{padding:2px 0;}
.voice-open{
  padding:2px 8px; margin-left:6px; border-radius:7px; font-size:13px; font-weight:600;
  color:var(--brand); background:color-mix(in srgb, var(--brand) 9%, transparent);
  transition:background .15s ease;
}
.voice-open:hover{background:color-mix(in srgb, var(--brand) 17%, transparent);}
.voice-report > .voice-actions{
  margin-top:2px; padding-top:12px; border-top:1px solid var(--sky-line); align-items:center;
}
.voice-report > .voice-actions .voice-hint{margin-bottom:0;}
.leader-ask{display:flex; gap:8px; align-items:center; margin:10px 0 0; flex-wrap:wrap;}
.leader-ask input{
  flex:1; min-width:220px; border:1px solid var(--sky-line); background:var(--paper);
  border-radius:10px; padding:10px 13px; font-size:14px; color:var(--ink);
}
.leader-ask input:focus{outline:none; border-color:var(--brand);}
.leader-ask-note{
  display:flex; gap:12px; align-items:center; flex-wrap:wrap;
  margin:10px 0 0; padding:11px 13px; border-radius:11px;
  background:var(--sky); border:1px solid var(--sky-line);
  font-size:13.5px; line-height:1.55; color:var(--ink);
}
.leader-ask-acts{display:flex; gap:8px; margin-left:auto;}
.call-people-search{
  width:100%; border:1px solid var(--sky-line); background:var(--paper);
  border-radius:10px; padding:10px 13px; font-size:14px; color:var(--ink); margin-bottom:8px;
}
.call-people-search:focus{outline:none; border-color:var(--brand);}
.call-people{
  max-height:280px; overflow-y:auto; border:1px solid var(--sky-line);
  border-radius:12px; background:var(--card,#fff); padding:4px;
}
.call-person{
  display:flex; align-items:center; gap:10px; width:100%; text-align:left;
  padding:7px 9px; border:0; background:transparent; border-radius:9px; cursor:pointer;
  transition:background .12s ease;
}
.call-person:hover{background:var(--sky);}
.call-person.is-on{background:color-mix(in srgb, var(--brand) 10%, transparent);}
.call-person-name{display:flex; flex-direction:column; min-width:0; flex:1;}
.call-person-name b{font-size:14px; font-weight:600; color:var(--ink); line-height:1.3;}
.call-person-name i{font-style:normal; font-size:12.5px; color:var(--slate-2); line-height:1.3;}
.call-person-mark{font-size:15px; font-weight:700; color:var(--brand); flex:none;}
.call-faces{display:flex; align-items:center; gap:0; margin-top:5px;}
.call-faces > *{margin-right:-7px; box-shadow:0 0 0 2px var(--card,#fff); border-radius:50%;}
.call-faces-more{
  margin-left:12px; font-size:12px; font-weight:600; color:var(--slate-2);
}
.ctask-composer-note{
  width:100%; margin-top:6px; border:1px solid var(--sky-line); background:var(--paper);
  border-radius:9px; padding:8px 11px; font-size:13.5px; line-height:1.55; color:var(--ink);
  resize:none;
}
.ctask-composer-note:focus{outline:none; border-color:var(--brand);}
.ctask-title{border-radius:7px; padding:1px 4px; margin:-1px -4px; cursor:text;}
.ctask-title:hover{background:var(--sky);}
.ctask-title-edit{
  border:1px solid var(--brand); background:var(--card,#fff); font:inherit; width:100%;
}
.ctask-title-edit:focus{outline:none;}
.share-screen.sv-desktop:has(> .brief-shell){padding:40px 20px;}
.pw-export{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.pw-export-warning{font:600 9.5px/1.35 var(--font-mono);color:var(--amber-ink,var(--amber));text-transform:uppercase;letter-spacing:.04em;max-width:260px;text-align:right}

.petition-letters{display:flex;flex-direction:column;gap:16px}
.petition-letters-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.petition-letters-head h3{margin:0 0 4px;font-size:15px}
.petition-letters-head .hint{display:block;max-width:640px}
.petition-recommender-form{display:flex;flex-direction:column;gap:11px;padding:16px 18px;border:1px solid var(--sky-line);border-radius:10px;background:var(--paper)}
.petition-recommender-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.petition-recommender-form label{display:flex;flex-direction:column;gap:5px;font:700 9.5px/1.4 var(--font-mono);color:var(--slate-2);text-transform:uppercase;letter-spacing:.05em}
.petition-recommender-card{display:flex;flex-direction:column;gap:10px;padding:16px 18px;border:1px solid var(--sky-line);border-radius:10px;background:var(--paper)}
.petition-recommender-card .hint{margin:0;line-height:1.55}
@media (max-width:900px){.petition-recommender-form .form-row{grid-template-columns:1fr}}

.tgv-v-card .tgv-v-sub{border-top:1px solid var(--sky-line);padding-top:14px}
.tgv-v-sub-head{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.tgv-v-sub-head b{font-size:15px;letter-spacing:.01em}

.tgv-v-row{border:1px solid var(--sky-line);border-radius:var(--radius-md);padding:12px 13px;margin-bottom:10px;background:var(--paper)}
.tgv-v-row-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:9px;font-size:13px}
.tgv-v-row-who{font-weight:700;color:var(--ink)}
.tgv-v-row-when{color:var(--slate-2)}
.tgv-v-row-dur{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--slate);font-weight:600}
.tgv-v-caption{margin:8px 0 0}
.tgv-v-path{margin-left:auto;font-size:12.5px}
.tgv-v-where{margin:6px 0 0;font-size:12.5px;color:var(--visa-ink)}
.tgv-f-row{border:1px solid var(--sky-line);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:8px;background:var(--paper)}
.tgv-f-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tgv-f-name{flex:1;font-size:14px;font-weight:600;color:var(--ink);word-break:break-word}
.tgv-f-why{margin:5px 0 0;font-size:12.5px}
.tgv-f-caption{margin:4px 0 0;font-size:13px;color:var(--ink)}
.tgv-f-links{display:flex;flex-direction:column;gap:3px;margin-top:6px}
.tgv-f-links a{font-size:12.5px;color:var(--visa-ink);word-break:break-all}
.tgv-v-warn{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;margin-bottom:12px;
  border:1px solid var(--amber);border-radius:var(--radius-md);background:var(--amber-soft);color:var(--ink)}
.tgv-v-warn svg{width:17px;height:17px;flex:0 0 17px;color:var(--amber)}
.tgv-v-warn b{display:block;font-size:14px;margin-bottom:3px}
.tgv-v-warn p{margin:2px 0 0;font-size:12.5px;color:var(--ink-soft)}

.tgv-v-player{display:flex;align-items:center;gap:12px}
.tgv-v-play{width:40px;height:40px;flex:0 0 40px;border-radius:50%;border:none;cursor:pointer;
  background:var(--visa);color:#fff;display:flex;align-items:center;justify-content:center;
  transition:transform .1s ease,background .12s ease}
.tgv-v-play:hover{background:var(--visa-ink)}
.tgv-v-play:active{transform:scale(.94)}
.tgv-v-play:focus-visible{outline:2px solid var(--visa);outline-offset:2px}
.tgv-v-play-ic{display:flex}
.tgv-v-play svg{width:17px;height:17px;fill:currentColor;stroke:none}
.tgv-v-body{flex:1;min-width:0}
.tgv-v-wave{cursor:pointer;height:34px;display:block;width:100%}
.tgv-v-wave:focus-visible{outline:2px solid var(--visa);outline-offset:3px;border-radius:4px}
.tgv-v-wave canvas{display:block}
.tgv-v-meta{display:flex;align-items:center;gap:9px;margin-top:3px;font-size:12.5px;color:var(--slate-2)}
.tgv-v-time{font-variant-numeric:tabular-nums;font-weight:600;color:var(--slate)}
.tgv-v-time i{font-style:normal;font-weight:500;color:var(--slate-2)}
.tgv-v-note.is-warn{color:var(--stamp)}
.tgv-v-dl{width:32px;height:32px;flex:0 0 32px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:var(--slate);border:1px solid var(--sky-line);text-decoration:none}
.tgv-v-dl:hover{color:var(--visa);border-color:var(--visa)}
.tgv-v-dl svg{width:16px;height:16px}

.tgv-v-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:11px}
.tgv-v-job-state{font-size:13px;font-weight:700;color:var(--visa)}
.tgv-v-job-fail{font-size:12.5px;color:var(--stamp)}

.tgv-v-transcript{margin-top:11px;border-top:1px dashed var(--sky-line);padding-top:11px}
.tgv-v-transcript-head{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-bottom:7px}
.tgv-v-transcript-head b{font-size:14px}
.tgv-v-transcript-text{width:100%;font-family:var(--font-body);font-size:14.5px;line-height:1.55;
  border:1px solid var(--sky-line);border-radius:var(--radius-sm);padding:10px 11px;background:var(--sky);color:var(--ink);resize:vertical}
.tgv-v-transcript-text:focus{outline:none;border-color:var(--visa);background:var(--paper)}
.tgv-v-transcript-actions{display:flex;gap:8px;margin-top:9px}

.tgc-chat{border:1px solid var(--sky-line);border-radius:var(--radius-md);padding:11px 13px;margin-bottom:10px;background:var(--paper)}
.tgc-chat-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:8px}
.tgc-chat-head b{font-size:14.5px}
.tgc-author{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--sky-line)}
.tgc-author:first-of-type{border-top:none}
.tgc-author-name{flex:1;font-size:14px;color:var(--ink)}
.tgc-free{border:1px solid var(--sky-line);border-radius:var(--radius-md);padding:4px 13px;margin-top:8px}
.tgc-manual{display:flex;gap:8px;margin-top:12px}
.tgc-manual input{flex:1;font-family:var(--font-body);font-size:14px;padding:7px 10px;
  border:1px solid var(--sky-line);border-radius:var(--radius-sm);background:var(--sky);color:var(--ink)}

.survey-preview{margin:8px 0 0;padding:10px 12px;white-space:pre-wrap;font-family:var(--font-body);
  font-size:14px;line-height:1.5;color:var(--ink);background:var(--sky);
  border:1px solid var(--sky-line);border-radius:var(--radius-sm)}

.plan-status-select{width:auto; font-size:12.5px; font-weight:700; padding:5px 10px; border-radius:99px; border:1px solid transparent;}
.plan-status-select.is-planned{background:var(--sky); color:var(--slate);}
.plan-status-select.is-in_progress{background:var(--visa-soft); color:var(--visa-ink);}
.plan-status-select.is-done{background:var(--good-soft); color:var(--good);}

.plan-stats-row{display:grid; grid-template-columns:1fr 1fr 2fr; gap:14px; margin-bottom:16px;}
@media (max-width:820px){ .plan-stats-row{grid-template-columns:1fr 1fr; } .plan-stat-card-wide{grid-column:1/-1;} }
.plan-stat-card{background:var(--paper); border:1px solid var(--sky-line); border-radius:14px; padding:16px 18px;}
.plan-stat-num{font:800 30px/1.1 var(--font-display); color:var(--ink);}
.plan-stat-num-sub{font-size:16px; font-weight:700; color:var(--slate-2); margin-left:4px;}
.plan-slider{margin-top:2px;}
.plan-slider-track{position:relative; height:6px; border-radius:99px; background:var(--sky-line);}
.plan-slider-dot{position:absolute; top:50%; width:11px; height:11px; border-radius:50%; background:var(--visa); border:2px solid var(--paper); box-shadow:0 0 0 1px var(--visa); transform:translate(-50%, -50%);}
.plan-slider-ticks{display:flex; justify-content:space-between; margin-top:8px; font-size:11px; color:var(--slate-2);}

.plan-cat-card{margin-bottom:16px;}
.plan-cat-head{margin-bottom:14px; flex-wrap:wrap; gap:10px;}
.plan-cat-badge{font-size:11.5px; font-weight:700; color:var(--slate); background:var(--sky); border-radius:99px; padding:3px 9px;}
.plan-table-wrap{overflow-x:auto;}
.plan-table{width:100%; border-collapse:collapse; font-size:13.5px;}
.plan-table th{text-align:left; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; color:var(--slate-2); padding:0 10px 8px; border-bottom:1px solid var(--sky-line); white-space:nowrap;}
.plan-table td{padding:12px 10px; border-bottom:1px solid var(--sky-line); vertical-align:top;}
.plan-table tr:last-child td{border-bottom:none;}
.plan-table tr.is-editing{background:var(--sky);}
.plan-col-num{width:34px; color:var(--slate-2);}
.plan-col-main{min-width:220px;}
.plan-col-result{min-width:180px; max-width:260px;}
.plan-col-status{min-width:140px;}
.plan-col-actions{width:80px; white-space:nowrap;}
.plan-task-title{font-weight:700; color:var(--ink);}
.plan-task-desc{margin-top:3px; line-height:1.4;}
.plan-edit-title{font-size:14px; font-weight:700; margin-bottom:6px; width:100%; box-sizing:border-box;}
.plan-edit-desc, .plan-edit-result{font-size:13px; line-height:1.4; resize:none; overflow:hidden; width:100%; box-sizing:border-box; display:block;}
.plan-overall-progress{margin-bottom:24px;}
.plan-overall-progress .flex-between{align-items:baseline;}
.plan-empty-row td{color:var(--slate-2); text-align:center; padding:20px 10px;}
.plan-empty-row svg{width:16px; height:16px; vertical-align:-3px; margin-right:6px;}

.plan-progress-row{display:flex; align-items:center; gap:10px; margin-top:10px;}
.plan-progress-range{-webkit-appearance:none; appearance:none; flex:1; height:6px; border-radius:99px; background:var(--sky-line); outline:none; cursor:pointer;}
.plan-progress-range::-webkit-slider-thumb{-webkit-appearance:none; width:14px; height:14px; border-radius:50%; background:var(--visa); border:2px solid var(--paper); box-shadow:0 0 0 1px var(--visa); cursor:pointer;}
.plan-progress-range::-moz-range-thumb{width:14px; height:14px; border-radius:50%; background:var(--visa); border:2px solid var(--paper); box-shadow:0 0 0 1px var(--visa); cursor:pointer; border:none;}
.plan-progress-range:disabled{opacity:.5; cursor:default;}
.plan-progress-val{font-size:12px; color:var(--slate-2); min-width:32px; text-align:right;}

.crit-tabs.plan-subtasks-weeks{margin:0 0 8px; display:flex;}
.crit-tabs.plan-subtasks-weeks button{padding:5px 10px; font-size:12.5px;}
.plan-subtask-list{display:flex; flex-direction:column; gap:2px;}
.plan-subtask{display:flex; align-items:center; gap:8px; padding:4px 0; font-size:13.5px;}
.plan-subtask-text{flex:1; min-width:0; word-break:break-word;}
.plan-subtask.is-done .plan-subtask-text{color:var(--slate-2);}
.plan-subtask-check{width:20px; height:20px; flex-shrink:0; padding:0; border-radius:50%; border:2px solid var(--sky-line); background:none; display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--good); transition:border-color .12s, transform .12s;}
.plan-subtask-check:hover:not(:disabled){border-color:var(--good);}
.plan-subtask-check:disabled{cursor:default;}
.plan-subtask-check svg{width:20px; height:20px;}
.plan-subtask.is-done .plan-subtask-check{border-color:transparent; transform:scale(1.05);}
.plan-subtask-week-pick{flex-shrink:0;}
.plan-subtask-week-tag{flex-shrink:0; color:var(--slate-2); font-size:11px;}
.plan-subtask-del{flex-shrink:0;}
.plan-subtask-empty{padding:4px 0;}
.plan-subtask-add{display:flex; gap:6px; margin-top:8px;}
.plan-subtask-input{flex:1; min-width:0; padding:6px 10px; border:1px solid var(--sky-line); border-radius:8px; font-size:13px; background:var(--paper); color:var(--ink);}

.boldfield-wrap{position:relative;}
.boldfield-editable{
  width:100%; box-sizing:border-box; border:1px solid var(--sky-line); background:var(--sky);
  border-radius:10px; padding:10px 12px; font-size:13px; line-height:1.4; color:var(--ink);
  outline:none; min-height:1.4em; white-space:pre-wrap; word-break:break-word;
  transition:border-color .12s, background .12s, box-shadow .12s;
}
.boldfield-editable:focus{border-color:var(--visa); background-color:var(--paper); box-shadow:0 0 0 3px var(--visa-soft);}
.boldfield-editable:empty::before{content:attr(data-placeholder); color:var(--slate-2);}
.boldfield-toolbar{position:absolute; z-index:30;}
.boldfield-toolbar button{
  width:28px; height:28px; border-radius:8px; border:1px solid var(--sky-line); background:var(--paper);
  color:var(--ink); font-weight:800; font-size:13px; cursor:pointer; box-shadow:var(--shadow-card);
}
.boldfield-toolbar button:hover{border-color:var(--visa);}
.boldfield-toolbar button.active{background:var(--visa); color:#fff; border-color:var(--visa);}

.prp-wrap{max-width:1100px;}
.prp-brandbar{display:flex; align-items:center; gap:10px; margin-bottom:18px;}
.prp-brand-logo{height:28px; width:auto; max-width:140px; object-fit:contain; display:block; border-radius:6px;}
.prp-brand-logo--fallback{
  height:28px; width:28px; border-radius:8px; display:flex; align-items:center; justify-content:center;
  background:var(--visa-soft); color:var(--visa-ink); font-weight:800; font-size:14px;
}
.prp-brand-name{font-weight:700; color:var(--ink); font-size:14px;}
.prp-disclaimer{
  background:var(--sky); border:1px solid var(--sky-line); color:var(--ink-soft);
  border-radius:14px; padding:14px 18px; font-size:13.5px; line-height:1.55; margin-bottom:24px;
}
.prp-header{margin-bottom:28px;}
.prp-header-row{display:flex; justify-content:space-between; align-items:flex-start; gap:16px; flex-wrap:wrap;}
.prp-subtitle{font-family:var(--font-display,inherit); font-weight:700; font-size:21px; color:var(--ink); text-align:right; padding-top:6px;}
@media (max-width:640px){.prp-subtitle{text-align:left;}}
.prp-name{font-size:28px; font-weight:800; color:var(--ink); margin:0 0 10px;}
.prp-meta{display:flex; gap:10px; align-items:center; flex-wrap:wrap;}
.prp-pill{background:var(--visa-soft); color:var(--visa-ink); font-weight:700; font-size:13px; padding:5px 12px; border-radius:99px;}
.prp-occupation{color:var(--slate); font-size:14.5px;}
.prp-groups{display:flex; flex-direction:column;}
.prp-group{border:1.5px solid rgba(0,0,0,.16); border-radius:18px; padding:20px; margin-bottom:20px;}
.prp-group:last-of-type{margin-bottom:0;}
.prp-group-title{font-size:17px; font-weight:800; color:var(--ink); margin-bottom:12px;}
.prp-group-cards{display:grid; grid-template-columns:repeat(2, 1fr); gap:12px; align-items:start;}
@media (max-width:640px){.prp-group-cards{grid-template-columns:1fr;}}
.prp-card{background:var(--paper); border-radius:16px; box-shadow:var(--shadow-card); padding:20px;}
.prp-card-head{display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px;}
.prp-resource{display:flex; align-items:center; gap:10px; font-weight:700; color:var(--ink); min-width:0;}
.prp-resource-logo{width:34px; height:34px; border-radius:10px; object-fit:cover; flex:none;}
.prp-resource-logo--fallback{
  display:flex; align-items:center; justify-content:center; background:var(--visa-soft); color:var(--visa-ink);
  font-weight:800; font-size:15px; text-transform:uppercase;
}
.prp-cost{font-family:var(--font-mono, monospace); font-weight:800; font-size:18px; color:var(--good); flex:none;}
.prp-desc{color:var(--ink); font-size:14.5px; line-height:1.55; margin:0 0 14px;}
.prp-facts{display:flex; flex-direction:column; gap:8px; background:var(--sky); border-radius:12px; padding:12px 14px;}
.prp-fact{display:flex; flex-direction:column; gap:2px; font-size:13.5px;}
.prp-fact span{color:var(--slate); font-size:11.5px; text-transform:uppercase; letter-spacing:.03em;}
.prp-fact b{color:var(--ink); font-weight:600;}
.prp-link{color:var(--visa); font-weight:600; word-break:break-all;}
.prp-empty{text-align:center; padding:30px 0;}
.prp-total{
  display:flex; justify-content:space-between; align-items:center; background:var(--paper);
  border:1px solid var(--sky-line); color:var(--ink); border-radius:16px; padding:18px 22px; font-size:15px; margin-top:8px;
}
.prp-total b{font-family:var(--font-mono, monospace); font-size:22px; font-weight:800; color:var(--ink);}

.reg-page{ max-width:720px; margin:0 auto; }
.reg-page.reg-page--pdf{ max-width:960px; }
.reg-pdf-host{ overflow-x:auto; scrollbar-width:thin; }
.reg-pdf-host::-webkit-scrollbar{ height:10px; }
.reg-pdf-host::-webkit-scrollbar-track{ background:var(--sky-tint, #f3fbf9); border-radius:6px; }
.reg-pdf-host::-webkit-scrollbar-thumb{ background:var(--sky-line); border-radius:6px; }
.reg-pdf-host::-webkit-scrollbar-thumb:hover{ background:var(--slate-2, #9ab2ab); }
mark.reg-search-hit{ background:rgba(255,224,102,.55); color:inherit; border-radius:2px; padding:0 1px; }
mark.reg-search-hit.is-current{ background:rgba(255,159,28,.65); }
.reg-title{ font-family:var(--font-display); font-size:24px; font-weight:700; margin:0 0 4px; color:var(--ink); }
.reg-text{ font-size:15.5px; line-height:1.75; color:var(--ink-soft); }
.reg-text p{ margin:0 0 16px; white-space:pre-wrap; }
.reg-text p:last-child{ margin-bottom:0; }
.reg-editor{ width:100%; min-height:420px; font-size:15px; line-height:1.7; padding:14px 16px;
  border:1px solid var(--sky-line); border-radius:10px; resize:vertical; font-family:var(--font-body); }

.reg-html{ font-size:15.5px; line-height:1.7; color:var(--ink-soft); }
.reg-html :is(h1,h2,h3,h4,h5,h6){ font-family:var(--font-display); color:var(--ink); font-weight:700; margin:22px 0 8px; }
.reg-html :is(h1,h2,h3,h4,h5,h6):first-child{ margin-top:0; }
.reg-html p{ margin:0 0 14px; }
.reg-html ul,.reg-html ol{ margin:0 0 14px; padding-left:22px; }
.reg-html li{ margin:0 0 6px; }
.reg-html strong{ color:var(--ink); }
.reg-html table{ border-collapse:collapse; width:100%; margin:0 0 18px; }
.reg-html td,.reg-html th{ border:1px solid var(--sky-line); padding:8px 10px; vertical-align:top; }
.reg-html th{ background:var(--sky-tint, #f3fbf9); font-weight:600; }

.bonus-cell { min-width: 240px; max-width: 320px; }
.payroll-table td.ta-right, .payroll-table th.ta-right { white-space: nowrap; }
.payroll-table td .pill { white-space: nowrap; }
.bonus-chips { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin-bottom: 6px; }
.bonus-chip {
  display: inline-flex; align-items: flex-start; gap: 6px;
  background: var(--sky-soft, #effaf7); border: 1px solid var(--sky-line, #d7f0e8);
  border-radius: 12px; padding: 4px 9px 4px 11px; font-size: 11.5px; line-height: 1.45;
  max-width: 100%; white-space: normal; overflow-wrap: anywhere;
}
.bonus-chip b { font-variant-numeric: tabular-nums; }
.bonus-x {
  border: 0; background: transparent; cursor: pointer; font-size: 14px; line-height: 1;
  color: var(--ink-soft, #667); padding: 0 2px; border-radius: 4px;
}
.bonus-x:hover { color: var(--danger, #c0392b); background: rgba(192, 57, 43, .08); }
.bonus-add { white-space: nowrap; }
.bonus-count { display: inline-block; margin-left: 8px; font-size: 11.5px; color: var(--visa, #3ba582); text-decoration: none; }
.bonus-count:hover { text-decoration: underline; }

.detail-groups { display: flex; flex-wrap: wrap; gap: 14px; }
.detail-group {
  flex: 1 1 260px; min-width: 240px; background: var(--paper, #fff);
  border: 1px solid var(--sky-line, #d7f0e8); border-radius: 10px; padding: 10px 12px;
}
.detail-head { font-size: 11.5px; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-soft, #667); margin-bottom: 6px; }
.detail-item { display: flex; justify-content: space-between; gap: 10px; padding: 3px 0; font-size: 12.5px; }
.detail-item .hint { white-space: nowrap; }

.bonus-picker { display: flex; flex-direction: column; gap: 6px; }
.bonus-picker label.bonus-option {
  display: flex; align-items: center; gap: 12px; cursor: pointer; margin: 0;
  border: 1px solid var(--sky-line, #d7f0e8); border-radius: 10px; padding: 11px 14px;
  font-weight: 400; transition: border-color .12s ease, background .12s ease;
}
.bonus-picker label.bonus-option input { flex: 0 0 auto; }
.bonus-option:hover { background: var(--sky-soft, #f4fcf9); }
.bonus-option.active { border-color: var(--brand, #3ba582); background: var(--sky-soft, #effaf7); }
.bonus-option input { margin: 0; }
.bonus-option-label { flex: 1 1 auto; font-size: 13px; line-height: 1.35; }
.bonus-option-sum { flex: 0 0 auto; margin-left: auto; padding-left: 12px; color: var(--ink-soft, #667); font-size: 12.5px; font-variant-numeric: tabular-nums; }

.kpi-top { background: linear-gradient(90deg, rgba(255, 205, 86, .10), transparent 60%); }
.kpi-medal { font-size: 15px; line-height: 1; }

.crit-month-badge {
  display: flex; align-items: center; gap: 5px; font-size: 11.5px; cursor: pointer;
  color: var(--ink-soft, #667); border: 1px dashed var(--sky-line, #d7f0e8);
  border-radius: 999px; padding: 2px 9px 2px 7px;
}
.crit-month-badge input { accent-color: var(--visa, #3ba582); margin: 0; }
.crit-month-badge.on {
  color: var(--visa, #3ba582); border-style: solid; border-color: var(--visa, #3ba582);
  background: rgba(59, 165, 130, .07); font-weight: 600;
}

.who-cell { cursor: pointer; user-select: none; }
.who-caret { display: inline-block; transition: transform .15s ease; color: var(--ink-soft, #667); }
.who-caret.open { transform: rotate(90deg); }
.row-open > td { background: var(--sky-soft, #f4fcf9); }
.work-row > td { background: var(--sky-soft, #f4fcf9); padding: 14px 16px 16px; }
.work-grid { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
.work-cell {
  display: flex; flex-direction: column; gap: 2px; min-width: 132px;
  background: var(--paper, #fff); border: 1px solid var(--sky-line, #d7f0e8);
  border-radius: 10px; padding: 8px 12px;
}
.work-cell b { font-size: 17px; font-variant-numeric: tabular-nums; }
.work-cell span { font-size: 11.5px; color: var(--ink-soft, #667); }
.work-cell { flex: 1 1 140px; }

.pay-breakdown { margin-top: 12px; border-top: 1px solid var(--sky-line, #d7f0e8); padding-top: 10px; }
.pay-line { display: flex; gap: 12px; justify-content: space-between; padding: 4px 0; font-size: 12.5px; }
.pay-sum { min-width: 110px; text-align: right; }
.pay-why { color: var(--ink-soft, #667); }
.pay-sum { white-space: nowrap; font-variant-numeric: tabular-nums; }
.pay-total { border-top: 1px dashed var(--sky-line, #d7f0e8); margin-top: 6px; padding-top: 8px; font-weight: 700; }
.pay-total .pay-why { color: inherit; }

.suggest-box {
  border: 1px solid var(--sky-line, #d7f0e8); border-radius: 12px; margin-bottom: 14px;
  background: linear-gradient(180deg, rgba(59,165,130,.05), transparent 60%);
}
.suggest-head { display: flex; align-items: center; gap: 8px; padding: 11px 14px; cursor: pointer; flex-wrap: wrap; }
.suggest-head .hint { font-size: 11.5px; }
.suggest-list { border-top: 1px solid var(--sky-line, #d7f0e8); }
.suggest-item {
  display: flex; gap: 12px; align-items: center; justify-content: space-between;
  padding: 10px 14px; border-bottom: 1px solid var(--sky-line, #eef7f4); flex-wrap: wrap;
}
.suggest-item:last-child { border-bottom: 0; }
.suggest-who { display: flex; flex-direction: column; gap: 2px; font-size: 13px; }
.suggest-who .hint { font-size: 11.5px; }
.suggest-actions { display: flex; gap: 6px; }

.bd-strip{display:flex; align-items:center; gap:10px; margin:0 0 16px; padding:12px 16px;
  border-radius:14px; background:linear-gradient(90deg, rgba(67,247,206,.10), rgba(39,194,160,.10));
  border:1px solid var(--sky-line); font-size:14px; color:var(--slate);}
.bd-strip-cake{font-size:20px; line-height:1;}

.bd-overlay{position:fixed; inset:0; z-index:1200; display:flex; align-items:center; justify-content:center;
  background:rgba(15,42,35,.72); backdrop-filter:blur(3px);}
.bd-fireworks{position:absolute; inset:0; width:100%; height:100%; pointer-events:none;}
.bd-card{position:relative; text-align:center; padding:36px 40px; border-radius:22px;
  background:var(--paper); box-shadow:0 24px 80px rgba(0,0,0,.35); max-width:min(92vw, 460px);
  animation:bd-pop .45s cubic-bezier(.2,1.3,.4,1);}
.bd-cake{font-size:74px; line-height:1; animation:bd-bounce 2.2s ease-in-out infinite;}
.bd-title{margin:12px 0 6px; font-size:26px;}
.bd-sub{margin:0 0 20px; color:var(--slate-2); font-size:14px;}
@keyframes bd-pop{from{opacity:0; transform:scale(.86) translateY(12px);} to{opacity:1; transform:none;}}
@keyframes bd-bounce{0%,100%{transform:translateY(0) rotate(-2deg);} 50%{transform:translateY(-8px) rotate(2deg);}}
@media (prefers-reduced-motion: reduce){
  .bd-cake, .bd-card{animation:none;}
}
.bd-cake-img{width:150px; height:auto; display:block; margin:0 auto 4px; animation:bd-bounce 2.6s ease-in-out infinite;}
@media (prefers-reduced-motion: reduce){ .bd-cake-img{animation:none;} }
.bd-strip-x{margin-left:auto; border:0; background:transparent; cursor:pointer; font-size:20px;
  line-height:1; color:var(--slate-2); padding:2px 6px; border-radius:8px;}
.bd-strip-x:hover{background:rgba(15,42,35,.06); color:var(--slate);}

.bd-wishes{border-top-color:var(--sky-line) !important;}
.bd-wishes-head{color:var(--slate-2) !important;}
.bd-wish{background:var(--sky) !important;}
.bd-wish-text{color:var(--slate) !important;}
.bd-wish-from{color:var(--slate-2) !important;}
.bd-strip-wish{margin-left:auto; flex-shrink:0;}
.bd-wishes{margin:18px 0 20px; max-height:34vh; overflow:auto; text-align:left;
  border-top:1px solid rgba(255,255,255,.12); padding-top:14px;}
.bd-wishes-head{font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:#8dc0b3; margin-bottom:10px;}
.bd-wish{background:rgba(255,255,255,.06); border-radius:12px; padding:10px 12px; margin-bottom:8px;}
.bd-wish-text{margin:0; font-size:14px; line-height:1.45; color:#effefa; white-space:pre-line;}
.bd-wish-from{margin:6px 0 0; font-size:12px; color:#8dc0b3;}
.bd-wish-modal{max-width:520px;}
.bd-anon{display:flex; align-items:center; gap:8px; margin-top:12px; font-size:13px; color:var(--slate-2); cursor:pointer;}
.bd-sent{margin:0; font-size:15px; text-align:center; padding:18px 0;}

.task-popup--birthday_wish{
  border-color:rgba(255,209,102,.45);
  background:linear-gradient(135deg, #14302d 0%, #1a3a38 60%, #2E1F3D 100%);
}
.task-popup--birthday_wish .task-popup-glow{
  background:radial-gradient(150px 110px at -10% -10%, rgba(255,209,102,.40), transparent 70%);
  opacity:1;
}
.task-popup--birthday_wish .task-popup-ic{color:#FFD166;}
.task-popup--birthday_wish .task-popup-title{color:#FFD166;}


.ufv-backdrop{position:relative; grid-column:1; grid-row:1; min-width:0; min-height:0;
  display:flex; background:none; padding:0; z-index:1;}
.ufv{background:var(--card,#fff); border-radius:14px; width:100%; height:100%;
  display:flex; flex-direction:column; overflow:hidden;
  box-shadow:0 10px 34px rgba(12,36,29,.22); border:1px solid var(--sky-line,#e4f2ee);}
.claude-page.has-form-view{grid-template-columns:minmax(0,1.25fr) minmax(340px,1fr);}
.claude-page.has-form-view .claude-sidebar{display:none;}
.claude-page.has-form-view .claude-main{grid-column:2; grid-row:1;}
@media (max-width: 1100px){
  .claude-page.has-form-view{grid-template-columns:1fr;}
  .claude-page.has-form-view .claude-main{display:none;}
}
.ufv-head{display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
  padding:12px 16px; border-bottom:1px solid var(--sky-line,#e4f2ee);}
.ufv-tools{display:flex; gap:6px; align-items:center; flex-shrink:0;}
.ufv-chip{display:inline-block; margin-right:8px; padding:1px 8px; border-radius:99px; font-size:12px;}
.ufv-chip.is-clipped{background:#fdecea; color:#b3261e;}
.ufv-chip.is-missing{background:#fff5e0; color:#8a5a00;}
.ufv-chip.is-review{background:#effefa; color:#3aa891;}
.ufv-body{flex:1; min-height:0; display:flex;}
.ufv-pages{flex:1; min-width:0; overflow:auto; padding:14px; background:var(--sky,#f2fcf9);}
.ufv-fieldbar{display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  padding:7px 14px; border-bottom:1px solid var(--sky-line,#e4f2ee);
  background:var(--sky,#f2fcf9); font-size:13px;}
.ufv-fieldbar b{font-weight:600; color:var(--ink);}
.ufv-side-head{font:600 14px/1.3 var(--font-body); color:var(--ink);}
.ufv-field{padding:8px 10px; border:1px solid var(--sky-line,#e4f2ee); border-radius:10px;}
.ufv-note{min-height:74px; resize:vertical; width:100%;}
.ufv-saved{padding:8px 10px; border:1px solid #cfe3cf; background:#f3faf3; border-radius:10px;}
.ufv-box.is-picked{border-color:var(--visa,#0B8367) !important;
  background:rgba(37,207,166,.20) !important;
  box-shadow:0 0 0 2px rgba(37,207,166,.35);}
.ufv-tabs{display:flex; gap:6px;}
.ufv-saverow{display:flex; gap:6px; margin-top:6px;}
.ufv-saverow .btn{flex:1;}
.ufv-tabs .btn{flex:1;}
.ufv-box.is-fromclaude{background:#e9fbf6 !important; border-color:var(--visa,#0B8367) !important;
  color:#1a6a55; font:600 11px/1 var(--font-mono, ui-monospace, monospace);
  display:flex; align-items:center; padding:0 3px; overflow:hidden; white-space:nowrap;}
.ufv-box.is-typed{background:#eaf7ee !important; border-color:#1b7f3b !important;
  color:#14532d; font:600 11px/1 var(--font-mono, ui-monospace, monospace);
  display:flex; align-items:center; padding:0 3px; overflow:hidden; white-space:nowrap;}
.claude-working{display:flex; align-items:center; gap:8px; color:var(--ink-soft); font-size:14px;}
.claude-working__dots{display:inline-flex; gap:4px;}
.claude-working__dots i{width:5px; height:5px; border-radius:50%; background:currentColor;
  opacity:.35; animation:claude-dot 1.1s ease-in-out infinite;}
.claude-working__dots i:nth-child(2){animation-delay:.18s;}
.claude-working__dots i:nth-child(3){animation-delay:.36s;}
@keyframes claude-dot{0%,80%,100%{opacity:.25; transform:translateY(0);} 40%{opacity:1; transform:translateY(-2px);}}
@media (prefers-reduced-motion: reduce){ .claude-working__dots i{animation:none; opacity:.6;} }

.ufv-box.is-fileonly{background:#fff7e6 !important; border-color:#b8860b !important;
  border-style:dashed !important; color:#6b4e00 !important;}
.ufv-box.is-cleared{background:#fff !important; border-color:#9ab2ab !important;
  border-style:dashed !important; color:transparent;}
.ufv-box.is-editing{background:#fff !important; border-color:var(--visa,#0B8367) !important;
  box-shadow:0 0 0 2px rgba(37,207,166,.35); color:#0c251d; cursor:text; outline:none;
  font:600 11px/1 var(--font-mono, ui-monospace, monospace);
  display:flex; align-items:center; padding:0 3px; overflow:hidden; white-space:nowrap;}
.ufv-layer{position:absolute; left:0; top:0; right:0; bottom:0; pointer-events:none;}
.ufv-box{position:absolute; border-radius:3px; pointer-events:auto; cursor:pointer;
  border:1.5px solid transparent; transition:background .12s, border-color .12s;}
.ufv-box:hover{border-color:var(--visa,#0B8367); background:rgba(37,207,166,.10);}
.ufv-box.is-clipped{border-color:#b3261e; background:rgba(179,38,30,.16);}
.ufv-box.is-missing{border-color:#e0a300; background:rgba(224,163,0,.18);}
.ufv-box.is-review{border-color:#3aa891; background:rgba(58,168,145,.12);}
.ufv-lasso{position:absolute; border:1.5px dashed var(--visa,#0B8367);
  background:rgba(37,207,166,.08); border-radius:4px; pointer-events:none;}
@media (max-width: 900px){
  .ufv-body{flex-direction:column;}
  .ufv-side{width:auto; border-left:0; border-top:1px solid var(--sky-line,#e4f2ee);}
}

.pw-sub-heading{margin:22px 0 8px;font:700 12.5px/1.45 var(--font-body);color:var(--ink);letter-spacing:.01em}
.pw-sub-heading:first-child{margin-top:6px}
.deadline-request-bar{
  flex:1 1 100%; display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  min-width:0; max-width:100%; box-sizing:border-box;
  border:1px solid var(--stamp-line, var(--sky-line)); border-left:3px solid var(--stamp);
  background:var(--paper, #fff); border-radius:var(--radius-sm, 10px); padding:10px 14px;
}
.deadline-request-bar__text{display:flex; flex-direction:column; gap:3px; flex:1 1 200px; min-width:0;}
.deadline-request-bar__text b{font:700 12.5px/1.4 var(--font-body); color:var(--ink);}
.deadline-request-bar__why{display:flex; align-items:flex-start; gap:6px; min-width:0;}
.deadline-request-bar__why .pill{flex:0 0 auto;}
.deadline-request-bar__reason{
  font:400 11.5px/1.45 var(--font-body); color:var(--slate); min-width:0;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3;
  overflow:hidden; overflow-wrap:anywhere;
}
.deadline-request-bar--ask .deadline-request-bar__text span{
  font:400 11.5px/1.45 var(--font-body); color:var(--slate);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.deadline-request-bar__acts{display:flex; gap:8px; flex-shrink:0; flex-wrap:wrap;}
.deadline-request-bar--ask{border-left-color:var(--visa);}
.deadline-request-bar__input{
  flex:1 1 260px; min-width:0; height:32px; padding:0 10px;
  border:1px solid var(--sky-line); border-radius:8px; background:#fff;
  font:400 12px/1.4 var(--font-body); color:var(--ink);
}
.deadline-request-bar__input:focus{border-color:var(--visa); outline:none;}

.deadline-approval-note{
  display:flex; gap:9px; align-items:flex-start; margin-top:12px; padding:9px 11px;
  background:var(--sky); border:1px solid var(--sky-line); border-radius:9px;
  font:400 11.5px/1.5 var(--font-body); color:var(--slate);
}
.deadline-approval-note svg{width:15px; height:15px; flex-shrink:0; margin-top:1px;}
.dashboard-exit{
  position:fixed; top:14px; left:14px; z-index:60;
  box-shadow:0 2px 10px rgba(16,40,33,.12);
}
@media (max-width:640px){ .dashboard-exit{top:10px; left:10px; padding:6px 10px; font-size:12px;} }
.pdv .pdv-shell{
  background:var(--paper,#fff); border-radius:var(--radius-md,14px); width:min(1280px,96vw);
  height:min(92vh,980px); display:flex; flex-direction:column; overflow:hidden;
  box-shadow:0 18px 60px rgba(16,40,33,.22);
}
.pdv-head{display:flex; align-items:center; gap:12px; padding:14px 18px; border-bottom:1px solid var(--sky-line);}
.pdv-head__title{display:flex; flex-direction:column; gap:2px; min-width:0; flex:1;}
.pdv-head__title b{font:700 14px/1.35 var(--font-body); color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.pdv-status{font:600 11px/1 var(--font-body); border-radius:100px; padding:6px 10px; white-space:nowrap;}
.pdv-status.is-good{background:var(--good-soft); color:var(--good);}
.pdv-status.is-warn{background:var(--amber-soft); color:var(--amber);}
.pdv-status.is-bad{background:var(--stamp-soft); color:var(--stamp);}

.pdv-body{flex:1; min-height:0; display:grid; grid-template-columns:minmax(0,1fr) 340px;}
.pdv-doc{overflow-y:auto; padding:22px 26px 30px; background:var(--sky);}
.pdv-paper{
  background:#fff; color:#15211d; max-width:74ch; margin:0 auto; padding:34px 38px;
  border:1px solid var(--sky-line); border-radius:8px; font:400 14.5px/1.65 var(--font-body);
}
.pdv-paper h1,.pdv-paper h2,.pdv-paper h3{font-weight:700; line-height:1.3; margin:20px 0 8px;}
.pdv-paper h1{font-size:19px;} .pdv-paper h2{font-size:16px;} .pdv-paper h3{font-size:14.5px;}
.pdv-paper p{margin:0 0 11px;}
.pdv-paper table{border-collapse:collapse; width:100%; margin:12px 0;}
.pdv-paper td,.pdv-paper th{border:1px solid #ddeae6; padding:6px 8px; font-size:13px;}
.pdv-paper img{max-width:100%; height:auto;}
.pdv-more{display:block; margin:16px auto 0;}
.pdv-note{padding:40px 20px; text-align:center; color:var(--slate); font:400 13px/1.6 var(--font-body);
          display:flex; flex-direction:column; gap:12px; align-items:center;}
.pdv-note--bad{color:var(--stamp);}

.pdv-side{border-left:1px solid var(--sky-line); display:flex; flex-direction:column; min-height:0; background:var(--paper,#fff);}
.pdv-side__scroll{flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:16px;}
.pdv-gaps h4,.pdv-sent h4{font:700 11px/1 var(--font-body); letter-spacing:.06em; text-transform:uppercase;
                          color:var(--amber); margin:0 0 9px;}
.pdv-sent h4{color:var(--slate);}
.pdv-gaps ul{margin:0 0 12px; padding-left:17px; display:flex; flex-direction:column; gap:6px;}
.pdv-gaps li{font:400 12.5px/1.5 var(--font-body); color:var(--slate);}
.pdv-gaps--ok{font:400 12.5px/1.5 var(--font-body); color:var(--good);}
.pdv-sent p{margin:0 0 7px; font:400 12.5px/1.5 var(--font-body); color:var(--ink-soft);
            background:var(--sky); border-radius:8px; padding:8px 10px;}

.pdv-ask{border-top:1px solid var(--sky-line); padding:12px 14px; display:flex; flex-direction:column; gap:8px;}
.pdv-ask textarea{width:100%; resize:vertical; border:1px solid var(--sky-line); border-radius:9px;
                  padding:9px 11px; font:400 13px/1.5 var(--font-body); color:var(--ink);}
.pdv-ask textarea:focus{border-color:var(--visa); outline:none;}
.pdv-ask__row{display:flex; align-items:center; justify-content:space-between; gap:10px;}

@media (max-width:900px){
  .pdv .pdv-shell{width:100vw; height:var(--vh100); border-radius:0;}
  .pdv-body{grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr) auto;}
  .pdv-side{border-left:none; border-top:1px solid var(--sky-line); max-height:46vh;}
  .pdv-doc{padding:14px;} .pdv-paper{padding:20px 18px;}
}
.crm-toolbar{
  --ctl-h:38px; --ctl-r:10px; --ctl-fs:13.5px;
  display:flex; gap:10px; align-items:center; flex-wrap:wrap;
  justify-content:flex-end; width:100%; row-gap:10px;
}
.crm-toolbar select,
.crm-toolbar .csel-trigger,
.crm-toolbar .role-switch,
.crm-toolbar > .btn{
  height:var(--ctl-h); min-height:var(--ctl-h); border-radius:var(--ctl-r);
  font-size:var(--ctl-fs); font-family:var(--font-body); font-weight:600;
  padding-top:0; padding-bottom:0;
}
.crm-toolbar select,
.crm-toolbar .csel-trigger{
  background-color:var(--sky); border:1px solid var(--sky-line); color:var(--ink-soft);
}
.crm-toolbar > .btn-outline{
  background-color:var(--sky); border:1px solid var(--sky-line); color:var(--ink-soft);
}
.crm-toolbar > .btn-outline:hover,
.crm-toolbar select:hover,
.crm-toolbar .csel-trigger:hover{border-color:var(--visa); color:var(--ink);}
.crm-toolbar .role-switch{padding:3px; gap:2px;}
.crm-toolbar .role-switch button{
  height:calc(var(--ctl-h) - 8px); padding:0 12px; font-size:var(--ctl-fs); border-radius:7px;
}
.crm-toolbar select.mono{font-family:var(--font-body);}

.filter-chip{border-radius:10px; min-height:34px; padding:0 13px; font-size:13px; font-weight:600;}
.filter-chips{gap:8px;}

.brief-digest{
  background:var(--sky); border:1px solid var(--sky-line); border-left:3px solid var(--visa);
  border-radius:var(--radius-md); padding:12px 14px; margin-bottom:12px;
}
.brief-digest__head{display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin-bottom:8px;}
.brief-digest__title{font:700 13px/1.2 var(--font-body); color:var(--ink);}
.brief-digest__mark{
  font:600 10.5px/1 var(--font-body); text-transform:uppercase; letter-spacing:.04em;
  color:var(--slate); background:var(--paper); border:1px solid var(--sky-line);
  border-radius:6px; padding:4px 7px;
}
.brief-digest__stale{
  font:600 10.5px/1 var(--font-body); color:var(--amber);
  background:var(--amber-soft, #fdf3e3); border-radius:6px; padding:4px 7px;
}
.brief-digest__body{
  font:400 13.5px/1.65 var(--font-body); color:var(--ink); white-space:pre-line;
}
.brief-digest__by{margin:8px 0 0; font-size:11px; color:var(--slate-2);}

.btn-done{
  border:1px solid var(--good); background:var(--good-soft, #e8f6ee); color:var(--good);
  font-weight:600; white-space:nowrap; gap:6px;
}
.btn-done:hover{background:var(--good); color:#fff;}
.btn-done__ic{display:inline-flex;}
.btn-done__ic svg{width:14px; height:14px;}

.paid-line{display:flex; align-items:baseline; gap:7px; margin-top:3px; min-width:0; font-size:11.5px;}
.paid-line__sum{color:var(--good); font-weight:700;}
.paid-line__parts{color:var(--slate-2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0;}
.paid-line__none{color:var(--slate-2);}

.audit-row--danger{box-shadow:inset 3px 0 0 var(--stamp); padding-left:10px; background:color-mix(in srgb, var(--stamp) 5%, transparent);}
.audit-row--danger b{color:var(--ink);}
.audit-row--danger > div:first-child{color:var(--stamp);}

.avatar.file-kind{font-size:9.5px; font-weight:800; letter-spacing:.02em; white-space:nowrap;}

.mobile-tabs{
  position:fixed; left:0; right:0; bottom:0; z-index:900;
  display:none; align-items:stretch;
  background:var(--paper); border-top:1px solid var(--sky-line);
  padding-bottom:env(safe-area-inset-bottom, 0px);
  box-shadow:0 -6px 24px rgba(18,62,50,.07);
}
.mobile-tab{
  flex:1 1 0; min-width:0; position:relative;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
  min-height:56px; padding:7px 2px 6px;
  border:0; background:none; cursor:pointer; color:var(--slate);
  font:600 10.5px/1.15 var(--font-body);
}
.mobile-tab-ic{display:flex;}
.mobile-tab-ic svg{width:21px; height:21px;}
.mobile-tab-lbl{overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%;}
.mobile-tab.on{color:var(--visa);}
.mobile-tab-dot{
  position:absolute; top:8px; left:calc(50% + 9px);
  width:7px; height:7px; border-radius:50%; background:var(--stamp);
}

@media (max-width:720px){
  .mobile-tabs{display:flex;}
  .view{padding-bottom:calc(72px + env(safe-area-inset-bottom, 0px));}
  .topbar{padding-top:env(safe-area-inset-top, 0px);}

  .btn, .icon-btn, .presence-tab, .filter-chip, .tab{min-height:44px;}
  .icon-btn{min-width:44px;}
  .btn-sm{min-height:40px;}

  input, select, textarea{font-size:16px;}

  .payroll-table, table{display:block; overflow-x:auto; -webkit-overflow-scrolling:touch;}

  .topbar{height:auto; min-height:calc(64px + env(safe-area-inset-top, 0px));
    padding-top:env(safe-area-inset-top, 0px);}

  .row-item{flex-wrap:wrap; gap:8px 10px;}
  .task-main{flex:1 1 100%; min-width:0;}
  .task-dl-col{width:auto; flex:1 1 auto; text-align:left;}
  .task-dl-col .mono{white-space:normal;}
  .row-item > .pill{order:5;}
  .row-item > .btn, .row-item > .icon-btn{order:6;}

  .crm-toolbar{flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch;
    justify-content:flex-start; padding-bottom:4px; scrollbar-width:none;}
  .crm-toolbar::-webkit-scrollbar{display:none;}
  .crm-toolbar > *{flex:0 0 auto;}

  .client-cards{display:flex; flex-direction:column;}
  .client-card-row{
    padding:13px 2px; border-bottom:1px solid var(--sky-line); cursor:pointer;
    display:flex; flex-direction:column; gap:5px; min-height:44px;
  }
  .client-card-row:last-child{border-bottom:none;}
  .client-card-row:active{background:var(--sky);}
  .ccr-top{display:flex; align-items:baseline; gap:10px;}
  .ccr-name{flex:1; min-width:0; font:650 15px/1.3 var(--font-body); color:var(--ink);
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
  .ccr-sum{flex-shrink:0; font-weight:700; font-size:13.5px; color:var(--ink);}
  .ccr-line{display:flex; align-items:baseline; gap:6px; flex-wrap:wrap;
    font-size:12px; line-height:1.45; color:var(--slate); min-width:0;}
  .ccr-paid{color:var(--good); font-weight:600;}
}


.ctl-row{display:flex; align-items:center; gap:10px; min-width:0;}

.ctl-tabs{display:flex; align-items:center; gap:6px; min-width:0;}

.client-head-id{display:flex; gap:16px; align-items:center; min-width:0;}
.client-head-info{min-width:0;}
@media (max-width:720px){
  .client-head-id{align-items:flex-start; gap:12px; width:100%;}
  .client-head-info{flex:1 1 0;}
}

.fin-pay-src{width:150px; flex-shrink:0; min-width:0;}
.fin-pay-acc{width:170px; flex-shrink:0;}
.fin-pay-sum{width:130px; flex-shrink:0; text-align:right; font-weight:700;}
.fin-pay-status{width:150px; flex-shrink:0; justify-content:center;}

.row-main{flex:1; min-width:0;}

.ctl-group{display:inline-flex; align-items:center; gap:8px; flex:0 0 auto; flex-wrap:nowrap; min-width:0;}
.cal-month{min-width:170px;}

.auto-cols{display:grid; gap:12px;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--col, 240px)), 1fr));}

@media (max-width:720px){
  .ctl-row{width:100%; flex:1 1 100%; flex-wrap:wrap; gap:8px;}
  .ctl-row > select, .ctl-row > input{flex:1 1 140px; min-width:0; width:auto;}
  .row-main{flex:1 1 100%;}
  .ctl-row > .btn-primary{flex:1 1 100%; justify-content:center; order:9;}
  .page-head.flex-between > div{min-width:0; max-width:100%;}
  .page-head.flex-between > div + div{width:100%; flex:1 1 100%; flex-wrap:wrap; gap:8px;}

  .ctl-tabs{width:100%; flex:1 1 100%; flex-wrap:nowrap; overflow-x:auto;
    -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain;
    scrollbar-width:none; padding-bottom:2px;}
  .ctl-tabs::-webkit-scrollbar{display:none;}
  .ctl-tabs > *{flex:0 0 auto;}

  .role-switch{width:100%; flex:1 1 100%; flex-wrap:nowrap; overflow-x:auto;
    -webkit-overflow-scrolling:touch; scrollbar-width:none;}
  .role-switch::-webkit-scrollbar{display:none;}
  .role-switch button{flex:1 0 auto; min-height:40px; text-align:center; white-space:nowrap;}

  .page-head.flex-between > .btn{width:100%; justify-content:center; margin-top:4px;}

  .dep-grid, .clock-grid, .clock-add-grid, .emp-cols, .cplace-grid, .cplace-add,
  .plan-stats-row, .prp-group-cards, .contract-sign-columns, .sign-place-switch,
  .fin-detail-grid, .lt-pair, .inv-head, .petition-question-actions, .field-row-2{
    grid-template-columns:1fr !important;
  }

  .fin-payment-row{flex-wrap:wrap; gap:4px 10px; align-items:baseline; padding:12px 2px;}
  .fin-pay-who{flex:1 1 auto; order:1;}
  .fin-pay-sum{width:auto; flex:0 0 auto; order:2; font-size:14.5px;}
  .fin-pay-date{flex:1 1 100%; order:3; display:flex; gap:8px; align-items:baseline;}
  .fin-pay-date .hint{margin:0;}
  .fin-pay-src{width:auto; flex:0 0 auto; order:4;}
  .fin-pay-acc{width:auto; flex:1 1 auto; order:5; min-width:0;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
  .fin-pay-status{width:auto; flex:0 0 auto; order:6;}

  .pill{max-width:100%; white-space:normal; height:auto; min-height:24px;}
  .overlay{z-index:1200;}
  .drawer{z-index:1201;}
  .voice-panel{z-index:1300;}

  .settings-layout > .card:first-child{display:block; padding:6px;}
  .settings-layout .settings-nav-item{width:100%; flex:none; padding:11px 12px;}
  .settings-layout.m-picked > .card:first-child{display:none;}
  .settings-layout:not(.m-picked) > .card:last-child{display:none;}
  .settings-back{display:flex;}

  .topbar{justify-content:flex-end; min-height:calc(52px + env(safe-area-inset-top, 0px));
    padding-left:14px; padding-right:14px;}
  .topbar > .pop{left:auto; right:0;}

  .cal-events{flex-direction:row; flex-wrap:wrap; gap:3px; align-content:flex-start; margin-top:3px;}
  .cal-ev{width:7px; height:7px; border-radius:50%; padding:0; overflow:hidden;
    font-size:0; line-height:0; color:transparent;}
  .cal-ev.ev-filing{background:var(--stamp);}
  .cal-ev.ev-task{background:var(--visa);}
  .cal-ev.ev-move{background:#D97706;}
  .cal-more{font-size:10px; padding:0; line-height:9px; color:var(--slate);
    flex:1 0 100%; white-space:nowrap; margin-top:1px;}
  .cal-month{min-width:118px; font-size:13.5px;}
  .cal-day{min-height:58px; padding:5px 4px;}
  .cal-grid{gap:4px;}
  .cal-head > div{font-size:11px;}

  input:not([type=checkbox]):not([type=radio]):not([type=range]),
  select, textarea{min-height:40px;}
  input[type=file]{padding:8px 10px; display:flex; align-items:center;}
  .client-grade-picker{height:40px; padding:0 8px 0 12px; font-size:12.5px;}
  .client-grade-picker select{min-height:38px; height:38px;}

  .evidence-card{padding:12px 13px; gap:11px;}
  .crit-folder{width:40px; height:34px;}
  .crit-folder-svg svg{width:40px; height:34px;}
  .crit-folder-check{width:16px; height:16px;}
  .crit-folder-check svg{width:16px; height:16px;}
  .evidence-card h4{font-size:14.5px; line-height:1.25;}
  .evidence-card p{font-size:14px;}
  .evidence-card label{font-size:12.5px;}
  .share-screen .evidence-card{padding:16px 20px; gap:18px;}
  .share-screen .crit-folder{width:68px; height:57px;}
  .share-screen .crit-folder-svg svg{width:68px; height:57px;}
  .share-screen .crit-folder-check{width:20px; height:20px;}
  .share-screen .crit-folder-check svg{width:20px; height:20px;}
  .share-screen .evidence-card h4{font-size:15.5px;}
  .share-screen .evidence-card p{font-size:15.5px;}
  .share-screen .evidence-card label{font-size:inherit;}

  .step-check{position:relative;}
  .step-check::after{content:''; position:absolute; inset:-9px; border-radius:50%;}

  .leader-monica-skills{min-height:40px; display:flex; align-items:center;}

  .task-popup-x{min-width:40px; min-height:40px;}

  label.pill, .ctl-row label, .page-head label, .chead-attorney,
  .evidence-card label, .card label:has(> input[type=checkbox]),
  label:has(> input[type=checkbox]), label:has(> input[type=radio]){
    min-height:40px; display:inline-flex; align-items:center;
  }

  .card > .payroll-table{max-width:100%;}
}

.dyn-card{margin-bottom:12px;}
.dyn-delta{flex:0 0 auto; font:700 14px/1 var(--font-mono); color:var(--ink-soft); white-space:nowrap;}
.dyn-delta.is-up, .dyn-row-delta.is-up{color:var(--visa);}
.dyn-delta.is-down, .dyn-row-delta.is-down{color:var(--slate);}

.dyn-pair{margin-top:14px; display:flex; flex-direction:column; gap:8px;}
.dyn-bar-row{display:flex; align-items:center; gap:10px;}
.dyn-bar-label{flex:0 0 52px; font-size:12.5px; color:var(--slate);}
.dyn-bar{flex:1 1 auto; min-width:0; height:16px; border-radius:8px; background:var(--sky);
  position:relative; overflow:hidden; display:block;}
.dyn-bar-fill{display:block; height:100%; border-radius:8px; transition:width .25s ease;}
.dyn-bar-fill.is-before{background:#9fccbf;}
.dyn-bar-fill.is-now{background:var(--visa);}
.dyn-bar-num{flex:0 0 auto; min-width:86px; text-align:right; font-size:13.5px;}

.dyn-bar--pair{height:16px; display:flex; flex-direction:column; gap:2px; background:transparent; overflow:visible;}
.dyn-bar--pair .dyn-bar-fill{height:7px; border-radius:4px; background:var(--sky);}
.dyn-bar--pair .dyn-bar-fill.is-before{background:#9fccbf;}
.dyn-bar--pair .dyn-bar-fill.is-now{background:var(--visa);}

.dyn-rows{margin-top:16px; padding-top:12px; border-top:1px solid var(--line);
  display:flex; flex-direction:column; gap:9px;}
.dyn-row{display:flex; align-items:center; gap:10px;}
.dyn-row-name{flex:0 0 150px; min-width:0; font-size:13px; color:var(--ink-soft);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.dyn-row-nums{flex:0 0 auto; min-width:150px; text-align:right; font-size:12.5px; color:var(--slate);}
.dyn-row-delta{margin-left:8px; font-weight:700;}
.dyn-cell{min-width:120px; text-align:right;}
.dyn-cell--wide{min-width:140px;}

@media (max-width:720px){
  .dyn-row{flex-wrap:wrap; gap:4px 10px;}
  .dyn-row-name{flex:1 1 100%; white-space:normal;}
  .dyn-row-nums{flex:0 0 auto; min-width:0; text-align:left;}
  .dyn-bar--pair{flex:1 1 100%;}
  .dyn-bar-label{flex:0 0 44px;}
  .dyn-bar-num{min-width:0; flex:0 0 auto;}
  .dyn-cell, .dyn-cell--wide{min-width:0; text-align:left;}
}

.role-switch--wrap{flex-wrap:wrap; row-gap:4px;}
@media (max-width: 720px){
  .role-switch--wrap{width:100%;}
  .role-switch--wrap button{flex:1 1 auto; white-space:nowrap;}
}

.snd-try{display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin:-6px 0 14px;}
.snd-try-link{
  border:none; background:none; padding:0; cursor:pointer; font-family:var(--font-body);
  font-size:12px; color:var(--ink-soft); text-decoration:underline dotted; text-underline-offset:3px;
}
.snd-try-link:hover{color:var(--visa);}

.fact-switch{display:flex; gap:8px; align-items:center; margin:0 0 10px; cursor:pointer; font-size:13px;}
.fact-box{
  border:1px solid var(--amber-soft); background:var(--amber-soft);
  border-radius:12px; padding:14px 14px 4px; margin:0 0 14px;
}
.fact-box .field label{font-size:12px;}
.fact-note{margin:2px 0 10px; color:var(--amber); font-weight:600;}

.deadline-ask__need{margin-right:auto; color:var(--amber); font-weight:600; white-space:normal;}

.task-head-row{ flex-wrap:wrap; gap:10px; min-width:0; }
.task-head-row .role-switch{ flex-wrap:wrap; }
.task-add-btn{ flex-shrink:0; white-space:nowrap; margin-left:auto; }
.task-filters{
  display:flex; flex-wrap:wrap; gap:8px; align-items:center;
  margin:12px 0 4px; min-width:0;
}
.task-filters select{
  border:1px solid var(--sky-line); background-color:var(--paper); border-radius:10px;
  padding:9px 32px 9px 12px; font-size:12.5px; color:var(--ink-soft);
  min-width:150px; max-width:100%;
}
.task-filter-check{
  display:flex; align-items:center; gap:6px; font-size:12.5px;
  color:var(--ink-soft); cursor:pointer; white-space:nowrap;
}
@media (max-width:720px){
  .task-filters select{ min-width:0; flex:1 1 100%; }
  .task-add-btn{ margin-left:0; width:100%; justify-content:center; }
}

.task-people{ display:flex; flex-wrap:wrap; gap:4px 10px; align-items:center; margin-top:4px; font-size:11.5px; }
.task-people b{ color:var(--ink); font-weight:600; }
.task-people .task-people-co{ color:var(--ink-soft); }
.task-people .task-people-due{ color:var(--ink-soft); white-space:nowrap; }
.task-people .task-people-due.is-late{ color:var(--stamp); font-weight:700; }

.task-progress{ display:flex; align-items:center; gap:8px; margin-top:5px; }
.task-progress-bar{ flex:0 0 108px; height:6px; border-radius:999px; background:var(--sky-line); overflow:hidden; }
.task-progress-fill{ height:100%; border-radius:999px; background:var(--visa); transition:width .2s ease; }
.task-progress-fill.is-done{ background:#16A335; }
.task-progress-text{ font-size:11.5px; color:var(--ink-soft); white-space:nowrap; }

.task-file-row{ display:flex; align-items:center; gap:8px; margin-bottom:5px; min-width:0; }
.task-file-ico{ flex:0 0 auto; width:15px; height:15px; color:var(--ink-soft); }
.task-file-ico svg{ width:15px; height:15px; display:block; }
.task-file-name{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  text-align:left; font-size:12.5px; background:none; border:0; padding:0; color:var(--visa);
  cursor:pointer; font-family:inherit; }
.task-file-name:hover{ text-decoration:underline; }
.task-file-name.is-plain{ color:var(--ink); cursor:default; }
.task-file-name.is-plain:hover{ text-decoration:none; }



.share-lang{display:inline-flex; align-items:center; gap:2px; padding:3px; border-radius:999px;
  border:1px solid var(--sky-line); background:var(--paper);}
.share-lang-ico{font-size:15px; line-height:1; padding:0 4px 0 6px;}
.share-lang-btn{border:0; background:none; font-family:inherit; font-size:13px; font-weight:700; color:var(--slate);
  padding:6px 10px; border-radius:999px; cursor:pointer; min-width:36px;}
.share-lang-btn:hover{color:var(--visa);}
.share-lang-btn.on{background:var(--visa); color:#fff;}

.ig-chat{position:relative;}
.ig-chat.ig-chat-drag .ig-chat-list{outline:2px dashed var(--visa); outline-offset:-4px;}
.ig-chat-drop-hint{position:absolute; left:50%; bottom:90px; transform:translateX(-50%); background:var(--visa); color:#fff; padding:6px 12px; border-radius:999px; font-size:13px; pointer-events:none; white-space:nowrap;}
.ig-chat-atts{display:flex; flex-direction:column; gap:6px; margin-bottom:4px;}
.ig-chat-atts + .ig-chat-text{margin-top:2px;}
.ig-chat-img{display:block; line-height:0;}
.ig-chat-img img{max-width:100%; width:260px; max-height:320px; object-fit:cover; border-radius:12px; display:block; background:var(--sky-soft);}
.ig-chat-video{width:280px; max-width:100%; max-height:360px; border-radius:12px; background:#000; display:block;}
.ig-chat-audio{width:260px; max-width:100%; display:block;}
.ig-chat-link{color:inherit; text-decoration:underline; font-size:13px;}
.ig-chat-att-wait{font-size:12px; opacity:.75; padding:20px 12px; border-radius:12px; background:rgba(127,127,127,.12); text-align:center; min-width:160px;}
.ig-chat-file{display:flex; align-items:center; gap:8px; padding:8px 10px; border-radius:12px; background:rgba(127,127,127,.12); min-width:200px;}
.ig-chat-file-icon{font-size:20px;}
.ig-chat-file-body{display:flex; flex-direction:column; flex:1; min-width:0;}
.ig-chat-file-name{font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.ig-chat-file-size{font-size:11px; opacity:.7;}
.ig-chat-row.ours .ig-chat-file .btn{color:#fff; background:transparent; border-color:rgba(255,255,255,.6);}
.ig-chat-pending{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:6px;}
.ig-chat-chip{display:flex; align-items:center; gap:6px; padding:4px 6px 4px 4px; border:1px solid var(--sky-line); border-radius:10px; background:var(--paper); max-width:260px;}
.ig-chat-chip img{width:36px; height:36px; object-fit:cover; border-radius:6px;}
.ig-chat-chip-icon{font-size:20px; width:36px; text-align:center;}
.ig-chat-chip-name{font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; flex:1;}
.ig-chat-chip-x{border:0; background:none; font-size:18px; line-height:1; cursor:pointer; color:var(--ink-soft); padding:0 2px;}
.ig-chat-attach{font-size:18px; padding-left:10px; padding-right:10px;}
.ig-chat-spinner{display:inline-block; width:12px; height:12px; margin-right:6px; vertical-align:-1px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:ig-chat-spin .8s linear infinite;}
@keyframes ig-chat-spin{to{transform:rotate(360deg);}}
@media (max-width: 640px){ .ig-chat-attach{align-self:flex-start;} .ig-chat-drop-hint{white-space:normal; width:80%; text-align:center;} }

.share-screen.sv-desktop{padding:34px 32px 60px;}



@media (max-width:900px){
  .share-screen.sv-desktop{padding:20px 12px;}
  .share-screen.sv-desktop .share-wrap{gap:16px;}
  .share-screen.sv-desktop .sv-status,
  .share-screen.sv-desktop .brief-cta,
  .share-screen.sv-desktop .sv-tasks,
  .share-screen.sv-desktop .sv-materials{grid-column:1 / -1;}
  .share-screen.sv-desktop .evidence-grid{grid-template-columns:repeat(auto-fill, minmax(min(100%, 260px), 1fr));}
}

.share-screen.sv-desktop .share-wrap{
  max-width:1320px;
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
  gap:18px 20px;
}
.share-screen.sv-desktop .share-wrap > *{
  grid-column:1 / -1; order:20;
  margin-top:0 !important; margin-bottom:0 !important;
}
.share-screen.sv-desktop .share-topbar{order:1; margin-bottom:6px !important;}
.share-screen.sv-desktop .sv-status{order:2; grid-column:span 7;}
.share-screen.sv-desktop .brief-cta{order:3; grid-column:span 5;}
.share-screen.sv-desktop .share-docs{order:4;}
.share-screen.sv-desktop .sv-tasks{order:5; grid-column:span 6;}
.share-screen.sv-desktop .sv-materials{order:6; grid-column:span 6;}
.share-screen.sv-desktop .sv-alone{grid-column:1 / -1;}
.share-screen.sv-desktop .crit-grid-head{margin-top:16px !important;}

.share-screen.sv-desktop .sv-status,
.share-screen.sv-desktop .brief-cta{display:flex; flex-direction:column; justify-content:center;}
.share-screen.sv-desktop .brief-cta{padding:26px 28px;}
.share-screen.sv-desktop .sv-status h1{font-size:24.5px;}

.share-screen.sv-desktop .share-docs-list{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  gap:14px; align-items:stretch;
}
.share-screen.sv-desktop .share-doc--slot{height:100%;}
.share-screen.sv-desktop .share-doc-actions{margin-top:auto;}

.share-screen.sv-desktop .evidence-grid{grid-template-columns:repeat(3, minmax(0, 1fr));}
@media (min-width:1380px){
  .share-screen.sv-desktop .evidence-grid{grid-template-columns:repeat(4, minmax(0, 1fr));}
}





















.share-topbar-side{display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end;}
.share-view-toggle{
  display:inline-flex; align-items:center; gap:7px; padding:8px 14px;
  border-radius:999px; border:1px solid var(--sky-line); background:var(--paper);
  color:var(--slate); font-family:inherit; font-size:14px; font-weight:700;
  cursor:pointer; white-space:nowrap; transition:border-color .15s, color .15s, box-shadow .15s;
}
.share-view-toggle:hover{border-color:var(--visa); color:var(--visa); box-shadow:0 2px 10px rgba(23,224,143,.12);}
.share-view-toggle-emoji{font-size:15px; line-height:1;}

.rail-item .rail-item-badge{
  position:static; top:auto; right:auto;
  margin-left:auto; align-self:center; flex-shrink:0;
}

.pw-materials-btn{ margin-top:10px; align-self:flex-start; }

.kanban-col{position:relative;overflow:hidden;}
.kanban-col::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--phase, transparent);}
.it-phase-band{height:18px;margin:-2px 0 2px;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--phase, var(--slate));}
.it-col-sum{font-size:12px;font-weight:700;color:var(--ink-soft);margin:-4px 0 8px;padding:0 2px;}
.it-card-foot{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:7px;border-top:1px dashed var(--sky-line);font-size:12px;}
.it-next{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-soft);}
.it-next b{color:var(--visa);}
.it-next--late{color:var(--stamp);} .it-next--late b{color:var(--stamp);}
.it-next--none{color:var(--stamp);font-weight:700;}
.it-days{flex:none;font-weight:700;padding:1px 7px;border-radius:10px;background:var(--sky);color:var(--slate);}
.it-days--1{background:var(--amber-soft);color:var(--amber);}
.it-days--2{background:var(--stamp-soft);color:var(--stamp);}
.it-avatars{display:flex;flex:none;}
.it-avatars i{font-style:normal;width:22px;height:22px;border-radius:50%;background:var(--visa-soft);color:var(--visa-ink);font-size:10px;font-weight:800;display:grid;place-items:center;margin-left:-5px;border:2px solid #fff;}
.it-quick button{white-space:nowrap;}

.it-brief-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 16px;}
.it-brief-grid label{display:flex;flex-direction:column;gap:5px;}
.it-brief-grid .it-full{grid-column:1/-1;}
.it-lbl{font-size:12px;font-weight:700;color:var(--ink-soft);}
.it-lbl a{font-weight:600;margin-left:6px;color:var(--visa);}
.it-brief input,.it-brief textarea{border:1px solid var(--sky-line);border-radius:10px;padding:9px 11px;font:inherit;font-size:14px;color:var(--ink);background:var(--paper);width:100%;}
.it-brief textarea{resize:vertical;}
.it-sub{margin:18px 0 8px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);}
.it-checks{display:flex;flex-wrap:wrap;gap:8px 18px;}
.it-checks label{display:flex;align-items:center;gap:7px;font-size:14px;color:var(--ink);cursor:pointer;}
.it-checks input{width:16px;height:16px;accent-color:var(--visa);}
.it-q{font-size:12px;font-weight:800;padding:4px 10px;border-radius:12px;}
.it-q--good{background:var(--good-soft);color:var(--good);} .it-q--mid{background:var(--amber-soft);color:var(--amber);} .it-q--bad{background:var(--stamp-soft);color:var(--stamp);}
.it-logo{width:30px; height:30px; flex-shrink:0; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; overflow:hidden; background:#fff; border:1px solid var(--sky-line); font-weight:700; font-size:13px;}
.it-logo img{width:100%; height:100%; object-fit:contain;}
.ob-form{margin-bottom:20px;}
.ob-kind{display:flex; gap:8px; margin-bottom:14px; flex-wrap:wrap;}
.ob-kind button{display:inline-flex; align-items:center; gap:6px; padding:8px 14px; border-radius:10px; border:1px solid var(--sky-line); background:var(--paper); color:var(--ink-soft); font:inherit; cursor:pointer;}
.ob-kind button.on{background:var(--visa); color:var(--visa-on, #fff); border-color:var(--visa);}
.ob-kind button :is(svg){width:16px; height:16px;}
.ob-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.ob-grid label{display:flex; flex-direction:column; gap:4px; min-width:0;}
.ob-grid .ob-full{grid-column:1 / -1;}
.ob-preview-wrap{margin-top:14px; max-width:560px;}
.ob-group{margin-bottom:22px;}
.ob-list{display:grid; grid-template-columns:repeat(auto-fill, minmax(380px, 1fr)); gap:16px;}
.ob-item{padding:16px; display:flex; flex-direction:column; gap:10px; min-width:0;}
.ob-item-head{display:flex; align-items:center; gap:10px;}
.ob-title{font-weight:650; font-size:15.5px; flex:1; min-width:0;}
.ob-tools{display:flex; gap:2px;}
.ob-tools .icon-btn :is(svg){width:15px; height:15px;}
.ob-badge{font-size:11.5px; font-weight:650; padding:3px 8px; border-radius:999px; flex-shrink:0;}
.ob-badge--video{background:#e8f0fe; color:#2f5bd3;}
.ob-badge--pdf{background:#fdecea; color:#c0392b;}
.ob-note{color:var(--slate); font-size:14px; margin:0;}
.ob-video{position:relative; width:100%; aspect-ratio:16/9; border-radius:10px; overflow:hidden; background:#000;}
.ob-video iframe, .ob-video video{position:absolute; inset:0; width:100%; height:100%; border:0;}
.ob-pdf-row{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.ob-file :is(svg){width:20px; height:20px; color:#c0392b;}
.ob-fname{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px;}
.ob-pdf{width:100%; height:560px; border:1px solid var(--sky-line); border-radius:10px; background:#fff;}
@media (max-width:640px){ .ob-grid{grid-template-columns:1fr;} .ob-list{grid-template-columns:1fr;} .ob-pdf{height:420px;} }
.rail-logo:has(.novo-mark){background:none; box-shadow:0 4px 12px rgba(6,33,28,.28); border-radius:10px;}
.rail-logo svg.novo-mark{width:40px; height:40px;}
.ob-item:has(.ob-doc){grid-column:1 / -1;}
.ob-doc{border-top:1px solid var(--sky-line); padding-top:14px; font-size:15px; line-height:1.6; color:var(--ink-soft); max-width:900px;}
.ob-doc h1{font-size:24px; margin:4px 0 10px;}
.ob-doc h2{font-size:20px; margin:28px 0 8px; padding-top:14px; border-top:1px solid var(--sky-line);}
.ob-doc h3{font-size:16px; margin:18px 0 6px;}
.ob-doc p{margin:0 0 10px;}
.ob-doc ul, .ob-doc ol{margin:0 0 12px; padding-left:22px;}
.ob-doc li{margin-bottom:5px;}
.ob-doc table{width:100%; border-collapse:collapse; margin:0 0 14px; font-size:14px; display:block; overflow-x:auto;}
.ob-doc th, .ob-doc td{border:1px solid var(--sky-line); padding:7px 10px; text-align:left; vertical-align:top;}
.ob-doc th{background:var(--sky); font-weight:650;}
.ob-doc code{background:var(--sky); padding:1px 5px; border-radius:4px; font-size:.88em;}
.ob-doc small{color:var(--slate);}
.ob-doc a{color:var(--visa); text-decoration:underline;}
.ob-item > .ob-video{margin-top:auto;}
.ob-item-head{align-items:flex-start;}
.ob-item-head .ob-badge{margin-top:3px;}
.ob-facade{position:absolute; inset:0; padding:0; border:0; cursor:pointer; background:#000;}
.ob-facade img{width:100%; height:100%; object-fit:cover; display:block; opacity:.92; transition:opacity .15s;}
.ob-facade:hover img{opacity:1;}
.ob-play{position:absolute; left:50%; top:50%; width:68px; height:48px; margin:-24px 0 0 -34px; border-radius:14px; background:rgba(0,0,0,.6); transition:background .15s;}
.ob-facade:hover .ob-play{background:#e62117;}
.ob-play::after{content:''; position:absolute; left:27px; top:14px; border-style:solid; border-width:10px 0 10px 17px; border-color:transparent transparent transparent #fff;}
.ob-doc .mk-shot{margin:14px 0 22px; border:1px solid var(--sky-line); border-radius:14px; background:var(--paper, #fff); box-shadow:0 10px 30px rgba(15,40,35,.08); overflow:hidden; font-size:13.5px; line-height:1.45;}
.ob-doc .mk-bar{display:flex; align-items:center; gap:6px; padding:9px 14px; background:var(--sky); border-bottom:1px solid var(--sky-line); font-size:12px; color:var(--slate); font-weight:600;}
.ob-doc .mk-dot{width:9px; height:9px; border-radius:50%; background:#d7dfdc; display:inline-block;}
.ob-doc .mk-body{padding:16px;}
.ob-doc .mk-cap{font-size:12.5px; color:var(--slate); margin:-14px 0 22px; font-style:italic;}
.ob-doc .mk-row{display:flex; gap:12px; flex-wrap:wrap; align-items:stretch;}
.ob-doc .mk-col{flex:1 1 150px; min-width:150px; background:var(--sky); border-radius:10px; padding:10px; border-top:3px solid #1d4ed8;}
.ob-doc .mk-col-build{border-top-color:#0E8C52;} .ob-doc .mk-col-close{border-top-color:#7A5FD6;}
.ob-doc .mk-colh{display:flex; justify-content:space-between; font-weight:650; font-size:12.5px; color:var(--ink); margin-bottom:2px;}
.ob-doc .mk-sum{font-size:12px; font-weight:700; color:var(--ink); margin-bottom:8px; display:block;}
.ob-doc .mk-card{background:#fff; border:1px solid var(--sky-line); border-radius:9px; padding:9px 10px; margin-bottom:8px; box-shadow:0 1px 2px rgba(0,0,0,.04);}
.ob-doc .mk-card-t{display:flex; align-items:center; gap:7px; font-weight:650; color:var(--ink);}
.ob-doc .mk-logo{width:22px; height:22px; border-radius:6px; display:inline-flex; align-items:center; justify-content:center; font-size:11px; font-weight:800; color:#fff; background:#0E6F5C; flex-shrink:0;}
.ob-doc .mk-logo-b{background:#c2410c;} .ob-doc .mk-logo-c{background:#1d4ed8;} .ob-doc .mk-logo-d{background:#7A5FD6;}
.ob-doc .mk-muted{color:var(--slate); font-size:12px;}
.ob-doc .mk-line{display:flex; justify-content:space-between; gap:8px; margin-top:4px; font-size:12px;}
.ob-doc .mk-next{color:var(--visa); font-size:12px; margin-top:6px; display:block;}
.ob-doc .mk-days{font-size:11px; font-weight:700; padding:1px 7px; border-radius:999px; background:#eef4f2; color:var(--slate);}
.ob-doc .mk-days-warn{background:#fdf3d8; color:#9a6b00;} .ob-doc .mk-days-bad{background:#fde6e1; color:#b42318;}
.ob-doc .mk-pill{display:inline-block; font-size:11.5px; font-weight:650; padding:2px 9px; border-radius:999px; background:#eef4f2; color:var(--slate); white-space:nowrap;}
.ob-doc .mk-ok{background:#e3f5ec; color:#0b7a46;} .ob-doc .mk-wait{background:#fdf3d8; color:#9a6b00;} .ob-doc .mk-bad{background:#fde6e1; color:#b42318;} .ob-doc .mk-info{background:#e8f0fe; color:#2f5bd3;}
.ob-doc .mk-steps{display:flex; gap:6px; flex-wrap:wrap; margin:4px 0 14px;}
.ob-doc .mk-step{font-size:12px; padding:5px 10px; border-radius:8px; background:var(--sky); color:var(--slate);}
.ob-doc .mk-step-done{background:#e3f5ec; color:#0b7a46; font-weight:650;}
.ob-doc .mk-paper{background:#fff; border:1px solid var(--sky-line); border-radius:8px; padding:18px 20px; max-width:620px; margin:0 auto;}
.ob-doc .mk-paper-h{display:flex; justify-content:space-between; align-items:flex-start; gap:12px; border-bottom:2px solid var(--ink); padding-bottom:10px; margin-bottom:12px;}
.ob-doc .mk-big{font-size:20px; font-weight:750; color:var(--ink); display:block;}
.ob-doc .mk-total{display:flex; justify-content:space-between; border-top:2px solid var(--ink); margin-top:8px; padding-top:8px; font-weight:750; color:var(--ink); font-size:15px;}
.ob-doc .mk-sign{display:flex; gap:20px; margin-top:16px; flex-wrap:wrap;}
.ob-doc .mk-sign-box{flex:1 1 180px; border-top:1px solid var(--slate); padding-top:5px; font-size:12px; color:var(--slate);}
.ob-doc .mk-signed{font-family:'Brush Script MT','Segoe Script',cursive; font-size:22px; color:#1d3fa8; display:block; height:26px;}
.ob-doc .mk-kpis{display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:10px; margin-bottom:14px;}
.ob-doc .mk-kpi{background:var(--sky); border-radius:10px; padding:10px 12px;}
.ob-doc .mk-kpi-v{font-size:19px; font-weight:750; color:var(--ink); display:block;}
.ob-doc .mk-shot table{display:table; margin:0; font-size:12.5px; min-width:0;}
.ob-doc .mk-shot th, .ob-doc .mk-shot td{border:0; border-bottom:1px solid var(--sky-line); padding:7px 8px;}
.ob-doc .mk-shot th{background:none; color:var(--slate); font-size:11px; text-transform:uppercase; letter-spacing:.04em;}
.ob-doc .mk-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:12px; margin:12px 0 20px;}
.ob-doc .mk-mod{border:1px solid var(--sky-line); border-radius:12px; padding:13px 14px; background:#fff;}
.ob-doc .mk-mod-h{font-weight:700; color:var(--ink); font-size:14.5px; display:block; margin-bottom:4px;}
.ob-doc .mk-mod-ex{display:block; margin-top:8px; padding:8px 10px; background:var(--sky); border-radius:8px; font-size:12.5px;}
.ob-doc .mk-mod-where{display:block; margin-top:8px; font-size:11.5px; color:var(--slate);}
.ob-doc .mk-bar-chart{display:flex; align-items:flex-end; gap:8px; height:90px; padding-top:6px;}
.ob-doc .mk-b{flex:1; background:#0E8C52; border-radius:5px 5px 0 0; min-width:16px;}
.ob-doc .mk-b1{height:35%;} .ob-doc .mk-b2{height:55%;} .ob-doc .mk-b3{height:48%;} .ob-doc .mk-b4{height:72%;} .ob-doc .mk-b5{height:64%;} .ob-doc .mk-b6{height:90%;}
.ob-doc .mk-check{display:inline-block; width:14px; height:14px; border-radius:4px; border:1.5px solid #0b7a46; background:#0b7a46; vertical-align:-2px; margin-right:5px;}
.ob-doc .mk-uncheck{display:inline-block; width:14px; height:14px; border-radius:4px; border:1.5px solid var(--slate); vertical-align:-2px; margin-right:5px;}
@media (max-width:640px){ .ob-doc .mk-paper{padding:12px;} .ob-doc .mk-col{min-width:100%;} }
.ob-doc .mk-ico{display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:13px; font-size:23px; line-height:1; margin-bottom:10px; box-shadow:inset 0 0 0 1px rgba(0,0,0,.04);}
.ob-doc .mk-ico-g{background:linear-gradient(135deg,#dff6ea,#c4ecd7);} .ob-doc .mk-ico-b{background:linear-gradient(135deg,#e3edff,#cddcfb);}
.ob-doc .mk-ico-o{background:linear-gradient(135deg,#ffeadb,#fdd5bb);} .ob-doc .mk-ico-y{background:linear-gradient(135deg,#fff3cf,#fde7a4);}
.ob-doc .mk-ico-p{background:linear-gradient(135deg,#efe6ff,#ddd0fb);} .ob-doc .mk-ico-r{background:linear-gradient(135deg,#ffe3e3,#fbcaca);}
.ob-doc .mk-mod{transition:transform .15s, box-shadow .15s;}
.ob-doc .mk-mod:hover{transform:translateY(-2px); box-shadow:0 8px 22px rgba(15,40,35,.08);}
.startup-splash-logo:has(.novo-mark){background:none; box-shadow:0 10px 28px rgba(6,33,28,.3);}
.startup-splash-logo svg.novo-mark{width:72px; height:72px;}

.ig-chat-list{display:flex; flex-direction:column; gap:6px; height:min(56vh, 520px); overflow-y:auto; padding:12px; border:1px solid var(--sky-line); border-radius:var(--radius-md); background:var(--sky-soft);}
.ig-chat-day{align-self:center; font-size:12px; color:var(--ink-soft); padding:6px 0 2px;}
.ig-chat-row{display:flex;}
.ig-chat-row.theirs{justify-content:flex-start;}
.ig-chat-row.ours{justify-content:flex-end;}
.ig-chat-bubble{max-width:min(78%, 520px); padding:8px 12px; border-radius:18px; background:var(--paper); color:var(--ink); border:1px solid var(--sky-line);}
.ig-chat-row.theirs .ig-chat-bubble{border-bottom-left-radius:6px;}
.ig-chat-row.ours .ig-chat-bubble{background:var(--visa); border-color:var(--visa); color:#fff; border-bottom-right-radius:6px;}
.ig-chat-text{white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.4;}
.ig-chat-meta{font-size:11px; opacity:.75; margin-top:3px; text-align:right;}
.ig-chat-window{font-size:12px; margin:10px 0 6px;}
.ig-chat-window.open{color:var(--good);}
.ig-chat-window.closed{color:var(--amber);}
.ig-chat-input{display:flex; gap:8px; align-items:flex-end;}
.ig-chat-input textarea{flex:1; resize:vertical; min-height:44px; max-height:200px;}
@media (max-width: 640px){ .ig-chat-input{flex-direction:column; align-items:stretch;} }

.rail-item-icon--emoji{font-size:19px; line-height:1; display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px;}
.mobile-tab-ic--emoji{font-size:19px; line-height:1;}
.ob-tiles{display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:16px; margin-top:6px;}
.ob-tile{display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:22px; text-align:left; cursor:pointer; font:inherit; color:inherit; border:1px solid var(--sky-line); transition:transform .12s, box-shadow .12s;}
.ob-tile:hover{transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.08);}
.ob-tile-icon{font-size:40px; line-height:1; margin-bottom:6px;}
.ob-tile-name{font-weight:700; font-size:17px;}
.ob-tile-meta{color:var(--slate); font-size:13.5px;}
.ob-tile-for{margin-top:6px; font-size:12px; font-weight:600; padding:3px 9px; border-radius:999px; background:var(--sky, #eef6f2); color:var(--visa);}
.ob-crumbs{display:flex; align-items:center; gap:12px; margin:4px 0 16px;}
.ob-crumb-title{font-weight:700; font-size:18px;}


:root:not([data-theme="dark"]):not([data-theme="night"]):not([data-theme="olej"]){
  --sky:#F7F4EC;
  --sky-deep:#EFEADE;
  --sky-line:#DFD9CC;
  --ink:#06211C;
  --ink-soft:#0A3A30;
  --ink-invert:#06211C;
  --slate:#4F625B;
  --slate-2:#7E8B86;
  --slogan:#8FA49D;
  --good:#17654F;
  --good-soft:#E3F1EA;
  --shadow-card:0 1px 2px rgba(6,33,28,.05), 0 1px 1px rgba(6,33,28,.03);
  --font-display:'Wix Madefor Display', 'Onest', system-ui, sans-serif;
  --font-body:'Onest', system-ui, sans-serif;
}
:root:not([data-theme="dark"]):not([data-theme="night"]):not([data-theme="olej"]) body{background:var(--sky)}
.ob-block-title{font-size:18px; font-weight:800; color:var(--ink); margin:26px 2px 12px; display:flex; align-items:center; gap:8px;}
.ob-block-title:first-child{margin-top:4px;}
.ob-block-title span{font-size:12px; font-weight:700; color:var(--slate); background:var(--sky); border-radius:999px; padding:2px 9px;}

.contract-sign-page .contract-sign-head,.contract-sign-page .contract-sign-padbar,.contract-sign-page .contract-sign-confirm,.contract-sign-page .contract-sign-notice{max-width:816px}
.contract-sign-canvas.contract-sign-padbar-canvas{height:auto;width:100%;max-width:340px;margin:0 auto}
.contract-sign-pad{max-width:560px;margin:0 auto}
.contract-sign-padbar-canvas{display:block;width:100%;height:auto;min-height:0;max-height:none;max-width:100%;margin:0 auto}
@media(max-width:700px){
  .contract-sign-pages{padding:0 8px}
  .contract-sign-padbar{margin-left:8px;margin-right:8px;padding:12px}
  .contract-sign-padbar-canvas{min-height:0}
}
.contract-sign-manager-actions input{flex:1 1 100%;}
.ce-overlay{position:fixed; inset:0; z-index:1200; background:#eef1f0; display:flex; flex-direction:column;}
.ce-top{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 20px; background:var(--paper); border-bottom:1px solid var(--sky-line);}
.ce-title{display:flex; flex-direction:column; gap:2px; min-width:0;}
.ce-title b{font-size:16px; color:var(--ink);}
.ce-title span{font-size:13px; color:var(--slate); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.ce-actions{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.ce-state{font-size:13px; color:var(--amber);}
.ce-toolbar{display:flex; align-items:center; gap:4px; flex-wrap:wrap; padding:8px 20px; background:var(--paper); border-bottom:1px solid var(--sky-line); position:relative; z-index:2;}
.ce-toolbar button{min-width:34px; height:32px; padding:0 9px; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--ink); font:inherit; font-size:14px; cursor:pointer;}
.ce-toolbar button:hover{background:var(--sky-soft); border-color:var(--sky-line);}
.ce-toolbar select{height:32px; border:1px solid var(--sky-line); border-radius:8px; padding:0 8px; font:inherit; font-size:13.5px; background:var(--paper); color:var(--ink);}
.ce-sep{width:1px; height:20px; background:var(--sky-line); margin:0 6px;}
.ce-hint{margin-left:auto; font-size:12.5px; color:var(--slate);}
.ce-scroll{flex:1; overflow:auto; padding:28px 16px 60px;}
.ce-host{display:flex; justify-content:center;}
.ce-host .docx-wrapper{background:transparent !important; padding:0 !important;}
.ce-host section.docx{box-shadow:0 6px 24px rgba(15,40,35,.12) !important; margin:0 auto 24px !important;}
.ce-host [contenteditable]{outline:none; cursor:text;}
.ce-host [contenteditable]:focus-within{box-shadow:inset 0 0 0 2px rgba(11,131,103,.18); border-radius:2px;}
.ce-host.busy{opacity:.6; pointer-events:none;}
.ce-msg{text-align:center; color:var(--slate); padding:40px 0;}
.ce-err{color:var(--stamp);}
@media (max-width:760px){ .ce-hint{display:none;} .ce-scroll{padding:12px 4px 40px;} }
.ce-host section.docx{margin:0 auto 38px !important;}
.pp-scan{display:flex; flex-direction:column; gap:8px; padding:14px 16px; margin:4px 0 14px; border:1px dashed var(--sky-line); border-radius:14px; background:var(--sky-soft);}
.pp-scan-btn{align-self:flex-start; cursor:pointer;}
.pp-scan-btn.busy{opacity:.7; pointer-events:none;}
.pp-scan-body{display:flex; gap:16px; align-items:flex-start; flex-wrap:wrap;}
.pp-scan-photo{width:260px; max-width:100%; border-radius:10px; border:1px solid var(--sky-line); cursor:zoom-in; background:#fff; transition:width .2s;}
.pp-scan-photo.big{width:min(760px, 100%); cursor:zoom-out;}
.pp-scan-res{flex:1; min-width:240px; display:flex; flex-direction:column; gap:4px;}
.pp-row{display:flex; justify-content:space-between; gap:12px; font-size:13.5px; padding:4px 0; border-bottom:1px solid var(--sky-line);}
.pp-row span{color:var(--slate);}
.pp-row b{color:var(--ink); text-align:right; font-weight:600;}
.c3-in{margin-top:2px; max-width:100%; transition:width .12s;}
.pp-remove{align-self:flex-start; color:var(--stamp);}
.crm-hits{margin:4px 0 10px; padding:10px 12px; border:1px dashed var(--sky-line); border-radius:12px; background:var(--sky-soft); display:flex; flex-wrap:wrap; gap:6px; align-items:center;}
.crm-hits .hint{flex-basis:100%;}
.crm-hit{border:1px solid var(--sky-line); background:var(--paper); border-radius:999px; padding:6px 12px; font:inherit; font-size:13.5px; cursor:pointer; color:var(--ink);}
.crm-hit:hover{border-color:var(--visa); color:var(--visa-ink);}
.ce-stage{position:relative;}
.ce-sig{position:absolute; z-index:5; border:2px dashed #0B8367; border-radius:8px; background:rgba(11,131,103,.08);
  cursor:move; touch-action:none; user-select:none; box-sizing:border-box;}
.ce-sig.client{border-color:#2f6fd6; background:rgba(47,111,214,.08);}
.ce-sig.on{border-style:solid; box-shadow:0 0 0 3px rgba(11,131,103,.18);}
.ce-sig.client.on{box-shadow:0 0 0 3px rgba(47,111,214,.18);}
.ce-sig-label{position:absolute; left:6px; top:-11px; font:600 11px/18px Inter,system-ui,sans-serif; padding:0 8px; border-radius:9px;
  background:#0B8367; color:#fff; white-space:nowrap;}
.ce-sig.client .ce-sig-label{background:#2f6fd6;}
.ce-sig-x{position:absolute; right:-10px; top:-10px; width:22px; height:22px; border-radius:50%; border:0; background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.25); font:600 14px/22px system-ui; color:#c0392b; cursor:pointer; padding:0;}
.ce-sig-rs{position:absolute; right:-6px; bottom:-6px; width:14px; height:14px; border-radius:4px; background:#fff;
  border:2px solid currentColor; color:#0B8367; cursor:nwse-resize;}
.ce-sig.client .ce-sig-rs{color:#2f6fd6;}
.ce-toolbar button:disabled{opacity:.45; cursor:default;}
.contract-sign-page{overflow-x:hidden}
.csign-client{cursor:pointer}
.contract-sign-pad-preview{max-width:340px;margin:0 auto 10px;background:#fff;border:2px solid #bbf0e1;border-radius:10px;cursor:pointer}
.contract-sign-pad-preview img{display:block;width:100%;height:100%;object-fit:contain}
.contract-sign-pad-open{display:block;width:100%;max-width:340px;min-height:48px;margin:0 auto;font-size:16px}
.contract-sign-sheet{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(10,30,24,.55);overscroll-behavior:contain;touch-action:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.contract-sign-sheet-box{box-sizing:border-box;max-width:100%;max-height:100%;overflow:hidden;padding:14px 16px 16px;background:#f5fffc;border-radius:18px;box-shadow:0 20px 60px #0006;font-family:Manrope,Arial,sans-serif;color:#17332b}
.contract-sign-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.contract-sign-sheet-head b{font-size:16px}
.contract-sign-sheet-x{width:40px;height:40px;border:0;border-radius:50%;background:#e3f5ef;color:#17332b;font-size:18px;cursor:pointer;flex:none}
.contract-sign-sheet-lead{margin:2px 0 10px;font-size:13px;color:#608a7d}
.contract-sign-sheet-canvas{display:block;margin:0 auto;background:#fff;border:2px dashed #37e3b2;border-radius:12px;touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.contract-sign-sheet-tip{margin:8px 0 0;font-size:12.5px;color:#608a7d;text-align:center}
.contract-sign-sheet-actions{display:flex;gap:10px;margin-top:12px}
.contract-sign-sheet-actions .btn{flex:1;min-height:48px;font-size:16px}
.ob-sub{display:flex; align-items:center; gap:10px; margin:22px 0 12px; font-size:17px; font-weight:700; color:var(--ink);}
.ob-group > .ob-sub:first-child, .ob-block-title + .ob-sub{margin-top:6px;}
.ob-sub-ico{width:32px; height:32px; border-radius:10px; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;}
.ob-sub-ico :is(svg){width:17px; height:17px;}
.ob-sub-ico--doc{background:#fff1e6; color:#e8590c;}
.ob-sub-ico--video{background:#e8f0fe; color:#2f5bd3;}
.ob-sub-n{font-size:12.5px; font-weight:650; color:var(--slate); background:var(--sky); padding:2px 9px; border-radius:999px;}
.ob-reads{display:grid; grid-template-columns:repeat(auto-fill, minmax(440px, 1fr)); gap:10px;}
.ob-read{padding:14px 16px; min-width:0;}
.ob-read--open{grid-column:1 / -1;}
.ob-read-row{display:flex; align-items:center; gap:14px;}
.ob-read-ico{width:40px; height:40px; border-radius:11px; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; background:#fff1e6; color:#e8590c;}
.ob-read-ico--pdf{background:#fdecea; color:#c0392b;}
.ob-read-ico :is(svg){width:20px; height:20px;}
.ob-read-main{flex:1; min-width:0;}
.ob-read-main .ob-title{font-size:15px; line-height:1.35;}
.ob-read-main .ob-note{font-size:13.5px; margin-top:3px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.ob-read .ob-doc, .ob-read .ob-pdf{margin-top:14px;}
.ob-vids{display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:16px;}
.ob-vid{padding:0; overflow:hidden; display:flex; flex-direction:column; min-width:0; transition:transform .12s, box-shadow .12s;}
.ob-vid:hover{transform:translateY(-2px); box-shadow:0 10px 26px rgba(0,0,0,.08);}
.ob-vid .ob-video{border-radius:0;}
.ob-video--link{border:0; cursor:pointer; display:block; padding:0;}
.ob-vid-body{padding:12px 14px 14px; display:flex; flex-direction:column; gap:4px;}
.ob-vid-body .ob-title{font-size:14.5px; line-height:1.35;}
.ob-vid-body .ob-note{font-size:13px;}
@media (max-width:640px){ .ob-reads, .ob-vids{grid-template-columns:1fr;} .ob-read-row{flex-wrap:wrap;} }
.kind-tile{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; width:150px; height:118px; border:1px solid var(--sky-line); border-radius:16px; background:var(--paper); color:var(--ink); font:inherit; font-size:14px; font-weight:600; cursor:pointer; text-align:center; padding:10px; transition:border-color .15s, box-shadow .15s, transform .15s;}
.kind-tile:hover{border-color:var(--visa); box-shadow:0 8px 20px rgba(15,40,35,.08); transform:translateY(-2px);}
.kind-tile.on{border-color:var(--visa); background:var(--visa-soft); color:var(--visa-ink);}
.kind-tile-ic{font-size:34px; line-height:1;}

.review-side .row-item > .hint{flex:0 0 auto !important; min-width:110px; max-width:48%;}
.review-side .row-item > b{flex:1; min-width:0; text-align:right; overflow-wrap:anywhere;}

.pm-tiles{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:12px; margin-bottom:14px;}
.pm-tile{background:var(--paper,#fff); border:1px solid var(--sky-line); border-radius:16px; padding:16px 18px;}
.pm-tile-k{font-size:12.5px; color:var(--slate); font-weight:600;}
.pm-tile-v{font-size:24px; font-weight:800; margin-top:6px; font-variant-numeric:tabular-nums;}
.pm-tile--in .pm-tile-v{color:#15803d;}
.pm-tile--out .pm-tile-v{color:#b45309;}
.pm-tile--late{border-color:#fca5a5; background:#fef2f2;}
.pm-tile--late .pm-tile-v{color:#b91c1c;}
.pm-bar{display:flex; gap:8px; align-items:center; margin-bottom:14px; flex-wrap:wrap;}
.pm-toggle{font-size:13px; color:var(--slate); display:flex; gap:6px; align-items:center; cursor:pointer;}
.pm-cols{display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:start;}
.pm-col{padding:0; overflow:hidden;}
.pm-col-head{padding:14px 18px; font-weight:800; font-size:16px; border-bottom:1px solid var(--sky-line);}
.pm-col-head--income{background:#f0fdf4; color:#166534;}
.pm-col-head--expense{background:#fffbeb; color:#92400e;}
.pm-empty{padding:28px 18px; color:var(--slate); font-size:14px; display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.pm-grp{padding:10px 18px 6px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; color:var(--slate); display:flex; gap:6px;}
.pm-grp span{background:var(--sky); border-radius:999px; padding:0 7px; font-weight:650;}
.pm-grp--late{color:#b91c1c;}
.pm-row{display:flex; align-items:center; gap:12px; padding:10px 18px; border-top:1px solid var(--sky-line);}
.pm-row--late{background:#fff7f7;}
.pm-row--done{opacity:.55;}
.pm-date{width:46px; height:50px; border-radius:12px; background:var(--sky); display:flex; flex-direction:column; align-items:center; justify-content:center; flex-shrink:0; line-height:1.1;}
.pm-date b{font-size:18px;}
.pm-date span{font-size:11px; color:var(--slate);}
.pm-row--late .pm-date{background:#fee2e2; color:#991b1b;}
.pm-main{flex:1; min-width:0; cursor:pointer;}
.pm-who{font-weight:650; font-size:14.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.pm-sub{font-size:12.5px; color:var(--slate); margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.pm-late{color:#b91c1c; font-weight:600;}
.pm-amt{font-weight:800; font-size:15px; font-variant-numeric:tabular-nums; white-space:nowrap;}
.pm-amt--income{color:#15803d;}
.pm-amt--expense{color:#b45309;}
.pm-done{border:1px solid var(--sky-line); background:var(--paper,#fff); border-radius:999px; padding:6px 11px; font:inherit; font-size:12.5px; font-weight:650; cursor:pointer; white-space:nowrap; color:var(--ink);}
.pm-done:hover{background:var(--visa); border-color:var(--visa); color:#fff;}
.pm-seg{display:flex; gap:6px; margin-bottom:14px;}
.pm-seg button{flex:1; border:1px solid var(--sky-line); background:var(--paper,#fff); border-radius:999px; padding:8px; font:inherit; font-weight:650; cursor:pointer;}
.pm-seg button.on{background:var(--visa); border-color:var(--visa); color:#fff;}
@media (max-width:900px){ .pm-tiles{grid-template-columns:1fr 1fr;} .pm-cols{grid-template-columns:1fr;} }
.pm-cp{position:relative;}
.pm-cp-linked{display:inline-block; margin-top:6px; font-size:12.5px; font-weight:600; color:#15803d;}
.pm-sug{position:absolute; left:0; right:0; top:100%; margin-top:4px; z-index:20; background:#fff; border:1px solid var(--sky-line); border-radius:12px; box-shadow:0 12px 30px rgba(0,0,0,.12); overflow:hidden;}
.pm-sug button{display:flex; justify-content:space-between; gap:10px; width:100%; border:0; background:none; padding:10px 14px; font:inherit; text-align:left; cursor:pointer;}
.pm-sug button:hover{background:var(--sky);}
.pm-sug button span{color:var(--slate); font-size:12.5px;}

.cal-ev.ev-call { background:#ffedd5; color:#9a3412; font-weight:600; }
.cal-dot.ev-call { background:#ea580c; }
.cal-link { display:inline-block; margin-top:4px; font-size:12.5px; color:var(--visa); }
.ev-kinds { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:14px; }
.ev-kinds button { border:1px solid var(--sky-line); background:var(--paper,#fff); border-radius:999px; padding:7px 13px; font:inherit; font-size:13.5px; font-weight:600; cursor:pointer; }
.ev-kinds button.on { background:var(--visa); border-color:var(--visa); color:#fff; }
.ev-cp { position:relative; }
.ev-linked { display:inline-block; margin-top:6px; font-size:12.5px; font-weight:600; color:#15803d; }
.ev-sug { position:absolute; left:0; right:0; top:100%; margin-top:4px; z-index:20; background:#fff; border:1px solid var(--sky-line); border-radius:12px; box-shadow:0 12px 30px rgba(0,0,0,.12); overflow:hidden; }
.ev-sug button { display:flex; justify-content:space-between; gap:10px; width:100%; border:0; background:none; padding:10px 14px; font:inherit; text-align:left; cursor:pointer; }
.ev-sug button:hover { background:var(--sky); }
.ev-sug button span { color:var(--slate); font-size:12.5px; }

.cframe.csign-manager{background:transparent !important;}
.csign-manager img, img[alt="Підпис виконавця"]{mix-blend-mode:multiply;}
.ob-lang{display:inline-flex; gap:4px; margin:12px 0 2px; padding:4px; border-radius:999px; background:var(--sky);}
.ob-lang button{border:0; background:none; padding:6px 14px; border-radius:999px; font:inherit; font-size:13px; font-weight:650; color:var(--slate); cursor:pointer;}
.ob-lang button.on{background:var(--paper,#fff); color:var(--ink); box-shadow:0 1px 4px rgba(0,0,0,.1);}

.tpl-cat{font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--slate); margin:4px 0 8px;}
.tpl-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:10px;}
.tpl-tile{position:relative; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:6px; text-align:center; padding:18px 12px 14px; min-height:128px; border-radius:16px; background:var(--paper,#fff); border:1.5px solid var(--sky-line); cursor:pointer; font:inherit; color:var(--ink); transition:transform .12s, box-shadow .12s, border-color .12s;}
.tpl-tile:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(15,40,35,.08); border-color:var(--visa);}
.tpl-ico{font-size:30px; line-height:1; filter:grayscale(.6); opacity:.75;}
.tpl-name{font-size:13.5px; font-weight:750; line-height:1.25;}
.tpl-sub{font-size:12px; color:var(--slate); line-height:1.3; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
.tpl-check{position:absolute; top:8px; right:8px; width:22px; height:22px; border-radius:50%; border:1.5px solid var(--sky-line); background:#fff; color:transparent; font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center;}
.tpl-tile.on{border-color:var(--visa); background:var(--visa-soft); box-shadow:0 0 0 1px var(--visa) inset;}
.tpl-tile.on .tpl-ico{filter:none; opacity:1;}
.tpl-tile.on .tpl-check{background:var(--visa); border-color:var(--visa); color:#fff;}
.tpl-group{display:inline-block; vertical-align:top; max-width:100%; margin:0 22px 16px 0;}
.tpl-group .tpl-grid{grid-template-columns:repeat(auto-fill, 150px);}
.tpl-group .tpl-grid:has(> :nth-child(2)){min-width:min(100%, 320px);}
.tpl-grid--all{grid-template-columns:repeat(auto-fill, minmax(170px, 1fr)); gap:12px; margin-top:6px;}
.tpl-grid--all .tpl-tile{min-height:116px; justify-content:center; padding:16px 14px;}
.tpl-tag{font-size:10.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--slate); background:var(--sky); padding:2px 8px; border-radius:999px; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.tpl-tile.on .tpl-tag{background:#fff; color:var(--visa);}
.tpl-grid--all .tpl-name{font-size:15px;}

.prh-bar{display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; margin:4px 0 18px;}
.prh-tabs{display:flex; flex-wrap:wrap; gap:6px;}
.prh-tabs button{display:inline-flex; align-items:center; gap:6px; padding:7px 13px; border-radius:999px; border:1px solid var(--sky-line); background:var(--paper); color:var(--ink-soft); font:inherit; font-size:13.5px; cursor:pointer;}
.prh-tabs button span{font-size:11.5px; font-weight:700; padding:1px 7px; border-radius:999px; background:var(--sky-soft); color:var(--ink-soft);}
.prh-tabs button.on{background:var(--visa); border-color:var(--visa); color:#fff;}
.prh-tabs button.on span{background:rgba(255,255,255,.22); color:#fff;}
.prh-search{min-width:260px; flex:1 1 260px; max-width:420px; border:1px solid var(--sky-line); border-radius:12px; padding:9px 13px; font:inherit; font-size:14px; background:var(--paper); color:var(--ink);}
.prh-lock{font-size:11px; font-weight:700; padding:3px 9px; border-radius:999px; background:var(--amber-soft); color:var(--amber); white-space:nowrap;}
@media (max-width:640px){ .prh-search{min-width:0; max-width:none;} }
.prh .section-title{font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--visa-ink); margin:0 0 12px; display:flex; align-items:center; gap:10px;}
.prh .section-title::before{content:''; width:4px; height:15px; border-radius:99px; background:var(--visa);}
.prh .prh-bar{margin:6px 0 24px;}
.prh-tabs button{font-weight:600;}
.ml-tools{display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin:0 0 12px;}
.ml-select{border:1px solid var(--sky-line); border-radius:12px; padding:9px 12px; font:inherit; font-size:14px; background:var(--paper); color:var(--ink); max-width:100%;}
.ml-add{display:flex; gap:8px; flex-wrap:wrap; padding:12px; margin-bottom:12px;}
.ml-add input{flex:1 1 180px; border:1px solid var(--sky-line); border-radius:10px; padding:8px 11px; font:inherit; font-size:14px; background:var(--paper); color:var(--ink);}
.ml-list{padding:4px 0; overflow:hidden;}
.ml-row{padding:10px 16px; border-bottom:1px solid var(--sky-line); cursor:pointer;}
.ml-row:last-child{border-bottom:0;}
.ml-row--contact{cursor:default;}
.ml-row-top{display:flex; gap:10px; align-items:center; flex-wrap:wrap; min-width:0;}
.ml-when{font-size:12px; color:var(--slate); white-space:nowrap; min-width:86px;}
.ml-name{font-weight:700; color:var(--ink); min-width:0; overflow-wrap:anywhere;}
.ml-mail{font-size:13px; color:var(--slate); overflow-wrap:anywhere;}
.ml-subj{flex:1; min-width:160px; color:var(--ink-soft); font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.ml-row--contact .ml-row-top > .btn{margin-left:auto;}
.ml-chip{font-size:11px; font-weight:600; padding:2px 8px; border-radius:999px; background:var(--visa-soft); color:var(--visa-ink); white-space:nowrap;}
.ml-nomail{font-size:12px; color:var(--amber); cursor:help;}
.ml-sent{font-size:12px; color:var(--good); white-space:nowrap;}
.ml-edit{border:1px solid var(--sky-line); border-radius:8px; padding:5px 9px; font:inherit; font-size:13px; min-width:200px; background:var(--paper); color:var(--ink);}
.ml-body{margin-top:8px; white-space:pre-wrap; font-size:14px; color:var(--ink-soft); background:var(--sky); border-radius:10px; padding:10px 12px;}

.mlc-overlay{backdrop-filter:blur(6px); background:rgba(10,20,16,.38);}
.mlc{width:620px; max-width:calc(100vw - 32px); max-height:calc(100vh - 40px); display:flex; flex-direction:column; background:#fff; border-radius:28px; box-shadow:0 24px 70px rgba(0,0,0,.22); animation:popin .18s cubic-bezier(.16,1,.3,1); color:#111827; overflow:hidden;}
.mlc-head{display:flex; align-items:center; gap:10px; padding:22px 24px 6px;}
.mlc-title{flex:1; font-size:22px; font-weight:800; letter-spacing:-.01em;}
.mlc-x, .mlc-back{width:38px; height:38px; border-radius:50%; border:0; background:#f2f3f5; color:#111827; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:24px; line-height:1; padding:0;}
.mlc-x svg{width:18px; height:18px;}
.mlc-x:hover, .mlc-back:hover{background:#e7e9ec;}
.mlc-body{padding:12px 24px 8px; overflow-y:auto; flex:1; min-height:0;}
.mlc-field{margin-bottom:16px; position:relative;}
.mlc-lbl{font-size:13px; font-weight:600; color:#6b7280; margin:0 0 7px 4px;}
.mlc-row{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.mlc input.mlc-input, .mlc textarea.mlc-input{width:100%; box-sizing:border-box; border:0 !important; border-radius:16px !important; background:#f2f3f5 !important; padding:14px 16px !important; font:inherit; font-size:15px; color:#111827; box-shadow:none !important; min-height:0; transition:background .15s, box-shadow .15s;}
.mlc input.mlc-input:focus, .mlc textarea.mlc-input:focus{background:#fff !important; box-shadow:0 0 0 2px var(--visa) !important; outline:0;}
.mlc textarea.mlc-text{resize:vertical; overflow:auto; line-height:1.6; min-height:180px;}
.mlc input.mlc-bare{border:0 !important; background:transparent !important; box-shadow:none !important; padding:6px 4px !important; font:inherit; font-size:15px; color:#111827; min-width:120px; flex:1; outline:0; min-height:0;}
.mlc input.mlc-bare:focus{box-shadow:none; background:transparent;}
.mlc-to{display:flex; flex-wrap:wrap; gap:6px; align-items:center; background:#f2f3f5; border-radius:16px; padding:8px 10px; min-height:52px; box-sizing:border-box; cursor:text;}
.mlc-to:focus-within{background:#fff; box-shadow:0 0 0 2px var(--visa);}
.mlc-pill{display:inline-flex; align-items:center; gap:2px; background:var(--visa); color:#fff; border-radius:999px; padding:6px 6px 6px 13px; font-size:14px; font-weight:600; max-width:100%;}
.mlc-pill.bad{background:#fde7d9; color:#b45309;}
.mlc-pill button{border:0; background:rgba(255,255,255,.18); color:inherit; width:20px; height:20px; border-radius:50%; cursor:pointer; font-size:14px; line-height:1; padding:0; margin-left:6px;}
.mlc-sugg{position:absolute; left:0; right:0; top:100%; margin-top:6px; z-index:5; background:#fff; border-radius:18px; box-shadow:0 14px 40px rgba(0,0,0,.16); max-height:300px; overflow:auto; padding:6px;}
.mlc-sugg-row{display:flex; align-items:center; gap:12px; width:100%; text-align:left; border:0; background:transparent; padding:9px 10px; border-radius:12px; font:inherit; color:#111827; cursor:pointer;}
.mlc-sugg-row:hover:not(:disabled){background:#f2f3f5;}
.mlc-sugg-row:disabled{opacity:.45; cursor:not-allowed;}
.mlc-av{flex-shrink:0; width:36px; height:36px; border-radius:50%; background:#eef0f2; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:15px; color:#374151;}
.mlc-sugg-main{display:flex; flex-direction:column; min-width:0;}
.mlc-sugg-main b{font-size:15px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.mlc-sugg-main small{font-size:12.5px; color:#6b7280; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.mlc-empty{padding:12px; font-size:14px; color:#6b7280;}
.mlc-seg{display:inline-flex; background:#f2f3f5; border-radius:12px; padding:3px; gap:2px;}
.mlc-seg button{border:0; background:transparent; font:inherit; font-size:13px; font-weight:700; color:#4b5563; padding:7px 13px; border-radius:9px; cursor:pointer; min-width:42px;}
.mlc-seg button:hover:not(:disabled){color:#111827;}
.mlc-seg button.on{background:#fff; color:var(--visa); box-shadow:0 1px 3px rgba(0,0,0,.12);}
.mlc-seg button:disabled{opacity:.5; cursor:wait;}
.mlc-seg--sm button{padding:5px 9px; min-width:34px; font-size:12px;}
.mlc-mic{display:inline-flex; align-items:center; gap:7px; border:0; background:var(--visa); color:#fff; border-radius:999px; padding:8px 15px 8px 12px; font:inherit; font-size:13.5px; font-weight:700; cursor:pointer;}
.mlc-mic svg{width:17px; height:17px;}
.mlc-mic.on{background:#e5484d; animation:mlcpulse 1.4s ease-in-out infinite;}
.mlc-mic:disabled{opacity:.4; cursor:not-allowed;}
@keyframes mlcpulse{0%,100%{box-shadow:0 0 0 0 rgba(229,72,77,.45);} 50%{box-shadow:0 0 0 8px rgba(229,72,77,0);}}
.mlc-heard{display:flex; align-items:center; gap:8px; margin-top:8px; padding:10px 14px; border-radius:14px; background:#fff4f4; color:#9f1d22; font-size:14px;}
.mlc-dot{width:8px; height:8px; border-radius:50%; background:#e5484d; flex-shrink:0; animation:mlcpulse 1.4s infinite;}
.mlc-card{background:#f7f8f9; border-radius:20px; padding:14px 16px; margin-bottom:12px;}
.mlc-card .mlc-seg{background:#eceef1;}
.mlc-sign{display:flex; flex-direction:column; gap:0; margin-top:12px; padding:12px 14px; background:#fff; border-radius:14px; font-size:14.5px; color:#374151; line-height:1.5;}
.mlc input.mlc-sign-name{font-weight:700; padding:2px 0 !important; font-size:14.5px;}
.mlc-result{font-size:13.5px; color:#4b5563; margin:4px 0 8px;}
.mlc-err{color:#c2410c; font-weight:600; margin-bottom:4px;}
.mlc-meta{display:flex; gap:12px; font-size:14px; padding:6px 4px;}
.mlc-meta span{color:#6b7280; width:48px; flex-shrink:0;}
.mlc-meta b{font-weight:600; overflow-wrap:anywhere;}
.mlc-frame{width:100%; height:440px; border:0; border-radius:18px; background:#f2f3f5; margin-top:8px;}
.mlc-foot{display:flex; align-items:center; gap:10px; padding:14px 24px 22px;}
.mlc-hint{flex:1; font-size:13px; color:#6b7280;}
.mlc-btn{border:0; border-radius:16px; background:var(--visa); color:#fff; font:inherit; font-size:15px; font-weight:700; padding:14px 22px; cursor:pointer; transition:transform .08s, opacity .15s;}
.mlc-btn:active{transform:scale(.98);}
.mlc-btn:disabled{opacity:.35; cursor:not-allowed;}
.mlc-btn--ghost{background:#f2f3f5; color:#111827;}
.mlc-btn:not(.mlc-btn--ghost):hover:not(:disabled){filter:brightness(1.08);}
@media (max-width:640px){
  .mlc{max-height:calc(100vh - 20px); border-radius:24px;}
  .mlc-head, .mlc-body, .mlc-foot{padding-left:16px; padding-right:16px;}
  .mlc-hint{display:none;}
  .mlc-btn{flex:1; padding:14px 12px;}
}

.mlr-list{background:var(--paper); border-radius:22px; padding:6px; box-shadow:0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.04);}
.mlr{display:flex; align-items:center; gap:14px; padding:12px 14px; border-radius:16px; transition:background .12s;}
.mlr:hover{background:#f5f6f7;}
.mlr--click{cursor:pointer;}
.mlr-av{flex-shrink:0; width:42px; height:42px; border-radius:50%; background:#eef0f2; color:#374151; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:16px;}
.mlr--nomail .mlr-av{background:#f6efe6; color:#b45309;}
.mlr-main{flex:1; min-width:0;}
.mlr-name{font-size:15px; font-weight:650; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.mlr-sub{font-size:13px; color:#6b7280; margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.mlr-side{display:flex; align-items:center; gap:10px; flex-shrink:0; max-width:55%; justify-content:flex-end;}
.mlr-mail{font-size:13.5px; color:#4b5563; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:280px;}
.mlr-date{font-size:12.5px; color:#9ca3af; white-space:nowrap;}
.mlr--click .mlr-side{flex-direction:column; align-items:flex-end; gap:2px;}
.mlr-nomail{font-size:13px; color:#b45309; cursor:help;}
.mlr-sent{font-size:12px; font-weight:700; color:#15803d; background:#e9f7ee; border-radius:999px; padding:3px 8px; white-space:nowrap;}
.mlr-edit{width:32px; height:32px; border-radius:50%; border:0; background:transparent; color:#9ca3af; display:flex; align-items:center; justify-content:center; cursor:pointer; opacity:0; transition:opacity .12s;}
.mlr-edit svg{width:15px; height:15px;}
.mlr:hover .mlr-edit{opacity:1;}
.mlr-edit:hover{background:#eceef1; color:#111827;}
.mlr-btn{border:0; border-radius:999px; background:var(--visa); color:#fff; font:inherit; font-size:13px; font-weight:700; padding:8px 16px; cursor:pointer; white-space:nowrap;}
.mlr-btn:disabled{background:#eceef1; color:#9ca3af; cursor:not-allowed;}
.ml-page .ml-body{margin-top:10px; white-space:pre-wrap; font-size:14px; color:#374151; background:#f5f6f7; border-radius:14px; padding:12px 14px;}
@media (hover:none){ .mlr-edit{opacity:1;} }
@media (max-width:640px){
  .mlr{flex-wrap:wrap;}
  .mlr-side{max-width:100%; width:100%; padding-left:56px; justify-content:flex-start;}
  .mlr--click .mlr-side{align-items:flex-start;}
}
.mlr--unread{background:var(--visa-soft);}
.mlr--unread:hover{background:var(--visa-soft);}
.mlr--unread .mlr-name{font-weight:800;}
.mlr-dot{display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--visa); margin-right:8px; vertical-align:middle;}
.mlr-tag{display:inline-block; margin-left:8px; font-size:11px; font-weight:700; padding:2px 8px; border-radius:999px; background:#eceef1; color:#4b5563; vertical-align:middle;}
.mlr-tag--new{background:var(--visa); color:#fff;}
.mlr-tag--wait{background:#fff1e6; color:#b45309;}
.mlr-snip{font-size:13px; color:#6b7280; margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.mlr-empty{padding:28px; text-align:center; color:#6b7280; font-size:14px;}
.mlr-btn--soft{background:var(--visa-soft); color:var(--visa-ink);}
.prh-tabs button span.mlr-new-badge{background:#e5484d; color:#fff;}
.mlr-main .mlr-name{white-space:normal;}
.mlr-av img{width:26px; height:26px; object-fit:contain; border-radius:6px;}
.mlr-av:has(img){background:#fff; box-shadow:inset 0 0 0 1px #eceef1;}
.mlc-files{display:flex; flex-wrap:wrap; gap:8px; align-items:center;}
.mlc-file{display:flex; align-items:center; gap:8px; background:#f2f3f5; border-radius:14px; padding:6px 8px 6px 6px; max-width:100%;}
.mlc-file img{width:40px; height:40px; object-fit:cover; border-radius:10px;}
.mlc-file-ic{width:40px; height:40px; display:flex; align-items:center; justify-content:center; font-size:20px; background:#fff; border-radius:10px;}
.mlc-file-name{display:flex; flex-direction:column; font-size:13px; font-weight:600; max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.mlc-file-name small{font-weight:400; color:#6b7280;}
.mlc-file button{border:0; background:transparent; font-size:18px; color:#6b7280; cursor:pointer; padding:0 4px;}
.mlc-attach{display:inline-flex; align-items:center; gap:6px; background:var(--visa-soft); color:var(--visa-ink); border-radius:999px; padding:9px 15px; font-size:13.5px; font-weight:700; cursor:pointer;}
.mlc-attach:hover{filter:brightness(.97);}

.mlc-plain{white-space:pre-wrap; font:inherit; font-size:14px; line-height:1.5; background:#f7f8fa; border:1px solid #e5e7eb; border-radius:12px; padding:14px 16px; margin:8px 0 0; max-height:280px; overflow:auto;}
.mlc-chat-row{display:flex; align-items:center; gap:10px; padding:10px 0; border-top:1px solid #f0f1f3;}
.mlc-chat-row .mlc-sugg-main{flex:1; min-width:0;}
.mlr-chs{display:inline-flex; align-items:center; gap:6px;}
.mlr-ch{width:36px; height:36px; border-radius:50%; border:0; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; font-size:16px; text-decoration:none; transition:transform .08s;}
.mlr-ch:hover{transform:scale(1.08);}
.mlr-ch--mail{background:var(--visa); color:#fff;}
.mlr-ch--tg{background:#2aabee; color:#fff;}
.mlr-ch--wa{background:#25d366; color:#fff;}
.mlr-clip{color:var(--slate); font-weight:600;}
.mlc--reader{width:760px;}
.mlrd-head{display:flex; align-items:center; gap:12px; padding:20px 24px 6px;}
.mlrd-av{width:44px; height:44px; flex:none;}
.mlrd-who{flex:1; min-width:0;}
.mlrd-name{font-weight:700; font-size:16px;}
.mlrd-addr{color:#6b7280; font-size:13px;}
.mlrd-subj{padding:4px 24px 12px; font-size:20px; font-weight:800; border-bottom:1px solid #eef0f2;}
.mlrd-scroll{overflow:auto; padding:8px 12px 4px; flex:1; min-height:0;}
.mlrd-frame{display:block; width:100%; height:120px; border:0; background:#fff;}
.mlrd-frame--quote{border-left:3px solid #e5e7eb; margin:4px 12px; width:calc(100% - 24px);}
.mlrd-empty{padding:16px 12px; color:#6b7280;}
.mlrd-gallery{display:flex; flex-wrap:wrap; gap:12px; padding:8px 12px;}
.mlrd-img{display:flex; flex-direction:column; gap:6px; text-decoration:none; color:#6b7280; font-size:12.5px; max-width:100%;}
.mlrd-img img{max-width:100%; max-height:380px; border-radius:14px; border:1px solid #eef0f2; object-fit:contain; background:#f6f7f8;}
.mlrd-imgload{padding:40px; background:#f2f3f5; border-radius:14px;}
.mlrd-imgcap{overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:360px;}
.mlrd-quote-btn{margin:8px 12px; border:0; background:#f2f3f5; border-radius:999px; padding:6px 14px; font:inherit; font-size:13px; color:#6b7280; cursor:pointer;}
.mlrd-files{display:flex; gap:10px; flex-wrap:wrap; padding:8px 12px;}
.mlrd-file{display:flex; align-items:center; gap:8px; padding:8px 12px; border-radius:14px; background:#f2f3f5; color:#111827; text-decoration:none; max-width:280px;}
.mlrd-file img{width:44px; height:44px; object-fit:cover; border-radius:8px;}
.mlrd-ficon{font-size:22px;}
.mlrd-fname{font-weight:600; font-size:13.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:160px;}
.mlrd-fsize{color:#6b7280; font-size:12px;}
.mlc--card{width:520px;}
.mlcd-sub{padding:0 24px 6px; color:#6b7280; font-size:14px;}
.mlcd-list{padding:4px 24px 8px; overflow:auto;}
.mlcd-row{display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid #eef0f2;}
.mlcd-row > div{flex:1; min-width:0;}
.mlcd-k{font-size:14px; color:#111827; margin-bottom:2px;}
.mlcd-k--blue{color:#2a7ab9;}
.mlcd-v{font-size:16px; color:#111827; text-decoration:none; word-break:break-word; line-height:1.4; display:block;}
.mlcd-link{color:#2a7ab9;}
.mlcd-copy{width:38px; height:38px; border-radius:10px; border:0; background:#f2f3f5; color:#2a7ab9; font-size:18px; cursor:pointer; flex:none;}
.mlcd-open{color:#16a34a; font-weight:600;}
.mlcd-closed{color:#dc2626; font-weight:600;}
.mlcd-hours{color:#6b7280; font-size:14px;}
.mlcd-form{display:grid; gap:10px;}
.mlcd-form label{display:flex; flex-direction:column; gap:4px; font-size:13px; color:#6b7280;}
.mlcd-form input, .mlcd-form textarea{border:0; background:#f2f3f5; border-radius:12px; padding:10px 12px; font:inherit; font-size:15px; color:#111827;}
.mlc-btn--tg{background:#2aabee; text-decoration:none;}
.mlc-btn--wa{background:#25d366; text-decoration:none;}
.mlc-btn--ghost{background:#f2f3f5; color:#111827;}
a.mlc-btn{display:inline-flex; align-items:center; justify-content:center;}
@media (max-width:640px){ .mlc--reader{height:calc(100vh - 20px);} .mlrd-from,.mlrd-files,.mlcd-list,.mlcd-sub{padding-left:16px; padding-right:16px;} .mlc-foot{flex-wrap:wrap;} }
.mlr--tap{cursor:pointer; transition:background .12s;}
.mlr--tap:hover{background:#f7f8f9;}
.mlr--tap .mlr-side{gap:12px;}
.mlr-site{display:inline-flex; align-items:center; gap:4px; padding:6px 10px; border-radius:999px; background:#f2f3f5; color:#374151; font-size:12.5px; font-weight:600; text-decoration:none; max-width:200px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.mlr-site:hover{background:#e7f3ee; color:var(--visa);}
@media (max-width:640px){ .mlr-site{max-width:120px;} }
.mlr-name .mlr-site{margin-left:10px; padding:3px 9px; font-size:12px; vertical-align:middle;}
.ml-bulk{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:0 0 10px;}
.ml-bulk-all{display:inline-flex; align-items:center; gap:8px; font-size:13px; color:#4b5563; padding:0 6px; cursor:pointer;}
.mlr-btn--danger{background:#fef3f2; color:#d92d20;}
.mlr-btn--danger:hover{background:#fee4e2;}
.mlr-btn.on{background:var(--visa); color:#fff;}
.mlr-pick{flex:none; width:16px; height:16px; margin:0; accent-color:var(--visa); cursor:pointer;}
.mlr--picked{background:var(--visa-soft);}
.mlr-trash{flex:none; width:34px; height:34px; border:0; border-radius:10px; background:transparent; color:#98a2b3; font-size:15px; cursor:pointer; opacity:.55; transition:opacity .12s, background .12s;}
.mlr:hover .mlr-trash{opacity:1;}
.mlr-trash:hover{background:#fef3f2;}

body.nb-body{background:#0E1A16;margin:0;}
body.nb-body #new-version-bar{display:none !important;}
.nb{--nb-ink:#0E1A16;--nb-cream:#F4F1EA;--nb-paper:#FBFAF6;--nb-orange:#FF5C28;--nb-line:#E3DDCF;--nb-muted:#6B7A72;
  min-height:100vh;display:flex;flex-direction:column;font-family:'Onest',system-ui,sans-serif;color:var(--nb-ink);
  background:radial-gradient(120% 60% at 100% 0%,rgba(255,92,40,.16),transparent 60%),radial-gradient(90% 50% at 0% 100%,rgba(23,101,79,.35),transparent 60%),#0E1A16;}
.nb-top{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;max-width:760px;width:100%;margin:0 auto;box-sizing:border-box;}
.nb-logo{display:flex;align-items:center;gap:10px;color:var(--nb-cream);}
.nb-mark{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;
  background:linear-gradient(135deg,#17654F,#0A3A30 55%,#06211C);font-family:'Wix Madefor Display','Onest',sans-serif;font-weight:800;font-size:21px;color:var(--nb-cream);
  box-shadow:inset 0 0 0 1px rgba(247,244,236,.14);}
.nb-mark i{position:absolute;right:6px;bottom:7px;width:6px;height:6px;border-radius:50%;background:var(--nb-orange);}
.nb-brand{font-family:'Wix Madefor Display','Onest',sans-serif;font-weight:700;font-size:17px;letter-spacing:.01em;}
.nb-langs{display:flex;gap:2px;padding:3px;border-radius:999px;background:rgba(244,241,234,.08);border:1px solid rgba(244,241,234,.12);}
.nb-langs button{border:0;background:transparent;color:rgba(244,241,234,.7);font:600 12.5px/1 'Onest',sans-serif;padding:8px 12px;border-radius:999px;cursor:pointer;min-width:40px;}
.nb-langs button.on{background:var(--nb-cream);color:var(--nb-ink);}
.nb-main{flex:1;width:100%;max-width:760px;margin:0 auto;padding:8px 16px 32px;box-sizing:border-box;}
.nb-hero{color:var(--nb-cream);padding:28px 4px 8px;animation:nbIn .45s ease both;}
.nb-kicker{margin:0 0 12px;color:var(--nb-orange);font-weight:600;font-size:15px;}
.nb-hero h1{color:var(--nb-cream);font-family:'Wix Madefor Display','Onest',sans-serif;font-weight:800;font-size:clamp(28px,6.4vw,44px);line-height:1.08;letter-spacing:-.02em;margin:0 0 16px;}
.nb-lead{font-size:16px;line-height:1.55;color:rgba(244,241,234,.78);margin:0 0 20px;max-width:600px;}
.nb-card .nb-lead{color:var(--nb-ink);}
.nb-perks{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 26px;}
.nb-perks li{padding:8px 13px;border-radius:999px;background:rgba(244,241,234,.08);border:1px solid rgba(244,241,234,.14);font-size:13.5px;font-weight:600;}
.nb-perks li::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--nb-orange);margin-right:8px;vertical-align:1px;}
.nb-map{list-style:none;counter-reset:none;padding:0;margin:0 0 28px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;}
.nb-map li{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:14px;background:rgba(244,241,234,.05);border:1px solid rgba(244,241,234,.09);font-size:14px;color:rgba(244,241,234,.88);}
.nb-map b{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--nb-orange);}
.nb-btn{appearance:none;border:0;border-radius:14px;background:var(--nb-orange);color:#fff;font:700 15px/1 'Onest',sans-serif;padding:15px 22px;cursor:pointer;
  box-shadow:0 10px 24px -10px rgba(255,92,40,.7);transition:transform .15s ease,box-shadow .15s ease,opacity .15s;min-height:48px;}
.nb-btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px -10px rgba(255,92,40,.8);}
.nb-btn:disabled{opacity:.6;cursor:default;transform:none;}
.nb-btn-big{width:100%;max-width:340px;font-size:16px;padding:18px 24px;}
.nb-ghost{background:transparent;color:var(--nb-ink);box-shadow:none;border:1px solid var(--nb-line);}
.nb-ghost:hover{box-shadow:none;background:#fff;}
.nb-progress{color:var(--nb-cream);margin:6px 2px 14px;}
.nb-progress-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;margin-bottom:8px;color:rgba(244,241,234,.8);}
.nb-save{font-weight:500;font-size:12.5px;color:rgba(244,241,234,.6);}
.nb-save.fail{color:#FFB199;}
.nb-bar{height:6px;border-radius:999px;background:rgba(244,241,234,.12);overflow:hidden;}
.nb-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#FF8A5C,var(--nb-orange));transition:width .35s ease;}
.nb-card{background:var(--nb-cream);border-radius:22px;padding:26px 22px;box-shadow:0 30px 60px -30px rgba(0,0,0,.55);animation:nbIn .35s ease both;}
.nb-card h2{color:var(--nb-ink);font-family:'Wix Madefor Display','Onest',sans-serif;font-weight:800;font-size:clamp(22px,4.6vw,28px);letter-spacing:-.015em;margin:0 0 6px;}
.nb-sub{margin:0 0 22px;color:var(--nb-muted);font-size:15px;line-height:1.5;}
.nb-fields{display:flex;flex-wrap:wrap;gap:18px 14px;}
.nb-field{flex:1 1 100%;min-width:0;}
.nb-field.half{flex:1 1 calc(50% - 7px);min-width:220px;}
.nb-q{display:block;font-weight:700;font-size:14.5px;margin-bottom:8px;line-height:1.35;}
.nb-q small{font-weight:500;color:var(--nb-muted);}
.nb-field input,.nb-field textarea{width:100%;box-sizing:border-box;border:1.5px solid var(--nb-line);border-radius:13px;background:var(--nb-paper);
  font:500 16px/1.45 'Onest',sans-serif;color:var(--nb-ink);padding:13px 14px;transition:border-color .15s,box-shadow .15s;}
.nb-field textarea{resize:vertical;min-height:104px;}
.nb-field input:focus,.nb-field textarea:focus{outline:none;border-color:var(--nb-orange);box-shadow:0 0 0 4px rgba(255,92,40,.14);background:#fff;}
.nb-field input::placeholder,.nb-field textarea::placeholder{color:#A3ACA6;}
.nb-chips{display:flex;flex-wrap:wrap;gap:8px;}
.nb-chip{appearance:none;border:1.5px solid var(--nb-line);background:var(--nb-paper);color:var(--nb-ink);border-radius:999px;padding:10px 15px;
  font:600 14px/1.1 'Onest',sans-serif;cursor:pointer;transition:all .15s ease;min-height:42px;}
.nb-chip:hover{border-color:#C9C1AE;}
.nb-chip.on{background:var(--nb-ink);border-color:var(--nb-ink);color:var(--nb-cream);}
.nb-chip.on::before{content:'✓ ';color:var(--nb-orange);}
.nb-chips--pick{margin-top:10px;}
.nb-dict{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:10px;}
.nb-mic{appearance:none;border:0;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 20px 0 16px;border-radius:999px;
  background:var(--nb-orange,#FF5C28);color:#fff;font:700 15px/1 'Onest',sans-serif;cursor:pointer;box-shadow:0 10px 22px -12px rgba(255,92,40,.9);
  transition:transform .12s ease,background .15s ease;}
.nb-mic:hover{transform:translateY(-1px);}
.nb-mic:active{transform:translateY(0);}
.nb-mic:focus-visible{outline:3px solid rgba(255,92,40,.35);outline-offset:2px;}
.nb-mic.on{background:#D63D0E;animation:nbMicPulse 1.3s ease-out infinite;}
.nb-mic.on svg{animation:nbMicBlink 1.3s ease-in-out infinite;}
@keyframes nbMicPulse{0%{box-shadow:0 0 0 0 rgba(255,92,40,.55);}70%{box-shadow:0 0 0 14px rgba(255,92,40,0);}100%{box-shadow:0 0 0 0 rgba(255,92,40,0);}}
@keyframes nbMicBlink{50%{opacity:.45;}}
.nb-dlang{display:inline-flex;border:1.5px solid var(--nb-line,#E3DDCF);border-radius:999px;overflow:hidden;background:var(--nb-paper,#FBFAF6);height:34px;}
.nb-dlang button{appearance:none;border:0;background:transparent;color:var(--nb-muted,#6B7A72);font:700 12.5px/1 'Onest',sans-serif;padding:0 11px;cursor:pointer;}
.nb-dlang button.on{background:var(--nb-ink,#0E1A16);color:var(--nb-cream,#F4F1EA);}
.nb-dict-hint{font-size:13px;color:var(--nb-muted,#6B7A72);}
.nb-dict-hint--solo{margin:6px 0 0;}
.nb-mic-err{margin:8px 0 0;padding:9px 12px;border-radius:10px;background:#FFE7DE;color:#9A2D0B;font-size:13.5px;font-weight:600;line-height:1.4;}
.it-brief-grid .nb-dictbox--crm{margin-top:2px;}
.nb-dictbox--crm .nb-dict{margin-top:6px;}
.nb-dictbox--crm .nb-mic{min-height:30px;padding:0 12px 0 10px;gap:6px;font-size:12.5px;font-weight:600;background:#EFEAE0;color:#4A5750;box-shadow:none;border:1px solid #DDD6C6;}
.nb-dictbox--crm .nb-mic svg{width:14px;height:14px;}
.nb-dictbox--crm .nb-mic:hover{background:#E6DFD0;}
.nb-dictbox--crm .nb-mic.on{background:#D63D0E;color:#fff;border-color:#D63D0E;}
.nb-dictbox--crm .nb-dlang{height:26px;}
.nb-dictbox--crm .nb-dlang button{font-size:11.5px;padding:0 9px;}
.nb-dictbox--crm .nb-dict-hint{font-size:12px;opacity:.8;}
@media (prefers-reduced-motion:reduce){.nb-mic.on,.nb-mic.on svg{animation:none;}}
.nb-error{margin:18px 0 0;padding:12px 14px;border-radius:12px;background:#FFE7DE;color:#9A2D0B;font-size:14px;font-weight:600;}
.nb-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:26px;padding-top:20px;border-top:1px solid var(--nb-line);}
.nb-center{text-align:center;padding:48px 22px;margin-top:40px;}
.nb-spin{width:28px;height:28px;margin:0 auto 14px;border-radius:50%;border:3px solid var(--nb-line);border-top-color:var(--nb-orange);animation:nbSpin .8s linear infinite;}
.nb-done{margin-top:24px;text-align:left;}
.nb-check{width:56px;height:56px;border-radius:18px;background:var(--nb-orange);color:#fff;font-size:28px;font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:18px;box-shadow:0 12px 26px -10px rgba(255,92,40,.8);}
.nb-next{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:10px;}
.nb-next li{display:flex;gap:14px;align-items:flex-start;padding:14px;border-radius:14px;background:var(--nb-paper);border:1px solid var(--nb-line);font-size:15px;line-height:1.45;}
.nb-next b{flex:none;width:28px;height:28px;border-radius:9px;background:var(--nb-ink);color:var(--nb-cream);display:flex;align-items:center;justify-content:center;font-size:13px;}
.nb-foot{text-align:center;color:rgba(244,241,234,.45);font-size:12.5px;padding:0 16px 24px;}
@keyframes nbIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
@keyframes nbSpin{to{transform:rotate(360deg);}}
@media (max-width:480px){.nb-card{padding:22px 16px;border-radius:18px;}.nb-field.half{flex-basis:100%;}.nb-nav .nb-btn{flex:1;}.nb-top{padding:14px 16px;}}

.it-cb{margin:18px 0 16px;padding:14px 16px;border:1px solid var(--sky-line);border-radius:12px;background:var(--paper);}
.it-cb-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.it-cb-title{font-weight:800;font-size:14px;color:var(--ink);margin-right:auto;}
.it-cb-langs{display:inline-flex;border:1px solid var(--sky-line);border-radius:9px;overflow:hidden;}
.it-cb-langs button{border:0;background:transparent;padding:6px 10px;font:inherit;font-size:12px;font-weight:700;color:var(--slate);cursor:pointer;}
.it-cb-langs button.on{background:var(--ink);color:#fff;}
.it-cb-status{font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--sky-line);color:var(--slate);}
.it-cb-status.opened{background:#FFF2D6;color:#8A5A00;}
.it-cb-status.filled{background:#DDF5EA;color:#11704C;}
.it-cb-url{margin-top:10px;display:flex;gap:8px;align-items:center;}
.it-cb-url input{flex:1;min-width:0;font-size:12.5px !important;color:var(--slate) !important;}
.it-ans{margin-top:12px;display:grid;gap:12px;}
.it-ans-sec{border-top:1px dashed var(--sky-line);padding-top:10px;}
.it-ans-sec h4{margin:0 0 6px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);}
.it-ans-row{display:grid;grid-template-columns:minmax(140px,240px) 1fr;gap:4px 14px;padding:4px 0;font-size:13.5px;}
.it-ans-row span{color:var(--ink-soft);font-weight:600;}
.it-ans-row div{color:var(--ink);white-space:pre-wrap;word-break:break-word;}
.it-ans-diff{display:inline-block;margin-left:6px;font-size:11px;font-weight:700;color:#8A5A00;background:#FFF2D6;padding:1px 7px;border-radius:999px;}
@media (max-width:560px){.it-ans-row{grid-template-columns:1fr;}}
.cm-host{display:inline-flex;}
.cm-host .icon-btn:disabled{opacity:.4;cursor:not-allowed;}
.cm-row{padding:9px 0;border-top:1px solid var(--sky-line);cursor:pointer;}
.cm-row:first-of-type{border-top:0;}
.cm-top{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;color:var(--ink);}
.cm-top span{flex:none;font-size:12px;color:var(--slate);}
.cm-to{font-size:12px;color:var(--slate);margin-top:2px;}
.cm-body{margin-top:8px;white-space:pre-wrap;font-size:13px;color:var(--ink-soft);background:var(--sky);border-radius:10px;padding:10px 12px;}
.stage-drag{cursor:grab; color:var(--slate,#8a948f); font-size:18px; line-height:1; padding:0 6px; user-select:none;}
.stage-drag:active{cursor:grabbing;}
.stage-ghost{opacity:.45; background:var(--sky,#eef4f1);}

.crv{display:flex; flex-direction:column; gap:14px;}
.crv .page-head{margin-bottom:6px;}
.crv-fl{display:flex; flex-direction:column; gap:12px; padding:16px 18px; background:var(--paper); border-radius:22px; box-shadow:0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.04); position:relative; z-index:20;}
.crv-fr{display:flex; flex-wrap:wrap; align-items:center; gap:10px;}
.crv-per{display:inline-flex; align-items:center; gap:4px; padding:4px; background:var(--sky); border:1px solid var(--sky-line); border-radius:12px; flex-wrap:wrap;}
.crv-per > button{border:0; background:none; border-radius:9px; padding:6px 12px; font:inherit; font-size:13.5px; font-weight:600; color:var(--ink-soft); cursor:pointer;}
.crv-per > button:hover{background:var(--paper);}
.crv-per > button.on{background:var(--visa); color:#fff;}
.crv-dates{display:inline-flex; align-items:center; gap:4px; padding:0 4px; border-radius:9px;}
.crv-dates.on{background:var(--paper); box-shadow:0 0 0 2px var(--visa-soft);}
.crv-dates input{border:0; background:transparent; font:inherit; font-size:13.5px; color:var(--ink); padding:5px 2px; width:128px;}
.crv-dates i, .crv-dur i{font-style:normal; color:var(--slate-2);}
.crv-dur{display:inline-flex; align-items:center; gap:7px; padding:5px 12px; border:1px solid var(--sky-line); background:var(--sky); border-radius:10px; font-size:13.5px; color:var(--slate);}
.crv-dur input{width:54px; border:1px solid var(--sky-line); border-radius:8px; padding:4px 6px; font:inherit; font-size:14px; color:var(--ink); background:var(--paper); text-align:center;}
.crv-dur input:focus, .crv-q:focus, .crv-mp-q:focus{outline:0; border-color:var(--visa); box-shadow:0 0 0 3px var(--visa-soft);}
.crv-q{flex:1 1 220px; min-width:200px; border:1px solid var(--sky-line); border-radius:10px; padding:9px 12px; font:inherit; font-size:14px; background:var(--sky); color:var(--ink);}
.crv-reset{border:0; background:none; color:var(--visa-ink); font:inherit; font-size:13.5px; font-weight:700; padding:8px 10px; border-radius:10px; cursor:pointer;}
.crv-reset:hover{background:var(--visa-soft);}
.crv-mp{width:240px;}
.crv-mp .csel-trigger{gap:8px;}
.crv-mp .csel-trigger-label{flex:1;}
.crv-mp-avs{display:inline-flex; flex-shrink:0;}
.crv-mp-avs .avatar-wrap + .avatar-wrap{margin-left:-8px;}
.crv-mp-avs .avatar.sm, .crv-mp-opt .avatar.sm, .crv-mg .avatar.sm{width:24px; height:24px; font-size:10px; border-radius:50%; box-shadow:0 0 0 2px var(--paper);}
.crv-mp-panel{min-width:280px; max-height:360px;}
.crv-mp-q{border:1px solid var(--sky-line); border-radius:9px; padding:8px 10px; font:inherit; font-size:14px; background:var(--sky); color:var(--ink); margin:2px 2px 6px;}
.crv-mp-clear{border:0; background:none; text-align:left; font:inherit; font-size:12.5px; font-weight:700; color:var(--visa-ink); padding:4px 10px 6px; cursor:pointer;}
.crv-mp-box{width:16px; height:16px; flex-shrink:0; border-radius:5px; border:1.5px solid var(--sky-line); display:inline-flex; align-items:center; justify-content:center; font-size:11px; color:#fff;}
.crv-mp-opt.is-selected .crv-mp-box{background:var(--visa); border-color:var(--visa);}
.crv-mp-name{display:flex; flex-direction:column; min-width:0; overflow:hidden; text-overflow:ellipsis;}
.crv-mp-name small{font-size:11.5px; font-weight:500; color:var(--slate-2);}
.crv-mp-none{padding:8px 10px;}
.crv-demo{display:flex; gap:12px; align-items:flex-start; padding:14px 18px; border-radius:18px; background:var(--amber-soft); color:var(--ink-soft); font-size:13.5px; line-height:1.55;}
.crv-demo b{color:var(--ink);}
.crv-demo-ic{font-size:20px; line-height:1;}
.crv-seg{display:flex; flex-wrap:wrap; gap:6px; align-items:center;}
.crv-seg button{display:inline-flex; align-items:center; gap:6px; padding:7px 13px; border-radius:999px; border:1px solid var(--sky-line); background:var(--paper); color:var(--ink-soft); font:inherit; font-size:13.5px; font-weight:600; cursor:pointer;}
.crv-seg button b{font-size:11.5px; font-weight:700; padding:1px 7px; border-radius:999px; background:var(--sky); color:var(--ink-soft);}
.crv-seg button.on{background:var(--visa); border-color:var(--visa); color:#fff;}
.crv-seg button.on b{background:rgba(255,255,255,.22); color:#fff;}
.crv-seg button.is-bad.on{background:var(--stamp); border-color:var(--stamp);}
.crv-seg button.is-ok.on{background:var(--amber); border-color:var(--amber);}
.crv-seg button.is-good.on{background:var(--good); border-color:var(--good);}
.crv-lost{margin-left:auto; font-size:13.5px; color:var(--stamp); cursor:help;}
.crv-lost b{font-weight:800;}
.crv-card{background:var(--paper); border-radius:20px; padding:14px 18px; box-shadow:0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.035); border-left:4px solid transparent; transition:box-shadow .2s, border-color .2s;}
.crv-card.is-bad{border-left-color:var(--stamp);}
.crv-card.is-ok{border-left-color:var(--amber);}
.crv-card.is-good{border-left-color:var(--good);}
.crv-card.is-busy{box-shadow:0 0 0 3px var(--visa-soft), 0 8px 24px rgba(0,0,0,.05);}
.crv-h{display:flex; flex-wrap:wrap; align-items:center; gap:14px;}
.crv-st{flex:none; width:38px; height:38px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center;}
.crv-st.is-in{background:var(--visa-soft); color:var(--visa);}
.crv-st.is-out{background:var(--good-soft); color:var(--good);}
.crv-st.is-out svg{transform:scaleX(-1);}
.crv-st.is-miss{background:var(--stamp-soft); color:var(--stamp);}
.crv-who{display:flex; flex-direction:column; gap:2px; min-width:200px; flex:1 1 220px;}
.crv-who b{font-size:15px; font-weight:700; color:var(--ink);}
.crv-link{color:inherit; text-decoration:none;}
.crv-link:hover{color:var(--visa); text-decoration:underline;}
.crv-sub{font-size:13px; color:var(--slate);}
.crv-mg{display:inline-flex; align-items:center; gap:8px; font-size:14px; color:var(--ink-soft); min-width:170px;}
.crv-meta{font-size:13px; color:var(--slate); white-space:nowrap;}
.crv-meta b{color:var(--ink); font-weight:700;}
.crv-go{margin-left:auto; display:inline-flex; align-items:center; gap:10px;}
.crv-tag{font-size:12px; font-weight:600; padding:3px 10px; border-radius:999px; white-space:nowrap;}
.crv-tag.yes{background:var(--good-soft); color:var(--good);}
.crv-tag.no{background:var(--sky); color:var(--slate);}
.crv-score{font-size:19px; font-weight:800; line-height:1;}
.crv-score small{font-size:12px; font-weight:600; color:var(--slate-2);}
.crv-score.is-bad{color:var(--stamp);} .crv-score.is-ok{color:var(--amber);} .crv-score.is-good{color:var(--good);}
.crv-badge{padding:3px 11px; border-radius:999px; font-size:12px; font-weight:700; background:var(--sky); color:var(--slate);}
.crv-badge.is-bad{background:var(--stamp-soft); color:var(--stamp);}
.crv-badge.is-ok{background:var(--amber-soft); color:var(--amber);}
.crv-badge.is-good{background:var(--good-soft); color:var(--good);}
.crv-magic{position:relative; overflow:hidden; height:38px; padding:0 18px; border:0; border-radius:999px; display:inline-flex; align-items:center; gap:8px; color:#fff; font:inherit; font-size:14px; font-weight:700; cursor:pointer;
  background:linear-gradient(110deg, var(--visa-ink), var(--visa) 45%, #3cc79f 60%, var(--visa-ink)); background-size:220% 100%; box-shadow:0 6px 16px -6px rgba(11,131,103,.55); transition:transform .15s, box-shadow .15s;}
.crv-magic:hover{transform:translateY(-1px); box-shadow:0 10px 22px -8px rgba(11,131,103,.65); animation:crvShine 1.6s linear infinite;}
.crv-magic::after{content:''; position:absolute; inset:0; background:linear-gradient(100deg, transparent 30%, rgba(255,255,255,.45) 50%, transparent 70%); transform:translateX(-120%);}
.crv-magic:hover::after{animation:crvSweep 1.1s ease;}
.crv-magic:disabled{cursor:default; animation:crvShine 1.2s linear infinite;}
.crv-magic:disabled svg{animation:crvSpin 1.4s linear infinite;}
@keyframes crvShine{to{background-position:-220% 0}}
@keyframes crvSweep{to{transform:translateX(120%)}}
@keyframes crvSpin{to{transform:rotate(360deg)}}
.crv-prog{display:flex; align-items:center; gap:14px; margin-top:12px; padding:12px 16px; border-radius:14px; background:linear-gradient(90deg, var(--visa-soft), var(--sky)); font-size:13.5px; font-weight:600; color:var(--visa-ink); flex-wrap:wrap;}
.crv-wave{display:inline-flex; align-items:center; gap:3px; height:22px;}
.crv-wave i{width:3px; height:6px; border-radius:2px; background:linear-gradient(var(--visa), #3cc79f); animation:crvWave .9s ease-in-out infinite;}
@keyframes crvWave{0%,100%{height:5px} 50%{height:22px}}
.crv-bar{flex:1 1 160px; height:6px; border-radius:99px; background:rgba(11,131,103,.14); overflow:hidden;}
.crv-bar b{display:block; height:100%; border-radius:99px; background:linear-gradient(90deg, var(--visa), #3cc79f); transition:width .8s ease;}
.crv-fb{margin-top:12px; padding:16px 18px; border-radius:16px; background:var(--sky); border:1px solid var(--sky-line); animation:crvIn .45s ease both;}
@keyframes crvIn{from{opacity:0; transform:translateY(-6px)} to{opacity:1; transform:none}}
.crv-fb-h{display:flex; align-items:center; gap:8px; color:var(--visa); flex-wrap:wrap;}
.crv-fb-h b{font-size:15px; font-weight:800; color:var(--ink);}
.crv-demo-badge{font-size:11px; font-weight:700; padding:2px 9px; border-radius:999px; background:var(--amber-soft); color:var(--amber); cursor:help;}
.crv-amt{margin-left:auto; font-size:14.5px; font-weight:800; color:var(--stamp);}
.crv-sum{margin:10px 0 12px; font-size:14px; line-height:1.55; color:var(--ink-soft);}
.crv-chk{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px;}
.crv-chk span{display:inline-flex; align-items:center; gap:5px; padding:4px 10px; border-radius:999px; font-size:12.5px; font-weight:600;}
.crv-chk span.yes{background:var(--good-soft); color:var(--good);}
.crv-chk span.no{background:var(--stamp-soft); color:var(--stamp);}
.crv-cols{display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:12px; margin-bottom:12px;}
.crv-col{padding:12px 14px; border-radius:14px; background:var(--paper);}
.crv-col h4{margin:0 0 8px; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase;}
.crv-col.is-good h4{color:var(--good);} .crv-col.is-bad h4{color:var(--stamp);}
.crv-col ul{margin:0; padding-left:18px; font-size:13.5px; line-height:1.55; color:var(--ink-soft);}
.crv-col li + li{margin-top:4px;}
.crv-col em{font-style:normal; font-weight:700; font-family:var(--font-mono); font-size:12px; color:var(--visa-ink); background:var(--visa-soft); border-radius:6px; padding:1px 6px; margin-right:4px;}
.crv-rs{display:flex; flex-wrap:wrap; gap:6px;}
.crv-rs i{font-style:normal; font-size:12px; font-weight:600; padding:3px 10px; border-radius:999px; background:var(--paper); color:var(--slate);}
.crv-rs i.bad{background:var(--amber-soft); color:var(--amber);}
.crv-adv{margin:10px 0 0; font-size:13.5px; line-height:1.55; color:var(--ink-soft);}
.crv-phr{margin:8px 0 0; font-size:13.5px; line-height:1.55; color:var(--visa-ink); background:var(--visa-soft); border-radius:12px; padding:10px 12px;}
.crv-adv b, .crv-phr b{color:var(--ink);}
.crv-act{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:12px;}
.crv-audio{width:100%; height:36px; margin-top:10px;}
.crv-tr{margin:10px 0 0; padding:12px 14px; background:var(--sky); border-radius:12px; white-space:pre-wrap; font:inherit; font-size:13px; line-height:1.55; color:var(--ink-soft); max-height:360px; overflow:auto;}
.crv-more{align-self:center;}
@media (max-width:760px){ .crv-go{margin-left:0;} .crv-lost{margin-left:0;} .crv-mp{width:100%;} }
:root[data-theme="olej"] .pm-col-head--income{background:rgba(34,197,94,.12) !important; color:#4ADE80 !important; border-bottom:1px solid rgba(34,197,94,.25)}
:root[data-theme="olej"] .pm-col-head--expense{background:rgba(255,196,0,.10) !important; color:#FFC400 !important; border-bottom:1px solid rgba(255,196,0,.25)}
:root[data-theme="dark"] .pm-col-head--income, :root[data-theme="night"] .pm-col-head--income{background:rgba(34,197,94,.12) !important; color:#4ADE80 !important}
:root[data-theme="dark"] .pm-col-head--expense, :root[data-theme="night"] .pm-col-head--expense{background:rgba(245,158,11,.12) !important; color:#FBBF24 !important}
.chead-money .chead-money__input.needs-fill{background:transparent !important; box-shadow:none !important; border-color:transparent !important}
.chead-money:has(.chead-money__input.needs-fill){background:#FDF8F7; border-color:rgba(193,90,66,.45)}
:root[data-theme="dark"] .chead-money:has(.chead-money__input.needs-fill), :root[data-theme="night"] .chead-money:has(.chead-money__input.needs-fill), :root[data-theme="olej"] .chead-money:has(.chead-money__input.needs-fill){background:rgba(193,90,66,.10)}
