/* Layout: a calm app window on a soft wash — white surfaces, hairline borders, colour reserved for status, icons and data. */
:root{
  --bg:#ECEFF5; --glow1:#DDE3F6; --glow2:#E7E1F5;
  --surface:#FFFFFF; --canvas:#F7F8FB; --surface-2:#F1F3F8; --line:#E4E7EF; --line-2:#EDF0F5;
  --fg:#161A2E; --fg-2:#3A4058; --muted:#667085; --faint:#98A2B3;
  --accent:#4B57D6; --accent-2:#4B57D6; --accent-fg:#FFFFFF; --accent-soft:#EEF0FD; --accent-line:#D4D8F7;
  --c1:#7A5AF0; --c2:#3E7BE6; --c3:#D08A12; --c4:#D6508F; --c5:#159A86;
  --t1a:var(--c1); --t1b:var(--c1); --t2a:var(--c2); --t2b:var(--c2); --t3a:var(--c3); --t3b:var(--c3); --t4a:var(--c4); --t4b:var(--c4); --t5a:var(--c5); --t5b:var(--c5);
  --t3-fg:var(--fg); --tone-fg:var(--fg);
  --urgent:#D93A45; --urgent-soft:#FDECEE; --warn:#B26A00; --warn-soft:#FEF4E2; --ok:#12875A; --ok-soft:#E5F5EE; --info:#4B57D6; --info-soft:#EEF0FD;
  --shadow:0 1px 2px rgb(16 24 40/.04),0 1px 3px rgb(16 24 40/.04);
  --shadow-md:0 4px 12px -2px rgb(16 24 40/.08),0 2px 4px -2px rgb(16 24 40/.04);
  --shadow-lg:0 24px 60px -24px rgb(30 40 90/.28);
  --scrim:rgb(16 20 40/.32);
  --f-display:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;
  --f-body:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:14px; --ease:cubic-bezier(.2,.7,.2,1); --hh:60px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0C0F1C; --glow1:#151B38; --glow2:#1C1735;
  --surface:#151928; --canvas:#10131F; --surface-2:#1B2033; --line:#262C42; --line-2:#20263A;
  --fg:#EEF0F7; --fg-2:#C9CEDD; --muted:#98A1B8; --faint:#6B7490;
  --accent:#8F99FF; --accent-2:#8F99FF; --accent-fg:#0C0F1C; --accent-soft:#1F2448; --accent-line:#343C78;
  --c1:#A48BFF; --c2:#6FA2FF; --c3:#F0B24A; --c4:#F07EB5; --c5:#3FCBB3;
  --urgent:#FF7C84; --urgent-soft:#35181F; --warn:#F3B55A; --warn-soft:#33260F; --ok:#4FD39A; --ok-soft:#0F2D22; --info:#8F99FF; --info-soft:#1F2448;
  --shadow:0 1px 2px rgb(0 0 0/.3); --shadow-md:0 6px 16px -4px rgb(0 0 0/.5); --shadow-lg:0 24px 60px -24px rgb(0 0 0/.7); --scrim:rgb(0 0 0/.55);
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0C0F1C; --glow1:#151B38; --glow2:#1C1735;
  --surface:#151928; --canvas:#10131F; --surface-2:#1B2033; --line:#262C42; --line-2:#20263A;
  --fg:#EEF0F7; --fg-2:#C9CEDD; --muted:#98A1B8; --faint:#6B7490;
  --accent:#8F99FF; --accent-2:#8F99FF; --accent-fg:#0C0F1C; --accent-soft:#1F2448; --accent-line:#343C78;
  --c1:#A48BFF; --c2:#6FA2FF; --c3:#F0B24A; --c4:#F07EB5; --c5:#3FCBB3;
  --urgent:#FF7C84; --urgent-soft:#35181F; --warn:#F3B55A; --warn-soft:#33260F; --ok:#4FD39A; --ok-soft:#0F2D22; --info:#8F99FF; --info-soft:#1F2448;
  --shadow:0 1px 2px rgb(0 0 0/.3); --shadow-md:0 6px 16px -4px rgb(0 0 0/.5); --shadow-lg:0 24px 60px -24px rgb(0 0 0/.7); --scrim:rgb(0 0 0/.55);
  color-scheme:dark}

*{box-sizing:border-box}
html,body{height:100%}
body{background:radial-gradient(1100px 700px at 0% 0%,var(--glow1),transparent 60%),radial-gradient(1000px 700px at 100% 100%,var(--glow2),transparent 60%),var(--bg);background-attachment:fixed;color:var(--fg);font:14px/1.5 var(--f-body);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01"}
h1,h2,h3{font-family:var(--f-display);font-weight:700;letter-spacing:-.02em;margin:0;text-wrap:balance;line-height:1.2;color:var(--fg)}
h1{font-size:1.45rem} h2{font-size:.98rem;letter-spacing:-.01em} h3{font-size:.95rem}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}
.num{font-variant-numeric:tabular-nums}
.muted{color:var(--muted)} .small{font-size:.8rem}
.eyebrow{font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);font-weight:700}

/* tones: one colour each, tints derived */
.tone-1{--tc:var(--c1)} .tone-2{--tc:var(--c2)} .tone-3{--tc:var(--c3)} .tone-4{--tc:var(--c4)} .tone-5{--tc:var(--c5)}
[class*="tone-"]{--ta:var(--tc);--tb:var(--tc);--tint:color-mix(in srgb,var(--tc) 11%,var(--surface));--tint-2:color-mix(in srgb,var(--tc) 20%,var(--surface));--tdeep:color-mix(in srgb,var(--tc) 72%,var(--fg))}

/* shell */
.app{display:grid;grid-template-columns:232px minmax(0,1fr);height:calc(100% - 32px);margin:16px;border-radius:20px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-lg);border:1px solid var(--line)}
.side{display:flex;flex-direction:column;gap:4px;padding:20px 14px;background:var(--surface);overflow:auto;border-right:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;padding:2px 8px 18px}
.brand-mark{width:32px;height:32px;border-radius:9px;background:var(--accent);position:relative;flex:none}
.brand-mark::before,.brand-mark::after{content:"";position:absolute;left:8px;right:8px;height:3px;border-radius:2px;background:var(--accent-fg)}
.brand-mark::before{top:10px}.brand-mark::after{top:17px;right:13px;opacity:.7}
.brand b{font-family:var(--f-display);font-size:.98rem;font-weight:700;line-height:1.15;letter-spacing:-.01em}
.brand small{display:block;color:var(--muted);font-size:.74rem;font-weight:500}
.nav-sec{font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);font-weight:700;padding:16px 10px 6px}
.nav{display:flex;flex-direction:column;gap:1px}
.nav button{position:relative;display:flex;align-items:center;gap:11px;border:0;background:none;padding:8px 10px;border-radius:9px;color:var(--muted);font-weight:500;font-size:.88rem;text-align:left;transition:background .18s var(--ease),color .18s var(--ease)}
.nav button:hover{background:var(--surface-2);color:var(--fg)}
.nav button[aria-current="page"]{background:var(--accent-soft);color:var(--accent);font-weight:600}
.nav .badge{margin-left:auto}
.kdot{width:8px;height:8px;border-radius:50%;background:var(--tc);flex:none}
.ic-h1{display:flex;align-items:center;gap:10px}
.ic-h1 .kdot{width:12px;height:12px}
.icpill{background:color-mix(in srgb,var(--tc) 14%,transparent);color:var(--fg);border-color:transparent}
.iclinks{display:flex;flex-direction:column;gap:2px;min-width:0}
.iclinks a,.iccont a{color:var(--accent);overflow-wrap:anywhere}
.iccont{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.ico{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.me-card{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px 8px 2px;border-top:1px solid var(--line)}
button.me-card{border:0;border-top:1px solid var(--line);background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:0}
button.me-card:hover b{color:var(--accent)}
.me-card .who{min-width:0}.me-card .who b{display:block;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.main{min-width:0;background:var(--canvas);overflow:auto;padding:0 clamp(16px,2.4vw,32px) 48px}
.appbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:8px;padding:14px 0;margin-bottom:6px;background:color-mix(in srgb,var(--canvas) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid transparent}
.search{position:relative;flex:0 1 400px;min-width:0}
.search .input{padding-left:36px;height:38px;background:var(--surface)}
.search > .ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--faint);pointer-events:none;width:16px;height:16px}
.results{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-md);padding:6px;max-height:60vh;overflow:auto;animation:rise .18s var(--ease)}
.appbar .sp{flex:1}
.round{position:relative;width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;color:var(--muted);transition:color .18s,border-color .18s}
.round:hover{color:var(--accent);border-color:var(--accent-line)}
.round .dot{position:absolute;top:7px;right:8px;width:7px;height:7px;border-radius:50%;background:var(--urgent);box-shadow:0 0 0 2px var(--surface)}
.pop{position:absolute;right:0;top:calc(100% + 8px);width:min(380px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-md);padding:12px;z-index:25;animation:rise .18s var(--ease)}
.top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 18px}
.top h1{margin-right:auto}
.view{animation:rise .3s var(--ease)}
@keyframes rise{from{opacity:.001;transform:translateY(4px)}to{opacity:1;transform:none}}
.bottom{display:none}

/* primitives */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;border:1px solid var(--line);background:var(--surface);padding:0 14px;border-radius:9px;font-weight:600;font-size:.84rem;color:var(--fg-2);box-shadow:var(--shadow);transition:background .18s var(--ease),border-color .18s,color .18s,transform .12s}
.btn:hover{background:var(--surface-2);color:var(--fg)}
.btn:active{transform:translateY(1px)}
.btn .ico{width:16px;height:16px}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);box-shadow:0 1px 2px rgb(16 24 40/.1),inset 0 1px 0 rgb(255 255 255/.12)}
.btn.primary:hover{background:color-mix(in srgb,var(--accent) 88%,var(--fg))}
.btn.ghost{background:none;border-color:transparent;box-shadow:none}
.btn.ghost:hover{background:var(--surface-2)}
.btn.danger{color:var(--urgent)}
.btn.sm{height:30px;padding:0 10px;font-size:.78rem;border-radius:8px}
.btn[disabled]{opacity:.5;cursor:default}
.icon-btn{border:0;background:none;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--muted)}
.icon-btn:hover{background:var(--surface-2);color:var(--fg)}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow)}
.panel-h{display:flex;align-items:center;gap:10px;margin-bottom:10px;min-height:30px}
.panel-h h2{margin-right:auto}
.pill{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:6px;font-size:.72rem;font-weight:600;white-space:nowrap;background:var(--surface-2);color:var(--muted);border:1px solid var(--line-2)}
.pill.urgent{background:var(--urgent-soft);color:var(--urgent);border-color:transparent}
.pill.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}
.pill.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}
.pill.info,.pill.accent{background:var(--accent-soft);color:var(--accent);border-color:transparent}
.badge{min-width:20px;height:18px;padding:0 6px;border-radius:99px;background:var(--urgent);color:#fff;font-size:.68rem;font-weight:700;display:inline-grid;place-items:center}
.av{--h:230;width:28px;height:28px;border-radius:50%;flex:none;display:inline-grid;place-items:center;font-size:.66rem;font-weight:700;letter-spacing:.02em;background:hsl(var(--h) 55% 58%);color:#fff;box-shadow:0 0 0 2px var(--surface)}
.av.lg{width:38px;height:38px;font-size:.82rem}
.av img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.av.xl{width:64px;height:64px;font-size:1.2rem}
.foto-f{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.avs{display:inline-flex}.avs .av{width:22px;height:22px;font-size:.56rem;margin-left:-6px}.avs .av:first-child{margin-left:0}
.avs .n{margin-left:-6px;width:22px;height:22px;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:.58rem;font-weight:700;display:grid;place-items:center;box-shadow:0 0 0 2px var(--surface)}
.empty{padding:20px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:10px;font-size:.85rem;background:var(--canvas)}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label{font-size:.76rem;font-weight:600;color:var(--fg-2)}
.input,select.input,textarea.input{width:100%;height:38px;border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:0 12px;font-size:.88rem;box-shadow:var(--shadow);transition:border-color .18s,box-shadow .18s}
textarea.input{height:auto;min-height:96px;padding:10px 12px;resize:vertical}
.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.input:disabled{background:var(--canvas);color:var(--fg-2)}
.seg,.viewsw{display:inline-flex;background:var(--surface-2);border:1px solid var(--line-2);border-radius:10px;padding:3px;gap:2px;flex-wrap:wrap}
.seg button,.viewsw button{display:inline-flex;align-items:center;gap:6px;border:0;background:none;height:28px;padding:0 12px;border-radius:7px;font-weight:600;font-size:.8rem;color:var(--muted);transition:background .2s var(--ease),color .18s,box-shadow .2s}
.seg button:hover,.viewsw button:hover{color:var(--fg)}
.seg button[aria-pressed="true"],.viewsw button[aria-pressed="true"]{background:var(--surface);color:var(--fg);box-shadow:var(--shadow-md)}
.viewsw button .ico{width:15px;height:15px}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.toolbar .input{width:auto;min-width:0}
.toolbar .grow{flex:1 1 200px}
.copy{border:0;background:none;color:var(--accent);font-weight:600;font-size:.74rem;padding:2px 6px;border-radius:5px}
.copy:hover{background:var(--accent-soft)}

/* home */

.sec-h{display:flex;align-items:center;gap:10px;margin:0 0 10px;min-height:32px}
.sec-h h2{margin-right:auto;font-size:1rem}

.plabel{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;border-radius:6px;padding:3px 8px;font-weight:600;font-size:.72rem;background:var(--tint);color:var(--tdeep);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plabel::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--tc);flex:none}

.stack{display:flex;flex-direction:column;gap:16px;min-width:0}
.rows{display:flex;flex-direction:column}
.row{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;text-align:left;padding:9px 8px;border-radius:9px;transition:background .15s}
.row + .row{box-shadow:0 -1px 0 var(--line-2)}
.row:hover{background:var(--surface-2);box-shadow:none}
.row:hover + .row{box-shadow:none}
.row-main{flex:1;min-width:0}
.row-title{display:block;font-weight:600;font-size:.87rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row-sub{display:block;font-size:.76rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pri{width:8px;height:8px;border-radius:50%;background:var(--faint);flex:none}
.pri.urgente{background:var(--urgent);box-shadow:0 0 0 3px var(--urgent-soft)}.pri.alta{background:var(--c3)}.pri.media{background:var(--c2)}.pri.baixa{background:var(--line)}
.when{flex:none;text-align:right;font-size:.76rem;min-width:64px}
.agenda-day{font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--faint);padding:12px 8px 4px}
.agenda-day:first-child{padding-top:2px}
.time{font-variant-numeric:tabular-nums;font-size:.78rem;color:var(--fg-2);width:44px;flex:none;font-weight:600}
.feed{display:flex;flex-direction:column}
.feed button{display:grid;grid-template-columns:44px 3px 1fr;gap:12px;align-items:center;border:0;background:none;text-align:left;padding:8px 6px;border-radius:9px;transition:background .15s}
.feed button:hover{background:var(--surface-2)}
.feed .ft{font-weight:600;font-variant-numeric:tabular-nums;font-size:.8rem;color:var(--fg-2)}
.feed .fb{height:30px;border-radius:3px;background:var(--tc)}
.feed .row-title{font-weight:500;font-size:.85rem}
.banner{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--accent-line);box-shadow:inset 3px 0 0 var(--accent);color:var(--fg-2);margin-bottom:16px;font-size:.84rem}
.banner span{flex:1 1 240px}

/* kanban */
.kan{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(248px,1fr);gap:12px;overflow-x:auto;padding:2px 2px 12px}
.col{background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r);padding:10px;min-height:220px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .2s,background .2s}
.col.over{background:var(--tint);box-shadow:inset 0 0 0 2px var(--tc)}
.col-h{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.82rem;padding:2px 4px 4px;color:var(--fg-2)}
.col-h .cdot{width:8px;height:8px;border-radius:50%;background:var(--tc)}
.col-h .n{margin-left:auto;color:var(--muted);font-weight:600;font-size:.72rem;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:0 7px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:11px 12px;text-align:left;display:flex;flex-direction:column;gap:8px;width:100%;box-shadow:var(--shadow);transition:border-color .18s,box-shadow .18s,transform .18s var(--ease);cursor:grab}
.card:hover{border-color:var(--accent-line);box-shadow:var(--shadow-md);transform:translateY(-1px)}
.card.dragging{opacity:.5}
.card .t{font-weight:600;font-size:.86rem;line-height:1.4;display:flex;gap:9px;align-items:flex-start}
.card .t .av{width:22px;height:22px;font-size:.56rem;margin-top:0}
.card .meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.74rem;color:var(--muted)}
.card .meta .star{margin-left:auto;color:var(--urgent);font-size:.8rem}
.card .done{margin-left:auto;width:18px;height:18px;border-radius:50%;background:var(--ok-soft);color:var(--ok);display:grid;place-items:center}

/* view switch + task table */
.tblwrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:.85rem}
.tbl th{text-align:left;padding:0;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--canvas)}
.tbl th button{border:0;background:none;padding:10px 14px;font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);display:inline-flex;gap:4px;align-items:center}
.tbl th button:hover{color:var(--fg)}
.tbl th .arr{color:var(--accent)}
.tbl td{padding:9px 14px;border-bottom:1px solid var(--line-2);vertical-align:middle}
.tbl tbody tr{cursor:pointer;transition:background .15s}
.tbl tbody tr:hover{background:var(--canvas)}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl tr.is-done .row-title{color:var(--faint);text-decoration:line-through}
.tbl .tt{display:flex;align-items:center;gap:12px;min-width:220px;max-width:420px}
.tbl .who{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:var(--fg-2)}
.tbl .who .av{width:24px;height:24px;font-size:.6rem}
.tbl .when{text-align:left;min-width:0;white-space:nowrap}
.stsel{appearance:none;-webkit-appearance:none;border:1px solid transparent;border-radius:6px;height:26px;padding:0 24px 0 9px;font-size:.74rem;font-weight:600;cursor:pointer;color:var(--tdeep);background:var(--tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23889' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 8px center}
.stsel:hover{border-color:var(--tint-2)}
.stsel option{color:var(--fg);background:var(--surface)}
@media (max-width:700px){.hide-sm{display:none}.tbl .tt{min-width:0}}

/* grids of objects */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.obj{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow);transition:border-color .2s,box-shadow .2s,transform .2s var(--ease);min-width:0}
.obj.clickable{cursor:pointer}
.obj.clickable:hover{border-color:var(--accent-line);box-shadow:var(--shadow-md);transform:translateY(-1px)}
.obj-h{display:flex;align-items:flex-start;gap:10px}
.obj-h h3{flex:1;min-width:0}
.kv{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;font-size:.83rem;margin:0}
.kv dt{color:var(--muted)}.kv dd{margin:0;min-width:0;overflow-wrap:anywhere;color:var(--fg-2)}
.bar{height:5px;border-radius:5px;background:var(--surface-2);overflow:hidden}
.bar i{display:block;height:100%;background:var(--tc,var(--accent));border-radius:5px;transition:width .6s var(--ease)}
.linkish{border:0;background:none;padding:4px 8px;border-radius:7px;color:var(--accent);font-weight:600;font-size:.78rem}
.linkish:hover{background:var(--accent-soft)}

/* calendar */
.cal-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.cal-h h2{font-size:1.15rem;margin-right:auto}
.calwrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow-x:auto}
.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}
.month .wd{padding:10px 10px 8px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);background:var(--canvas)}
.day{min-height:108px;padding:6px;display:flex;flex-direction:column;gap:3px;cursor:pointer;transition:background .15s;min-width:0;border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.day:nth-child(7n){border-right:0}
.day:hover{background:var(--canvas)}
.day.out{background:var(--canvas);display:flex;place-items:normal;padding:6px;min-height:108px}.day.out .dn{color:var(--faint)}
.dn{font-size:.76rem;font-weight:600;font-variant-numeric:tabular-nums;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;color:var(--fg-2)}
.day.today .dn{background:var(--accent);color:var(--accent-fg)}
.ev{display:block;width:100%;border:0;text-align:left;font-size:.72rem;padding:3px 7px;border-radius:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;color:var(--tdeep);background:var(--tint);box-shadow:inset 2px 0 0 var(--tc)}
.ev:hover{background:var(--tint-2)}
.ev.prazo{background:none;color:var(--fg-2);font-weight:500;box-shadow:inset 2px 0 0 var(--faint)}
.ev.prazo.urgente,.ev.prazo.late{box-shadow:inset 2px 0 0 var(--urgent);color:var(--urgent)}
.ev.prazo.done{color:var(--ok);box-shadow:inset 2px 0 0 var(--ok);opacity:.75}
.more{font-size:.7rem;color:var(--muted);padding-left:6px}
.tg{min-width:760px;padding:10px 12px 12px}
.tg-head,.tg-all,.tg-body{display:grid;grid-template-columns:58px repeat(var(--cols),minmax(0,1fr))}
.tg-head > div{text-align:center;padding:4px 4px 10px;font-size:.72rem;color:var(--muted);cursor:pointer;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.tg-head b{display:block;color:var(--fg);font-weight:700;font-size:.9rem;text-transform:none;letter-spacing:0;margin-top:2px}
.tg-head .today b{color:var(--accent)}
.tg-all{border-bottom:1px solid var(--line);border-top:1px solid var(--line);padding:6px 0;margin-bottom:4px}
.tg-all > div{padding:0 3px;display:flex;flex-direction:column;gap:3px;min-width:0}
.tg-all .lab{font-size:.66rem;color:var(--faint);padding-top:3px;font-weight:600}
.tg-body{position:relative;padding-top:8px}
.tg-hours > div{height:var(--hh);font-size:.72rem;color:var(--faint);font-variant-numeric:tabular-nums;transform:translateY(-.6em);font-weight:500}
.tg-col{position:relative;height:calc(var(--hh) * var(--rows));border-left:1px solid var(--line-2);background:repeating-linear-gradient(to bottom,var(--line-2) 0,var(--line-2) 1px,transparent 1px,transparent var(--hh))}
.tg-col.today{background:repeating-linear-gradient(to bottom,var(--line-2) 0,var(--line-2) 1px,transparent 1px,transparent var(--hh)),color-mix(in srgb,var(--accent) 4%,transparent)}
.blk{position:absolute;left:3px;right:3px;border:0;border-radius:7px;padding:6px 8px;text-align:left;color:var(--tdeep);background:var(--tint);box-shadow:inset 3px 0 0 var(--tc);overflow:hidden;transition:background .18s,box-shadow .18s;display:flex;flex-direction:column;gap:2px;font-size:.74rem;line-height:1.3;z-index:1}
.blk:hover{background:var(--tint-2);z-index:3;box-shadow:inset 3px 0 0 var(--tc),var(--shadow-md)}
.blk .bt{font-weight:700;color:var(--fg);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blk .bh{font-size:.68rem;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:5px;font-weight:600}
.blk .bh .avs .av{width:16px;height:16px;font-size:.45rem}
.now{position:absolute;left:58px;right:0;height:2px;margin-top:8px;background:var(--urgent);z-index:4;pointer-events:none}
.now::before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--urgent)}
.year{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.mini{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;box-shadow:var(--shadow)}
.mini button.mt{border:0;background:none;padding:0 0 8px;font-family:var(--f-display);font-weight:700;text-transform:capitalize;font-size:.9rem}
.mini button.mt:hover{color:var(--accent)}
.mini-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.mini-g span{aspect-ratio:1;max-width:100%;display:grid;place-items:center;font-size:.64rem;border-radius:5px;font-variant-numeric:tabular-nums;color:var(--muted)}
.mini-g .l1{background:var(--accent-soft);color:var(--accent)}
.mini-g .l2{background:color-mix(in srgb,var(--accent) 35%,var(--surface));color:var(--fg)}
.mini-g .l3{background:var(--accent);color:var(--accent-fg)}
.mini-g .td{outline:1.5px solid var(--urgent);outline-offset:-1.5px}

/* chat */
.chat{display:grid;grid-template-columns:290px minmax(0,1fr);height:min(72vh,680px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.convs{border-right:1px solid var(--line);overflow:auto;display:flex;flex-direction:column;padding:6px}
.conv{display:flex;gap:10px;align-items:center;border:0;background:none;text-align:left;padding:10px;border-radius:9px;transition:background .15s;width:100%}
.conv:hover{background:var(--surface-2)}
.conv[aria-current="true"]{background:var(--accent-soft)}
.conv .row-main b{display:block;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thread{display:flex;flex-direction:column;min-width:0;background:var(--canvas)}
.thread-h{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--surface)}
.msgs{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:8px}
.msg{max-width:78%;display:flex;flex-direction:column;gap:2px;animation:rise .2s var(--ease)}
.msg .b{padding:8px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--line);font-size:.87rem;overflow-wrap:anywhere;white-space:pre-wrap;border-bottom-left-radius:4px}
.msg.mine{align-self:flex-end;align-items:flex-end}
.msg.mine .b{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);border-bottom-left-radius:12px;border-bottom-right-radius:4px}
.msg small{color:var(--faint);font-size:.68rem;padding:0 4px}
.thread form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--surface)}
.thread form .input{flex:1;box-shadow:none}
.back{display:none}

/* modal + drawer */
.scrim{position:fixed;inset:0;background:var(--scrim);opacity:0;transition:opacity .22s var(--ease);z-index:40;backdrop-filter:blur(3px)}
.scrim.open{opacity:1}
.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;pointer-events:none}
.sheet{pointer-events:auto;width:min(620px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);transform:translateY(10px) scale(.985);opacity:0;transition:transform .26s var(--ease),opacity .26s var(--ease)}
.modal.open .sheet{transform:none;opacity:1}
.sheet header{display:flex;align-items:center;gap:10px;padding:18px 22px 14px;border-bottom:1px solid var(--line)}
.sheet header h2{margin-right:auto;font-size:1.05rem}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;padding:18px 22px}
.fgrid .full{grid-column:1/-1}
.checks{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:9px;padding:6px}
.checks label{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--fg);font-size:.86rem;padding:5px 6px;border-radius:6px}
.checks label:hover{background:var(--surface-2)}
.sheet footer{display:flex;gap:8px;align-items:center;padding:14px 22px;flex-wrap:wrap;border-top:1px solid var(--line);background:var(--canvas)}
.sheet footer .sp{flex:1}
.note{margin:16px 22px 0;padding:10px 12px;border-radius:9px;background:var(--canvas);border:1px solid var(--line-2);color:var(--muted);font-size:.8rem}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);z-index:45;padding:12px;padding-top:calc(12px + env(safe-area-inset-top,0px));padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));transform:translateX(105%);transition:transform .32s var(--ease)}
.drawer.open{transform:none}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,16px);opacity:0;z-index:60;background:var(--fg);color:var(--surface);padding:9px 16px;border-radius:10px;font-weight:600;font-size:.84rem;box-shadow:var(--shadow-lg);transition:opacity .22s,transform .22s var(--ease);pointer-events:none;max-width:calc(100% - 32px)}
.toast.show{opacity:1;transform:translate(-50%,0)}
.morepop{position:fixed;right:12px;bottom:calc(74px + env(safe-area-inset-bottom,0px));z-index:35;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:6px;display:flex;flex-direction:column;min-width:220px}
.morepop button{display:flex;gap:10px;align-items:center;border:0;background:none;padding:10px 12px;border-radius:9px;text-align:left;font-weight:500}
.morepop button:hover{background:var(--surface-2)}

/* onboarding */
.onb{max-width:560px;margin:5vh auto;display:flex;flex-direction:column;gap:16px}
.claim{display:flex;align-items:center;gap:12px;width:100%;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px 14px;text-align:left;box-shadow:var(--shadow);transition:border-color .18s,box-shadow .18s}
.claim:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.loading{display:grid;place-items:center;min-height:60vh;color:var(--muted)}

@media (max-width:860px){
  html,body{height:auto}
  .app{grid-template-columns:1fr;margin:0;border-radius:0;border:0;height:auto;min-height:100vh;overflow:visible;box-shadow:none;background:var(--canvas)}
  .side{display:none}
  .main{overflow:visible;padding-bottom:110px}
  .appbar{top:env(safe-area-inset-top,0px)}
  .bottom{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px))}
  .bottom button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;border:0;background:none;color:var(--muted);font-size:.64rem;font-weight:600;padding:6px 2px;border-radius:9px;position:relative}
  .bottom button[aria-current="page"]{color:var(--accent)}
  .bottom .badge{position:absolute;top:0;right:18%;min-width:16px;height:16px;font-size:.58rem}
  
  
  .day{min-height:64px}
  .day .ev{font-size:0;height:5px;padding:0;border-radius:3px;background:var(--tc);box-shadow:none}
  .day .ev.prazo{background:var(--faint)}
  .day .ev.prazo.late,.day .ev.prazo.urgente{background:var(--urgent)}
  .more{display:none}
  .chat{grid-template-columns:1fr;height:calc(100vh - 250px);min-height:420px}
  .chat.has-thread .convs{display:none}
  .chat:not(.has-thread) .thread{display:none}
  .back{display:grid}
  .fgrid{grid-template-columns:1fr}
}
@media (max-width:480px){.search{flex-basis:auto;flex-grow:1}}
/* ===== Hireism-inspired layer: lavender wash, indigo banner, gradient icon tiles, right rail ===== */
:root{
  --bg:#D8DAF8; --glow1:#C9CCF6; --glow2:#E3DDFB; --canvas:#F4F5FD; --surface-2:#EFF1FC; --line:#E6E8F6; --line-2:#EEF0FA;
  --accent:#5468E7; --accent-2:#6E5CF0; --accent-soft:#ECEEFD; --accent-line:#CDD3F8;
  --c1:#7B5CF6; --c2:#3D7BF2; --c3:#F08A2C; --c4:#EC4F86; --c5:#1FB5A3;
  --g1:linear-gradient(135deg,#A38BFF,#6A45F0); --g2:linear-gradient(135deg,#6FA8FF,#2F63E6); --g3:linear-gradient(135deg,#FFB35C,#F2711F); --g4:linear-gradient(135deg,#FF8AB3,#E23A74); --g5:linear-gradient(135deg,#6BE3CF,#16A294);
  --hero:linear-gradient(120deg,#5468E7 0%,#6477F0 60%,#7C8BF6 100%);
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg:#0C0E1E;--glow1:#171B45;--glow2:#1D1845;--canvas:#10132A;--surface-2:#1A1F3D;--line:#262C4E;--line-2:#20264A;--accent:#8C98FF;--accent-2:#A08BFF;--accent-soft:#222864;--accent-line:#39418A;--hero:linear-gradient(120deg,#3A48B8,#4B55C8 60%,#5B5FD0)}}
:root[data-theme="dark"]{--bg:#0C0E1E;--glow1:#171B45;--glow2:#1D1845;--canvas:#10132A;--surface-2:#1A1F3D;--line:#262C4E;--line-2:#20264A;--accent:#8C98FF;--accent-2:#A08BFF;--accent-soft:#222864;--accent-line:#39418A;--hero:linear-gradient(120deg,#3A48B8,#4B55C8 60%,#5B5FD0)}
.tone-1{--g:var(--g1)}.tone-2{--g:var(--g2)}.tone-3{--g:var(--g3)}.tone-4{--g:var(--g4)}.tone-5{--g:var(--g5)}
.app{border-radius:28px;border:0;margin:20px;height:calc(100% - 40px)}
.side{border-right:0;padding:26px 0 20px}
.side .brand{padding:0 26px 22px}
.brand-mark{border-radius:50%;background:var(--accent)}
.side .nav-sec{padding:16px 26px 6px}
.side .nav button{border-radius:0;padding:11px 26px;gap:14px}
.side .nav button:hover{background:var(--canvas)}
.side .nav button[aria-current="page"]{background:var(--accent-soft);color:var(--accent)}
.side .nav button[aria-current="page"]::after{content:"";position:absolute;right:0;top:6px;bottom:6px;width:4px;border-radius:4px 0 0 4px;background:var(--accent)}
.side .me-card{margin:auto 18px 0;padding:14px 8px 0}
.side .field{padding:0 22px}
.main{background:var(--canvas);border-radius:0}

.vchip{display:inline-flex;align-items:center;gap:6px;border:0;background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:.74rem;height:28px;padding:0 11px;border-radius:8px;text-transform:capitalize}

.vchip:hover{background:var(--accent);color:#fff}

.person{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px}
.person:hover{background:var(--surface)}
.person .av{width:36px;height:36px}

.appbar{background:color-mix(in srgb,var(--canvas) 85%,transparent);padding:18px 0}
.search .input{border-color:transparent;height:40px;border-radius:12px}
.round{border-color:transparent;box-shadow:var(--shadow)}
.addpop{width:240px;padding:6px}
.addpop button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;padding:8px;border-radius:9px;font-weight:500;text-align:left}
.addpop button:hover{background:var(--canvas)}
.mini-ico{width:28px;height:28px;border-radius:8px;background:var(--g);color:#fff;display:grid;place-items:center}
.mini-ico .ico{width:15px;height:15px}
.btn.primary{background:var(--accent);box-shadow:0 8px 18px -10px var(--accent)}

.seg.sm button{height:24px;padding:0 9px;font-size:.74rem}

/* home: composição centrada e ritmo único de espaço (28px entre blocos, 14px dentro) */

.sec-h h2{font-size:1.02rem}

.gico{width:46px;height:46px;border-radius:13px;background:var(--g,var(--accent));color:#fff;display:grid;place-items:center;font-weight:800;font-size:.9rem;margin-bottom:6px;box-shadow:0 10px 18px -10px var(--tc,var(--accent))}

.tblwrap{border:0;border-radius:16px;box-shadow:0 1px 2px rgb(40 50 120/.04),0 8px 24px -16px rgb(40 50 120/.18)}
.tbl th{background:var(--surface)}
.thl{display:inline-block;padding:12px 14px;font-size:.72rem;font-weight:600;color:var(--muted)}
.tbl.hl td{border-bottom:0;padding:11px 14px}
.tbl.hl tbody tr{transition:background .2s var(--ease),color .2s,box-shadow .2s}
.tbl.hl tbody tr:nth-child(even){background:var(--canvas)}
.tbl.hl tbody tr:hover{background:var(--accent);color:#fff;box-shadow:0 10px 20px -12px var(--accent)}
.tbl.hl tbody tr:hover .muted2,.tbl.hl tbody tr:hover .who,.tbl.hl tbody tr:hover .sdot,.tbl.hl tbody tr:hover .when{color:#fff!important}
.muted2{color:var(--fg-2);font-size:.82rem}
.sdot{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;color:var(--fg-2);white-space:nowrap}
.sdot::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--tc)}
.panel{border:0;border-radius:16px;box-shadow:0 1px 2px rgb(40 50 120/.04),0 8px 24px -16px rgb(40 50 120/.18)}

.card,.obj,.mini,.calwrap,.chat,.col{border-color:transparent}
.obj,.mini,.calwrap,.chat{box-shadow:0 1px 2px rgb(40 50 120/.04),0 8px 24px -16px rgb(40 50 120/.18);border-radius:16px}
.col{background:var(--surface-2)}
.plabel{background:var(--g);color:#fff}
.plabel::before{background:#fff;opacity:.8}
.bar i{background:var(--g,var(--accent))}
.day.today .dn,.seg button[aria-pressed="true"].x{background:var(--accent)}
.viewsw button[aria-pressed="true"],.seg button[aria-pressed="true"]{background:var(--accent);color:#fff;box-shadow:0 6px 14px -8px var(--accent)}
.seg,.viewsw{background:var(--surface);border-color:transparent;box-shadow:var(--shadow)}
.blk{box-shadow:inset 3px 0 0 var(--tc)}
/* clients screen: compact list with logo, manual order and sorting */
.clsort{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:600;color:var(--muted)}
.clsort .input{width:auto}
.cllist{background:var(--surface);border-radius:16px;box-shadow:0 1px 2px rgb(40 50 120/.04),0 8px 24px -18px rgb(40 50 120/.18);overflow:hidden}
.clrow,.clhead{display:grid;grid-template-columns:auto 40px minmax(0,1fr) 64px 130px 130px auto;align-items:center;gap:14px;padding:10px 14px}
.clhead{font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);padding-block:10px 8px;border-bottom:1px solid var(--line-2)}
.cllist:not(:has(.clgrip)) .clrow,.cllist:not(:has(.clgrip)) .clhead{grid-template-columns:40px minmax(0,1fr) 64px 130px 130px auto}
.clrow{cursor:pointer;border-bottom:1px solid var(--line-2);transition:background .15s,box-shadow .15s}
.clrow:last-child{border-bottom:0}
.clrow:hover{background:var(--canvas)}
.clrow.dragging{opacity:.45}
.clrow.over{box-shadow:inset 0 2px 0 var(--accent)}
.clgrip{width:14px;color:var(--faint);cursor:grab;display:grid;place-items:center;touch-action:none}
@media (max-width:700px){.clgrip{width:24px;height:36px}}
.clrow.tdrag{opacity:.55;box-shadow:var(--shadow-md)}
.clgrip .ico{width:16px;height:16px;stroke-width:3}
.cllogo{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;overflow:hidden;background:var(--tint);color:var(--tdeep);font-weight:700;font-size:.8rem;box-shadow:inset 0 0 0 1px var(--line-2)}
.cllogo img{width:100%;height:100%;object-fit:cover;display:block}
.clc{display:flex;flex-direction:column;align-items:center;line-height:1.1}
.clc b{font-size:1rem;font-weight:700}.clc small{font-size:.66rem;color:var(--muted)}
.clhead .clc{align-items:center}
.clnext{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--fg-2);white-space:nowrap}
.clnext .ico{width:14px;height:14px;color:var(--faint)}
.clacts{display:flex;align-items:center;gap:2px;justify-content:flex-end}
.clacts .icon-btn[disabled]{opacity:.3;cursor:default}
.clacts .icon-btn .ico{width:16px;height:16px}
@media (max-width:700px){.clrow,.clhead,.cllist:not(:has(.clgrip)) .clrow,.cllist:not(:has(.clgrip)) .clhead{grid-template-columns:auto 36px minmax(0,1fr) auto auto;gap:10px}.clhead{display:none}.clc{display:none}.cllogo{width:36px;height:36px}}
.rep-prev{margin-top:10px;padding:10px 12px;border-radius:9px;background:var(--accent-soft);color:var(--fg);font-size:.86rem}
/* task columns: status pill, value, column management */
.pill.stp{background:var(--tint);color:var(--tdeep);border-color:transparent}
.col.col-none{background:transparent;border:1.5px dashed var(--line)}
.col.col-none .cdot{background:var(--faint)}
.cval{margin-left:auto;font-weight:700;color:var(--fg-2);font-size:.74rem}
.col-h .col-n{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.col-h .col-ed{width:24px;height:24px;margin-left:-2px;opacity:.55}
.col-h .col-ed:hover{opacity:1}
.col-h .col-ed .ico{width:15px;height:15px}
.col-add{align-items:center;justify-content:center;text-align:center;gap:6px;border:2px dashed var(--accent-line)!important;background:transparent!important;color:var(--fg);cursor:pointer;transition:background .2s}
.col-add:hover{background:var(--accent-soft)!important}
.col-add small{color:var(--muted);font-size:.74rem;max-width:22ch}
/* client page: quiet header, demands first, formal record at the end */
.clogo img,.gico img,.clogo-lg img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.clogo,.gico{overflow:hidden}
.chead{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--surface);border-radius:16px;padding:14px 18px;margin-bottom:18px;box-shadow:0 1px 2px rgb(40 50 120/.04),0 8px 24px -18px rgb(40 50 120/.18)}
.clogo-lg{width:52px;height:52px;border-radius:15px;flex:none;display:grid;place-items:center;background:var(--g);color:#fff;font-weight:800;font-size:1rem;overflow:hidden}
.chead-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.chead-t{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.chead-t h1{font-size:1.3rem}
.cseg2{font-size:.72rem;font-weight:600;color:var(--tdeep);background:var(--tint);padding:2px 9px;border-radius:99px}
.qstats{display:flex;flex-wrap:wrap;gap:4px 16px}
.qstat{border:0;background:none;padding:0;display:inline-flex;align-items:baseline;gap:5px;font-size:.8rem;color:var(--muted);transition:color .15s}
.qstat b{font-size:.9rem;color:var(--fg-2);font-weight:700}
.qstat:hover,.qstat:hover b{color:var(--accent)}
.qstat.hot,.qstat.hot b{color:var(--urgent)}
.chead-acts{display:flex;gap:8px;flex-wrap:wrap}
.cdem{margin-bottom:28px}
.cdem .kan{grid-auto-columns:minmax(230px,1fr);min-height:52vh}
.cdem .col{min-height:48vh}
.ficha{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);background:var(--surface);border-radius:16px;box-shadow:0 1px 2px rgb(40 50 120/.04),0 8px 24px -18px rgb(40 50 120/.18);overflow:hidden}
.ficha h2{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);font-weight:700;margin-bottom:12px}
.ficha-main{padding:20px 24px}
.ficha-side{padding:20px 22px;background:var(--canvas);border-left:1px solid var(--line-2)}
.ficha dl{margin:0;display:grid;grid-template-columns:1fr 1fr;column-gap:28px}
.frow{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-2);font-size:.86rem;min-width:0}
.frow dt{color:var(--muted);font-size:.78rem;padding-top:1px}
.frow dd{margin:0;color:var(--fg);min-width:0;overflow-wrap:anywhere;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.flink{color:var(--accent);font-weight:600;text-decoration:none}
.flink:hover{text-decoration:underline}
.fmeta{margin:14px 0 0;font-size:.74rem;color:var(--faint)}
@media (max-width:900px){.ficha{grid-template-columns:1fr}.ficha-side{border-left:0;border-top:1px solid var(--line-2)}.ficha dl{grid-template-columns:1fr}.frow{grid-template-columns:120px 1fr}}
@media (max-width:860px){.app{margin:0;border-radius:0;height:auto}.side .nav button::after{display:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* home: painel do dia (boas-vindas, dock, indicadores, entregas, agenda, atividade, equipe) */
.hm-hero{position:relative;display:flex;align-items:center;gap:20px;overflow:hidden;border-radius:22px;padding:30px 34px;margin:6px 0 0;background:linear-gradient(115deg,var(--surface) 0%,color-mix(in srgb,var(--accent-soft) 70%,var(--surface)) 55%,color-mix(in srgb,var(--accent) 16%,var(--surface)) 100%);box-shadow:0 1px 2px rgb(40 50 120/.04),0 8px 24px -16px rgb(40 50 120/.18)}
.hm-txt{flex:1;min-width:0;position:relative;z-index:1}
.hm-date{color:var(--muted);font-size:.86rem}
.hm-hero h1{font-size:clamp(1.7rem,3vw,2.3rem);letter-spacing:-.03em;margin:6px 0 8px}
.hm-hero p{margin:0;color:var(--fg-2);font-size:.98rem;line-height:1.55;max-width:56ch}
.hm-hero p b{color:var(--fg)}.hm-hero p b.hot{color:var(--urgent)}
.hm-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.hm-acts .btn{height:42px;padding:0 18px;border-radius:11px;font-size:.88rem}
.hm-acts .btn:not(.primary){background:var(--surface);border-color:var(--line)}
.alerts{position:relative;z-index:1;width:min(390px,42%);flex:none;align-self:stretch;display:flex;flex-direction:column;gap:8px;background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(6px);border-radius:16px;padding:14px;box-shadow:0 10px 26px -18px rgb(40 50 120/.4)}
.al-h{display:flex;align-items:center;gap:8px;margin-bottom:2px}
.al-h b{margin-right:auto;font-size:.92rem}
.al-ico{color:var(--urgent);display:grid}.al-ico .ico{width:18px;height:18px}
.al{display:flex;align-items:center;gap:12px;border:0;text-align:left;border-radius:12px;padding:10px 12px;background:var(--al-bg);transition:transform .15s var(--ease)}
button.al:hover{transform:translateX(2px)}
.al > .ico{width:15px;height:15px;color:var(--faint);flex:none}
.al-i{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--al-fg);flex:none}
.al-i .ico{width:16px;height:16px}
.al .row-title{color:var(--al-fg);white-space:normal;line-height:1.3}
.al-urgent{--al-bg:var(--urgent-soft);--al-fg:var(--urgent)}.al-warn{--al-bg:var(--warn-soft);--al-fg:var(--warn)}.al-info{--al-bg:var(--accent-soft);--al-fg:var(--accent)}.al-ok{--al-bg:var(--ok-soft);--al-fg:var(--ok)}
.hm-hero{margin-bottom:18px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--surface);border-radius:16px;padding:6px;margin-bottom:16px;box-shadow:0 1px 2px rgb(40 50 120/.04),0 8px 24px -16px rgb(40 50 120/.18)}
.kpi{position:relative;display:flex;align-items:center;gap:12px;border:0;background:none;text-align:left;border-radius:12px;padding:10px 14px;min-width:0;transition:background .15s}
.kpi:hover{background:var(--canvas)}
.kpi + .kpi::before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:1px;background:var(--line)}
.kpi-ico{width:36px;height:36px;border-radius:11px;flex:none;display:grid;place-items:center;background:color-mix(in srgb,var(--tc) 14%,var(--surface));color:var(--tc)}
.kpi-ico .ico{width:18px;height:18px}
.kpi-n{font-size:1.55rem;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--fg)}
.kpi-m{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.kpi-l{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:var(--fg-2);white-space:nowrap}
.kchip{font-size:.68rem;font-weight:700;padding:1px 6px;border-radius:6px}
.kchip.up{background:var(--ok-soft);color:var(--ok)}.kchip.down{background:var(--urgent-soft);color:var(--urgent)}
.kpi-c{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi-c b{color:var(--fg-2);font-weight:700}.kpi-c .u b{color:var(--urgent)}.kpi-c .g{color:var(--ok);font-weight:600}
.kpi-c span + span::before{content:" · "}
.hm-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch;margin-bottom:14px}
.hm-3 > .panel{display:flex;flex-direction:column;min-width:0}
.hm-3 > .panel > .empty{flex:1;display:grid;place-items:center}
.ph-ico{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--tc);background:color-mix(in srgb,var(--tc) 12%,var(--surface));flex:none}
.ph-ico .ico{width:16px;height:16px}
.panel-h .ph-ico + h2{margin-right:auto}
.nxs{display:flex;flex-direction:column;gap:8px}
.nx{display:flex;align-items:center;gap:12px;border:1px solid var(--line-2);background:var(--surface);border-radius:12px;padding:9px 10px;text-align:left;transition:border-color .15s,box-shadow .15s}
.nx:hover{border-color:var(--accent-line);box-shadow:0 6px 14px -10px rgb(40 50 120/.35)}
.nx-ico{width:34px;height:34px;border-radius:10px;flex:none;display:grid;place-items:center;color:var(--tc);background:color-mix(in srgb,var(--tc) 12%,var(--surface))}
.nx-ico .ico{width:16px;height:16px}
.nx-d{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:700;color:var(--fg-2);background:var(--surface-2);border-radius:8px;padding:5px 9px;font-variant-numeric:tabular-nums}
.nx-d::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--faint)}
.nx-d.hot{background:var(--urgent-soft);color:var(--urgent)}.nx-d.hot::before{background:var(--urgent)}
.nx-d.warm{background:var(--warn-soft);color:var(--warn)}.nx-d.warm::before{background:var(--warn)}
.tls{display:flex;flex-direction:column}
.tl{position:relative;display:grid;grid-template-columns:44px 14px minmax(0,1fr) auto;align-items:center;gap:8px;border:0;background:none;text-align:left;padding:10px 4px;border-radius:10px}
.tl + .tl{border-top:1px solid var(--line-2)}
.tl:hover{background:var(--canvas)}
.tl-h{font-size:.8rem;color:var(--muted);font-weight:600}
.tl-dot{width:9px;height:9px;border-radius:50%;background:var(--tc);justify-self:center;box-shadow:0 0 0 3px color-mix(in srgb,var(--tc) 18%,transparent)}
.tl-ico{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--tc);background:color-mix(in srgb,var(--tc) 10%,var(--surface))}
.tl-ico .ico{width:15px;height:15px}
.acts{display:flex;flex-direction:column}
.act{display:flex;align-items:flex-start;gap:10px;border:0;background:none;text-align:left;padding:9px 4px;border-radius:10px}
.act + .act{border-top:1px solid var(--line-2)}
.act:hover{background:var(--canvas)}
.act .av{width:32px;height:32px}
@media (min-width:701px){.clacts{min-width:62px}}
/* mini calendário do Início + feriados e datas (out/2026) */
.hmc-t{text-transform:capitalize;margin-right:auto;white-space:nowrap;font-size:1rem}.hmc-t .muted{font-weight:600}
.hmc{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.hmc .wd{font-size:.62rem;font-weight:700;color:var(--faint);text-align:center;padding:0 0 4px}
.hmc button{border:0;background:none;border-radius:9px;height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--fg-2);cursor:pointer;min-width:0;padding:0}
.hmc button:hover{background:var(--canvas)}
.hmc .n{width:26px;height:22px;display:grid;place-items:center;border-radius:7px;font-size:.78rem;font-weight:600}
.hmc .ot{color:var(--faint)}.hmc .ot .n{font-weight:500}
.hmc .fer .n,.fer-n{color:var(--urgent);font-weight:800}
.hmc .td .n{background:var(--accent);color:var(--accent-fg)}
.hmc .sel{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent-line)}
.hmc .dots{display:flex;gap:3px;height:5px}
.hmc .dots i,.hmc-leg i{width:5px;height:5px;border-radius:50%;display:inline-block}
.d-pz{background:var(--warn)}.d-late{background:var(--urgent)}.d-ev{background:var(--c2)}.d-com{background:var(--c1)}
.hmc-leg{display:flex;flex-wrap:wrap;gap:4px 12px;margin:8px 0 4px;font-size:.7rem}
.hmc-leg span{display:inline-flex;align-items:center;gap:5px}.hmc-leg .fer-n{font-size:.72rem}
.hd{border-top:1px solid var(--line-2);margin-top:10px;padding-top:10px;display:flex;flex-direction:column;gap:2px}
.hd-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;font-size:.84rem;margin-bottom:4px}.hd-h > *{white-space:nowrap}.hd-h .linkish{margin-left:auto;font-size:.74rem}
.hd-r{display:flex;align-items:center;gap:10px;border:0;background:none;text-align:left;padding:6px 4px;border-radius:9px;width:100%}
button.hd-r:hover{background:var(--canvas)}
.hd-i{width:28px;height:28px;flex:none;border-radius:8px;display:grid;place-items:center}.hd-i .ico{width:14px;height:14px}
.hd-i.feriado,.hd-i.late{background:var(--urgent-soft);color:var(--urgent)}.hd-i.facultativo,.hd-i.pz{background:var(--warn-soft);color:var(--warn)}
.hd-i.data{background:color-mix(in srgb,var(--c1) 14%,var(--surface));color:var(--c1)}.hd-i.ev{background:color-mix(in srgb,var(--c2) 14%,var(--surface));color:var(--c2)}.hd-i.ok{background:var(--ok-soft);color:var(--ok)}
.hd-empty{padding:4px}
.hp{display:flex;align-items:center;gap:8px;border:0;background:none;text-align:left;padding:4px;border-radius:8px;min-width:0}
.hp:hover{background:var(--canvas)}.hp-d{font-size:.74rem;font-weight:700;color:var(--muted);width:40px;flex:none}
.hol{display:block;max-width:100%;font-size:.7rem;font-weight:600;padding:2px 7px;border-radius:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hol.feriado{background:var(--urgent-soft);color:var(--urgent)}.hol.facultativo{background:var(--warn-soft);color:var(--warn)}
.hol.data{background:color-mix(in srgb,var(--c1) 12%,var(--surface));color:color-mix(in srgb,var(--c1) 80%,var(--fg))}
.mini-g .fer{color:var(--urgent);font-weight:800}
/* revisão de design (05/10) */
.addbtn{display:flex}.addbtn > .btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}
.addbtn .addcar{border-top-left-radius:0;border-bottom-left-radius:0;padding-inline:8px;margin-left:1px}
.nx .nx-t{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}
.nx-when{font-weight:700;color:var(--fg-2)}.nx-when.warm{color:var(--warn)}
.fr-tot{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.78rem;color:var(--muted);margin:-2px 0 8px}.fr-tot b{color:var(--fg)}
.frs{display:flex;flex-direction:column}
.fr{display:flex;align-items:center;gap:10px;border:0;background:none;text-align:left;padding:8px 4px;border-radius:10px;width:100%}
.fr + .fr{border-top:1px solid var(--line-2)}.fr:hover{background:var(--canvas)}
.fr-v{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex:none}.fr-v b{font-size:.84rem}.fr-v .pill{height:19px;font-size:.66rem;padding:0 7px}
.fr-more{margin-top:6px;align-self:flex-start;font-size:.78rem}
.c-cli{display:flex;align-items:center;gap:6px;min-width:0;font-size:.72rem;font-weight:600;color:var(--muted);margin-bottom:-4px}.c-cli > span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cav{flex:none;width:20px;height:20px;border-radius:50%;overflow:hidden;display:inline-grid;place-items:center;font-size:.52rem;font-weight:800;letter-spacing:0;color:var(--tc);background:color-mix(in srgb,var(--tc) 16%,var(--surface));box-shadow:inset 0 0 0 1px var(--line-2)}
.cav img{width:100%;height:100%;object-fit:cover}.cav .ico{width:11px;height:11px}.cav-int{color:var(--accent);background:var(--accent-soft)}
.tbl .who .cav{width:24px;height:24px;font-size:.58rem}
.c-tipo{font-size:.72rem;color:var(--faint)}
.card .meta .cval{margin-left:auto}
.col-note{margin:-2px 2px 0}.col-more{align-self:center;font-size:.78rem;margin-top:2px}
.col-add{min-height:120px!important;padding:0!important;align-self:start}
.ev.prazo::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:5px;vertical-align:1px;opacity:.7}
.ev.prazo.done::before{display:none}
.tbl th:not(:has(button)){padding:10px 14px;font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.tbl th.r,.tbl td.r{text-align:right}
.fin-s b{font-size:clamp(15px,4.1vw,22px);white-space:nowrap;line-height:1.2;letter-spacing:-.01em}
.fin-cards{display:none}
@media (max-width:700px){
  .fin-tbl{display:none}.fin-cards{display:flex;flex-direction:column}
  .fc{display:flex;flex-direction:column;gap:6px;padding:12px 2px;border-bottom:1px solid var(--line-2)}.fc:last-child{border-bottom:0}
  .fc-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border:0;background:none;text-align:left;padding:0;width:100%;color:var(--fg)}
  .fc-h .row-main{display:flex;flex-direction:column;gap:2px}.fc-t{font-weight:700}
  .fc-r{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.84rem}
  .fin-s{padding:12px}
}
@media (max-width:520px){.addbtn .addl{display:none}.addbtn > .btn:first-child{padding-inline:12px}}
.act-ic{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--canvas);color:var(--muted)}.act-ic .ico{width:16px;height:16px}
.act-t{display:block;font-size:.8rem;color:var(--muted);line-height:1.45}
.act-t b{color:var(--fg);font-weight:700}
.act-o{color:var(--fg-2);font-weight:600}
.act-t .pill{height:19px;font-size:.66rem;padding:0 7px;vertical-align:1px}
.act-w{flex:none;font-size:.7rem;color:var(--faint);white-space:nowrap;padding-top:2px}
.ph-t{margin-right:auto;display:flex;flex-direction:column;min-width:0}
.pjs{display:flex;flex-direction:column}
.pj{display:grid;grid-template-columns:40px minmax(0,1.3fr) minmax(90px,1fr) 44px auto;align-items:center;gap:14px;border:0;background:none;text-align:left;padding:10px 6px;border-radius:12px}
.pj + .pj{border-top:1px solid var(--line-2)}
.pj:hover{background:var(--canvas)}
.pj-th{width:40px;height:40px;border-radius:11px;background:var(--g);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.8rem}
.pj-bar{height:7px;border-radius:7px;background:var(--surface-2);overflow:hidden}
.pj-bar i{display:block;height:100%;border-radius:7px;background:var(--accent)}
.pj-pc{font-size:.8rem;color:var(--fg-2);font-weight:600;text-align:right}
.pj-n{font-size:.74rem;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:8px;padding:5px 10px;white-space:nowrap}

@media (max-width:1280px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi + .kpi::before{display:none}.hm-3{grid-template-columns:1fr 1fr}.hm-3 > .panel:last-child{grid-column:1/-1}}
@media (max-width:640px){.pj{grid-template-columns:40px minmax(0,1fr) auto}.pj-bar,.pj-pc{display:none}}
@media (max-width:1000px){.hm-hero{flex-direction:column;align-items:stretch}.alerts{width:100%}}
@media (max-width:860px){.hm-hero{padding:24px 20px}.hm-3{grid-template-columns:1fr}.hm-3 > .panel:last-child{grid-column:auto}}
@media (max-width:520px){.kpis{grid-template-columns:1fr}}
/* configurações */
.cfg-tabs{margin:-6px 0 16px}
.cfg-body{max-width:880px}
.cfg-sec{margin-bottom:16px}
.cfg-sh{margin-bottom:8px}.cfg-sh p{margin:2px 0 0;max-width:68ch}
.cfg-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:8px 24px;align-items:center;padding:14px 0;border-top:1px solid var(--line-2)}
.cfg-sh + .cfg-row{border-top:0;padding-top:4px}
.cfg-l{display:flex;flex-direction:column;gap:2px}.cfg-l b{font-size:.88rem}
.cfg-c{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}
.cfg-c .input{max-width:320px;width:100%}
.swatches{display:flex;gap:10px;flex-wrap:wrap}
.sw{width:28px;height:28px;border-radius:50%;border:0;padding:0;background:var(--c);box-shadow:inset 0 0 0 1px rgb(0 0 0/.12);cursor:pointer}
.sw[aria-pressed="true"]{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--c)}
.cfg-list{display:flex;flex-direction:column;border:1px solid var(--line-2);border-radius:12px;overflow:hidden}
.cfg-item{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 14px;min-height:46px}
.cfg-item + .cfg-item{border-top:1px solid var(--line-2)}
.cfg-item .sl{margin-right:auto;font-weight:600;font-size:.86rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cfg-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.cfg-save{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px -18px -16px;padding:12px 18px;border-top:1px solid var(--line-2);border-radius:0 0 16px 16px;background:var(--canvas);color:var(--muted)}
.cfg-save .sp{flex:1}
.cfg-save.on{background:var(--warn-soft);color:var(--warn);font-weight:600}
.cfg-save.on span.small::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:7px;vertical-align:1px}
.cfg-chips{display:flex;flex-wrap:wrap;gap:6px}
.cfg-checks{display:flex;flex-wrap:wrap;gap:8px 22px}
.cfg-ck{display:flex;align-items:center;gap:8px;font-size:.86rem;font-weight:500}
.cfg-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.cfg-stat{border:1px solid var(--line-2);border-radius:12px;padding:12px 14px}
.cfg-stat b{display:block;font-size:1.4rem;font-family:var(--f-display);line-height:1.2}
@media (max-width:760px){.cfg-row{grid-template-columns:1fr}.cfg-stats{grid-template-columns:1fr 1fr}}
/* dock: ícone real do site (favicon), com as iniciais por baixo caso a imagem não carregue */

/* legibilidade: tokens e regras com contraste mínimo de 4.5:1 nos dois temas (texto pequeno) */
:root{--accent:#4D5FD2;--accent-2:#4D5FD2;--warn:#9E5E00;--ok:#107B51;--urgent:#C6343F;--muted:#5F6B82;--faint:#626C84;--on-urgent:#FFFFFF;
  --g1:linear-gradient(135deg,#7454EE,#5A3AD6);--g2:linear-gradient(135deg,#2F6FDE,#2453C8);--g3:linear-gradient(135deg,#BA5410,#A8480A);--g4:linear-gradient(135deg,#CB3A78,#B82560);--g5:linear-gradient(135deg,#0C8177,#0A6B62);
  --av-s:62%;--av-l:88%;--av-ts:55%;--av-tl:26%}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--faint:#9198AE;--on-urgent:#2A0B10;--av-s:38%;--av-l:28%;--av-ts:80%;--av-tl:86%}}
:root[data-theme="dark"]{--faint:#9198AE;--on-urgent:#2A0B10;--av-s:38%;--av-l:28%;--av-ts:80%;--av-tl:86%}
[class*="tone-"]{--tdeep:color-mix(in srgb,var(--tc) 55%,var(--fg))}
.badge{color:var(--on-urgent)}
.av{background:hsl(var(--h) var(--av-s) var(--av-l));color:hsl(var(--h) var(--av-ts) var(--av-tl))}
.vchip:hover,.tbl.hl tbody tr:hover,.viewsw button[aria-pressed="true"],.seg button[aria-pressed="true"]{color:var(--accent-fg)}
.tbl.hl tbody tr:hover .muted2,.tbl.hl tbody tr:hover .who,.tbl.hl tbody tr:hover .sdot,.tbl.hl tbody tr:hover .when{color:var(--accent-fg)!important}
.seg button[aria-pressed="true"] .muted,.viewsw button[aria-pressed="true"] .muted{color:inherit}
.hm-hero p b.hot{color:color-mix(in srgb,var(--urgent) 82%,var(--fg))}
/* menu da conta (cartão do rodapé) e tela de saída */
.me-wrap{position:relative}
.sup-lk{display:flex;align-items:center;gap:10px;border:0;background:none;padding:8px 26px;margin-bottom:6px;font-size:.78rem;font-weight:500;color:var(--faint);text-align:left;transition:color .15s}
.sup-lk .ico{width:16px;height:16px}
.sup-lk.sup-tut{margin-top:auto;margin-bottom:0}
.sup-lk:hover,.sup-lk[aria-current="page"]{color:var(--accent)}
.app.sd-solid .side .sup-lk{color:var(--sd-mu)}.app.sd-solid .side .sup-lk:hover,.app.sd-solid .side .sup-lk[aria-current="page"]{color:var(--sd-fg)}
.sup{max-width:720px}
.ac-aviso{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 14px;margin-bottom:16px;border-radius:12px;background:var(--warn-soft);color:var(--fg);font-size:.86rem;flex-wrap:wrap}
.ac-aviso.atras{background:var(--urgent-soft)}
.ac-ico{color:var(--warn);display:grid}.ac-aviso.atras .ac-ico{color:var(--urgent)}.ac-ico .ico{width:18px;height:18px}
.ac-txt{flex:1 1 260px}
.app.app-travado{filter:blur(7px) saturate(.85);pointer-events:none;user-select:none}
body.travado #pet,body.travado #selbar{display:none}
.trava{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,var(--bg) 45%,transparent);animation:fadeIn .4s var(--ease)}
.trava-c{width:min(460px,100%);background:var(--surface);border-radius:24px;padding:28px 28px 22px;text-align:center;box-shadow:var(--shadow-lg);animation:rise .45s var(--ease)}
.trava-lumi{width:96px;height:96px;margin:-4px auto 6px}.trava-lumi svg{width:100%;height:100%;overflow:visible}
.trava h1{font-size:1.35rem;margin-bottom:10px}
.trava p{margin:0 0 12px;color:var(--fg-2);line-height:1.55}
.trava-ok{display:flex;gap:10px;align-items:flex-start;text-align:left;background:var(--ok-soft);border-radius:12px;padding:10px 12px;font-size:.86rem}
.trava-ok .ico{color:var(--ok);flex:none;margin-top:2px}
.trava-a{display:flex;flex-direction:column;gap:8px;margin:16px 0 10px}.trava-a .btn{height:42px;width:100%}
.trava-n{font-size:.8rem}
.trava-sair{margin-top:2px}
.trava-fone{font-size:.82rem;color:var(--fg-2);border-top:1px solid var(--line);padding-top:12px;margin:4px 0 8px!important}
.trava-fone b{user-select:all;white-space:nowrap}
@keyframes fadeIn{from{opacity:0}}
.tut-w{max-width:820px}
.tut-busca{max-width:none;margin-bottom:14px}.tut-busca .ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--faint);pointer-events:none}
.tut-l{display:flex;flex-direction:column;gap:8px}
.tut{background:var(--surface);border-radius:14px;box-shadow:0 1px 2px rgb(40 50 120/.04),0 8px 24px -18px rgb(40 50 120/.18);overflow:hidden}
.tut summary{display:flex;align-items:center;gap:14px;padding:14px 16px;cursor:pointer;list-style:none}
.tut summary::-webkit-details-marker{display:none}
.tut summary:hover{background:var(--canvas)}
.tut summary > .ico{margin-left:auto;width:16px;height:16px;color:var(--faint);transition:transform .2s var(--ease);flex:none}
.tut[open] summary > .ico{transform:rotate(180deg)}
.tut-n{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:.82rem;flex:none}
.tut-t{display:flex;flex-direction:column;min-width:0}.tut-t b{font-size:.92rem}
.tut-c{padding:2px 18px 16px 60px;animation:rise .2s var(--ease)}
.tut-c ol{margin:0 0 12px;padding-left:18px;display:flex;flex-direction:column;gap:7px;font-size:.88rem;color:var(--fg-2);line-height:1.5}
.tut-c li b{color:var(--fg)}
.tut-dica{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:var(--canvas);font-size:.82rem;color:var(--fg-2)}
.tut-c .btn .ico{width:14px;height:14px}
.tut-rod,.tut-vazio{margin:16px 2px 0}
@media (max-width:700px){.tut-c{padding:2px 14px 14px 14px}.top .seg{width:100%}}
.sup-h{display:flex;gap:14px;align-items:flex-start;margin-bottom:4px}
.sup-h h2{font-size:1.05rem;margin-bottom:2px}.sup-h p{margin:0}
.sup-ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);flex:none}
.sup-f{padding:16px 0 4px}
.sup-tel{display:flex;align-items:center;gap:6px;height:38px}
.sup-a{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between;padding-top:12px;border-top:1px solid var(--line-2);margin-top:8px}
.side .me-wrap .me-card{width:calc(100% - 36px);margin-top:0}
.me-card > .ico{margin-left:auto;width:16px;height:16px;color:var(--faint);flex:none}
.me-pop{position:absolute;left:18px;right:18px;bottom:calc(100% + 8px);z-index:30;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:6px;animation:rise .16s var(--ease)}
.me-pop button{display:flex;align-items:center;gap:10px;border:0;background:none;padding:9px 10px;border-radius:9px;font-size:.86rem;font-weight:500;color:var(--fg-2);text-align:left}
.me-pop button:hover{background:var(--surface-2);color:var(--fg)}
.me-pop .ico{width:17px;height:17px}
.me-pop hr,.morepop hr{border:0;border-top:1px solid var(--line);margin:4px 2px}
.me-pop .danger,.morepop .danger{color:var(--urgent)}
.me-pop .danger:hover,.morepop .danger:hover{background:var(--urgent-soft);color:var(--urgent)}
.out{min-height:100%;display:grid;place-items:center;padding:24px}
.out-card{width:min(380px,100%);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;background:var(--surface);border-radius:20px;padding:34px 28px;box-shadow:var(--shadow-lg)}
.out-card h1{font-size:1.5rem;margin-top:6px}
.out-card p{margin:0 0 10px}
.au-card{align-items:stretch;text-align:left;gap:12px;width:min(400px,100%)}
.au-card h1{margin-top:2px}
.au-marca{display:flex;align-items:center;gap:10px;font-family:var(--display,inherit);font-size:1.05rem;letter-spacing:.04em;margin-bottom:6px}
.au-card .btn.primary{height:44px;width:100%;justify-content:center;margin-top:4px}
.au-links{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:.9rem}
.au-sub{margin:-4px 0 4px!important}
.au-erro{background:var(--danger-soft,#fde8e8);color:var(--danger,#b42318);border-radius:10px;padding:10px 12px;font-size:.88rem;margin:0!important}
.au-ok{background:var(--ok-soft);color:var(--ok);border-radius:10px;padding:10px 12px;font-size:.88rem;margin:0!important}
.au-txt{line-height:1.55}
.au-lembrar{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;font-weight:500;cursor:pointer;align-self:flex-start;margin:-2px 0 0;user-select:none}
.au-lembrar input{width:17px;height:17px;accent-color:var(--accent);margin:0;cursor:pointer}
.au-pw{position:relative}
.au-pw .input{width:100%;padding-right:46px}
.au-olho{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:38px;height:36px;display:grid;place-items:center;border:0;background:none;border-radius:8px;color:var(--muted);cursor:pointer}
.au-olho:hover{color:var(--fg);background:var(--surface-2)}
.au-olho:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.au-olho .ico{width:19px;height:19px}
/* notificações, lixeira/desfazer, histórico, atalho Ctrl+K */
.nbadge{position:absolute;top:3px;right:3px;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:var(--urgent);color:var(--on-urgent);font-size:.62rem;font-weight:700;display:grid;place-items:center;box-shadow:0 0 0 2px var(--surface)}
.pop.notif{width:min(380px,calc(100vw - 32px));padding:10px}
.notif .panel-h{margin-bottom:6px}.notif .panel-h h2{margin-right:auto}
.nlist{display:flex;flex-direction:column;gap:2px;max-height:60vh;overflow:auto}
.nitem{display:flex;gap:10px;align-items:flex-start;border:0;background:none;text-align:left;padding:9px 8px;border-radius:10px;width:100%}
.nitem:hover{background:var(--surface-2)}
.nitem.new{background:var(--accent-soft)}
.nico{width:30px;height:30px;border-radius:9px;flex:none;display:grid;place-items:center;color:var(--tc);background:color-mix(in srgb,var(--tc) 13%,var(--surface))}
.nico .ico{width:15px;height:15px}
.ncfg{display:flex;flex-direction:column;gap:8px;padding:2px 4px 4px}
.ncfg p{margin:0}
.toast.has-act{pointer-events:auto;display:flex;align-items:center;gap:14px}
.toast-b{border:0;background:none;color:inherit;font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:3px;padding:2px 4px;border-radius:6px}
.form-after{padding:0 22px 16px}
.hist{border-top:1px solid var(--line);padding-top:12px}
.hist summary{cursor:pointer;font-weight:600;font-size:.84rem;color:var(--fg-2)}
.hist ol{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:220px;overflow:auto}
.hist li{display:flex;justify-content:space-between;gap:12px;font-size:.8rem;color:var(--muted);line-height:1.45}
.hist li b{color:var(--fg-2);font-weight:700}
.hist-w{flex:none;font-size:.72rem;color:var(--faint)}
.search .kbd{position:absolute;right:10px;top:50%;transform:translateY(-50%);font:600 .68rem var(--f-body);color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:2px 6px;pointer-events:none}
@media (max-width:860px){.search .kbd{display:none}}
/* ---- pacote, comentários, financeiro, carga da equipe (out/2026) ---- */
.pac{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:8px 0 2px;font-size:13px}
.pac-h{font-weight:700}
.pac-i{display:inline-flex;align-items:center;gap:6px}
.pac-l{color:var(--muted)}
.pac-bar{width:64px;height:6px;border-radius:99px;background:var(--line,#e5e8f4);overflow:hidden;display:inline-block}
.pac-bar i{display:block;height:100%;background:var(--accent)}
.pac-i.full .pac-bar i{background:var(--ok)}
.pac-i.over .pac-bar i{background:var(--warn)}
.pac-x{font-size:11px;font-weight:700;color:var(--warn)}
.pac-mini{font-weight:600}
.pac-mini.over{color:var(--warn)}
.cmts{margin:4px 0 14px}
.cmts-h{font-size:14px;margin:0 0 8px}
.cmt{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line,#e5e8f4)}
.cmt-b{flex:1;min-width:0}
.cmt-m{display:flex;gap:8px;align-items:baseline;font-size:12.5px}
.cmt-m .linkish{font-size:12px}.cmt-m .sp{flex:1}
.cmt-ed{width:100%;min-height:70px}.cmt-eb{display:flex;gap:6px;justify-content:flex-end;margin-top:6px}
.cmt-t{font-size:13.5px;white-space:pre-wrap;overflow-wrap:anywhere}
.cmt-new{display:grid;gap:8px;justify-items:end;margin-top:8px}
.cmt-new textarea{width:100%;min-height:58px}
.flink{color:var(--accent);font-weight:600;text-decoration:none;white-space:nowrap}
.flink:hover{text-decoration:underline}
.fin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.fin-s{display:grid;gap:2px;padding:14px 16px;border-radius:16px;background:var(--surface);box-shadow:0 1px 3px rgba(20,24,60,.06)}

.fin-fee{display:inline-flex;align-items:center;gap:8px}
.stsel.pag-af{color:var(--warn)} .stsel.pag-faturado{color:var(--accent)} .stsel.pag-pago{color:var(--ok)}
.carga{display:grid;gap:6px}
.cg{display:grid;grid-template-columns:auto 90px minmax(80px,1fr) auto;align-items:center;gap:10px;padding:6px 8px;border-radius:12px;text-align:left;background:none;border:0;cursor:pointer;color:inherit;font:inherit}
.cg:hover{background:var(--accent-soft)}
.cg-n{font-weight:600}
.cg-bar{position:relative;height:8px;border-radius:99px;background:var(--line,#e5e8f4);overflow:hidden}
.cg-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:99px}
.cg-bar .all{background:color-mix(in srgb,var(--accent) 30%,transparent)}
.cg-bar .wk{background:var(--accent)}
.cg-t{font-size:12.5px;color:var(--muted);white-space:nowrap}
.clint .cllogo{color:var(--accent)}
@media (max-width:860px){.fin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cg{grid-template-columns:auto 1fr;}.cg-bar{grid-column:1/-1}.cg-t{grid-column:1/-1;white-space:normal}}

/* ===== camada hub (05/10): tipografia Sora nos títulos e números, herói em índigo, acessos rápidos, movimento na troca de tela ===== */
:root{--f-display:"Sora","Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;--hub-ring:rgb(255 255 255/.16)}
h1,h2,h3,.brand b,.num{font-family:var(--f-display)}
.num{font-variant-numeric:tabular-nums;letter-spacing:-.02em}
h1{letter-spacing:-.035em}
/* marca: órbita */
.brand-mark{background:var(--hero);box-shadow:0 8px 20px -8px var(--accent)}
.brand-mark::before{left:7px;right:7px;top:7px;bottom:7px;height:auto;border-radius:50%;background:none;border:2px solid #fff;border-right-color:transparent;transform:rotate(-30deg)}
.brand-mark::after{left:auto;right:6px;top:6px;width:6px;height:6px;border-radius:50%;background:#fff}
/* menu */
.side .nav button .ico{transition:transform .25s var(--ease)}
.side .nav button:hover .ico{transform:translateX(2px) scale(1.06)}
.side .nav button[aria-current="page"]{background:linear-gradient(90deg,var(--accent-soft),transparent);font-weight:700}
.side .nav button[aria-current="page"]::after{box-shadow:0 0 14px var(--accent)}
.nbadge{animation:hubPing 2.6s var(--ease) infinite}
/* botões */
.btn,.round,.vchip,.icon-btn{transition:transform .15s var(--ease),background .2s,color .2s,box-shadow .2s}
.btn:active,.round:active,.vchip:active{transform:scale(.96)}
.btn.primary{background:var(--hero);border-color:transparent}
.btn.primary:hover{background:var(--hero);filter:brightness(1.08);box-shadow:0 12px 24px -12px var(--accent)}
/* herói */
.hm-hero{background:var(--hero);color:#fff;isolation:isolate;box-shadow:0 24px 50px -28px var(--accent)}
.hm-hero::before{content:"";position:absolute;z-index:0;right:-120px;top:-160px;width:560px;height:560px;border-radius:50%;
  background:radial-gradient(circle,transparent 39%,var(--hub-ring) 39.3%,transparent 39.8%),radial-gradient(circle,transparent 57%,var(--hub-ring) 57.3%,transparent 57.8%),radial-gradient(circle,transparent 75%,rgb(255 255 255/.1) 75.3%,transparent 75.8%);pointer-events:none;animation:hubSpin 60s linear infinite}
.hm-hero::after{content:"";position:absolute;z-index:0;inset:0;background:radial-gradient(500px 260px at 18% 0%,rgb(255 255 255/.18),transparent 70%);pointer-events:none;opacity:.9}
.hm-hero h1,.hm-hero p b{color:#fff}
.hm-hero h1{font-size:clamp(1.9rem,3.4vw,2.7rem);font-weight:700}
.hm-date{color:rgb(255 255 255/.78);display:flex;align-items:center;gap:10px;font-weight:500}
.hm-clock{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 10px;border-radius:99px;background:rgb(255 255 255/.16);color:#fff;font-weight:600;font-size:.82rem;backdrop-filter:blur(6px)}
.hm-clock::before{content:"";width:6px;height:6px;border-radius:50%;background:#7CF0C0;box-shadow:0 0 8px #7CF0C0;animation:hubBlink 2s ease-in-out infinite}
.hm-hero p{color:rgb(255 255 255/.86)}
.hm-hero p b{font-family:var(--f-display);font-size:1.12em;font-variant-numeric:tabular-nums}
.hm-hero p b.hot{color:#FFD3D8}
.alerts{background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(14px);box-shadow:0 18px 40px -20px rgb(20 20 80/.55);color:var(--fg)}
.al{transition:transform .2s var(--ease),box-shadow .2s}
.al:hover{transform:translateX(3px);box-shadow:0 8px 18px -12px rgb(40 50 120/.4)}
.al-urgent .al-i{position:relative}
.al-urgent .al-i::after{content:"";position:absolute;inset:-3px;border-radius:inherit;border:2px solid var(--urgent);opacity:0;animation:hubPing 2.4s var(--ease) infinite}
/* acessos rápidos */
.qa-sec{margin:0 0 12px}
.qa-h{display:flex;align-items:center;gap:8px;margin:0 2px 8px}
.qa-h h2{font:600 .74rem var(--f-body,inherit);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:auto}
.qa-h .vchip{font-size:.72rem;padding:2px 6px;min-height:0;background:transparent;color:var(--muted)}.qa-h .vchip:hover{color:var(--accent)}
.qas{display:flex;flex-wrap:wrap;gap:8px}
/* só o ícone; o nome sobe numa etiqueta ao passar o mouse ou focar */
.qa{position:relative;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:12px;background:none;color:var(--fg);text-decoration:none;cursor:pointer;font:inherit}
.qa-ico{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;color:#fff;font:700 .9rem var(--f-display);
  background:linear-gradient(135deg,hsl(var(--qh) 70% 62%),hsl(calc(var(--qh) + 18) 65% 46%));box-shadow:0 4px 10px -6px hsl(var(--qh) 70% 40%/.7);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .3s,border-radius .3s}
.qa-ico .ico{width:16px;height:16px}
.qa-rd .qa-ico{background:var(--rg);box-shadow:0 4px 10px -6px rgb(30 30 60/.5)}
.qa:hover .qa-ico,.qa:focus-visible .qa-ico{transform:translateY(-3px) scale(1.12) rotate(-5deg);border-radius:14px;box-shadow:0 12px 20px -10px hsl(var(--qh,230) 70% 40%/.8)}
.qa-rd:hover .qa-ico,.qa-rd:focus-visible .qa-ico{box-shadow:0 12px 20px -10px rgb(30 30 60/.6)}
.qa-n{position:absolute;bottom:calc(100% + 8px);left:50%;z-index:20;pointer-events:none;white-space:nowrap;max-width:none;
  padding:5px 10px;border-radius:9px;background:#1D2140;color:#fff;font-weight:600;font-size:.76rem;line-height:1.2;box-shadow:0 10px 24px -10px rgb(10 12 40/.6);
  opacity:0;transform:translate(-50%,6px) scale(.8);transform-origin:50% 100%;transition:opacity .18s,transform .3s cubic-bezier(.34,1.56,.64,1)}
.qa-n::after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-top-color:#1D2140}
.qa:hover .qa-n,.qa:focus-visible .qa-n{opacity:1;transform:translate(-50%,0) scale(1)}
.qa-d{display:none}
.qa-add .qa-ico{background:transparent;color:var(--muted);border:1.5px dashed var(--accent-line);box-shadow:none}
a.btn{text-decoration:none}
.qa-add:hover .qa-ico,.qa-add:focus-visible .qa-ico{color:var(--accent);background:var(--accent-soft);box-shadow:none;transform:translateY(-3px) rotate(90deg)}
/* painéis */
.panel,.obj,.mini,.calwrap{transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.hm-3 > .panel:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgb(40 50 120/.04),0 18px 36px -20px rgb(40 50 120/.32)}
.ph-ico{background:var(--g,var(--accent));color:#fff;box-shadow:0 6px 14px -8px var(--tc,var(--accent))}
.panel-h h2{font-size:1.02rem;font-weight:600}
.nx{transition:transform .2s var(--ease),background .2s}
.nx:hover{transform:translateX(3px)}
/* quadro */
.col-h{font-family:var(--f-display);font-weight:600}
.col-h .cdot{box-shadow:0 0 0 3px color-mix(in srgb,var(--tc) 20%,transparent)}
.card{transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 16px 30px -18px rgb(40 50 120/.4)}
/* entrada ao trocar de tela */
.view.enter > *{animation:hubRise .55s var(--ease) both}
.view.enter > *:nth-child(2){animation-delay:.06s}.view.enter > *:nth-child(3){animation-delay:.12s}.view.enter > *:nth-child(4){animation-delay:.18s}.view.enter > *:nth-child(5){animation-delay:.24s}
.view.enter .qa{animation:hubPop .45s var(--ease) both;animation-delay:calc(.15s + var(--i,0) * 35ms)}
.view.enter .hm-3 > .panel:nth-child(2){animation:hubRise .55s .16s var(--ease) both}.view.enter .hm-3 > .panel:nth-child(3){animation:hubRise .55s .24s var(--ease) both}
.view.enter .kan .card,.view.enter .col .card{animation:hubRise .4s var(--ease) both}
@keyframes hubRise{from{opacity:.001;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes hubPop{from{opacity:.001;transform:translateY(8px) scale(.94)}to{opacity:1;transform:none}}
@keyframes hubSpin{to{transform:rotate(360deg)}}
@keyframes hubBlink{50%{opacity:.35}}
@keyframes hubPing{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--urgent) 45%,transparent)}70%,100%{box-shadow:0 0 0 7px transparent}}
.al-urgent .al-i::after{animation-name:hubRing}
@keyframes hubRing{0%{opacity:.7;transform:scale(.9)}80%,100%{opacity:0;transform:scale(1.35)}}
@media (max-width:860px){.hm-hero::before{right:-220px;top:-220px}}
.cchips{display:flex;gap:8px;flex-wrap:wrap;width:100%}
.cchip{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;border:0;border-radius:99px;background:var(--surface);color:var(--fg-2);font-weight:600;font-size:.82rem;box-shadow:0 1px 2px rgb(40 50 120/.05),0 6px 16px -12px rgb(40 50 120/.25);transition:transform .18s var(--ease),background .2s,color .2s,box-shadow .2s}
.cchip:hover{transform:translateY(-1px);color:var(--fg)}
.cchip[aria-pressed="true"]{background:var(--hero);color:#fff;box-shadow:0 10px 20px -12px var(--accent)}
.cc-dot{width:10px;height:10px;border-radius:50%;background:hsl(var(--h) 70% 55%);flex:none}
.cc-img{width:22px;height:22px;border-radius:50%;object-fit:cover;margin-left:-6px;flex:none}
.cc-n{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-c{min-width:22px;height:22px;padding:0 6px;border-radius:99px;display:grid;place-items:center;font-size:.7rem;background:var(--surface-2);color:var(--muted)}
.cchip[aria-pressed="true"] .cc-c{background:rgb(255 255 255/.22);color:#fff}
.cchip[aria-pressed="true"] .cc-dot{box-shadow:0 0 0 2px rgb(255 255 255/.7)}
@media (max-width:860px){.cchips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px 6px;width:calc(100% + 32px)}.cchips::-webkit-scrollbar{display:none}.cchip{flex:none}}
@media (prefers-reduced-motion:reduce){.cchip{transition:none}}
.card-ph{flex:none;border-radius:12px;border:2px dashed color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 7%,transparent)}
.card.floating{animation:none!important;position:fixed;z-index:200;margin:0;pointer-events:none;transform:rotate(var(--tilt,0deg)) scale(1.04);box-shadow:0 28px 50px -18px rgb(30 35 90/.45),0 0 0 2px var(--accent);cursor:grabbing;transition:transform .12s ease}
.card.floating.landing{transform:none;box-shadow:var(--shadow-md)}
.kan [data-drag]{touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab}
body.kd-on,body.kd-on *{cursor:grabbing!important;user-select:none}
.rqs{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.rq{border:1px solid var(--accent-line);background:var(--surface);color:var(--fg-2);border-radius:99px;padding:4px 11px;font-size:.76rem;font-weight:600;transition:background .2s,color .2s}
.rq:hover{color:var(--accent)}
.rq[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.card .t .rep{margin-left:6px;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;background:var(--accent-soft);color:var(--accent);font-size:.8rem;font-weight:700;vertical-align:1px}
.passos{margin:0 0 18px;padding:18px 18px 14px;border-radius:18px;background:var(--surface);box-shadow:0 1px 2px rgb(40 50 120/.04),0 8px 24px -16px rgb(40 50 120/.18);border:1.5px solid var(--accent-line)}
.ps-h{display:flex;align-items:center;gap:16px;margin-bottom:12px;flex-wrap:wrap}
.ps-h h2{font-size:1.02rem}
.ps-h p{margin:2px 0 0}
.ps-bar{flex:1;min-width:120px;height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden}
.ps-bar i{display:block;height:100%;border-radius:99px;background:var(--hero);transition:width .6s var(--ease)}
.ps-l{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ps{min-width:0;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--line);background:var(--canvas);border-radius:14px;padding:12px;transition:transform .2s var(--ease),border-color .2s,box-shadow .2s}
.ps:not(:disabled):hover{transform:translateY(-2px);border-color:var(--accent-line);box-shadow:0 12px 22px -16px var(--accent)}
.ps .ico{width:16px;height:16px;color:var(--muted);flex:none}
.ps-n{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;font:700 .85rem var(--f-display);background:var(--accent-soft);color:var(--accent)}
.ps.ok{opacity:.7}.ps.ok .ps-n{background:var(--ok);color:#fff}.ps.ok .ps-n .ico{color:#fff}.ps.ok .row-title{text-decoration:line-through}
.col-empty{padding:18px 8px;text-align:center;border:1.5px dashed var(--line);border-radius:12px}
.zero{display:grid;justify-items:center;text-align:center;gap:10px;padding:56px 20px;border-radius:22px;background:var(--surface);box-shadow:0 8px 24px -16px rgb(40 50 120/.18)}
.zero h2{font-size:1.3rem}.zero p{max-width:46ch;margin:0 0 6px}
.zero-ico{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:var(--hero);color:#fff;box-shadow:0 16px 30px -14px var(--accent)}
.zero-ico .ico{width:28px;height:28px}
.empty{border-radius:14px;padding:24px 16px}
@media (max-width:1100px){.ps-l{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.ps-l{grid-template-columns:1fr}}
.kbl{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.kbl div{display:flex;align-items:center;gap:10px}.kbl .kbd{min-width:44px;text-align:center}
.ps .row-title,.ps .row-sub{white-space:normal}
/* projetos */
.pj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.pj-card{display:flex;flex-direction:column;gap:10px;text-align:left;border:0;padding:16px 18px;border-radius:18px;background:var(--surface);color:var(--fg);font:inherit;cursor:pointer;
  box-shadow:0 1px 2px rgb(40 50 120/.04),0 8px 24px -16px rgb(40 50 120/.18);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.pj-card:hover{transform:translateY(-2px);box-shadow:0 18px 32px -20px var(--accent)}
.view.enter .pj-card{animation:hubPop .45s var(--ease) both;animation-delay:calc(.1s + var(--i,0) * 40ms)}
.pj-ct{display:flex;align-items:flex-start;gap:10px}.pj-ct b{flex:1;font:700 1.02rem/1.3 var(--f-display);min-width:0}
.pj-cs{font-size:.8rem;color:var(--muted)}
.pj-cp{display:flex;align-items:center;gap:10px}.pj-cp .pj-bar{flex:1}.pj-cp b{font-size:.86rem;min-width:3ch;text-align:right}
.pj-cf{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.76rem;color:var(--muted)}
.pj-late{color:var(--urgent);font-weight:600}
.pj-bar{height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden}
.pj-bar i{display:block;height:100%;border-radius:99px;background:var(--hero);transition:width .6s var(--ease)}
.pj-bar.sm{height:5px}.pj-bar.lg{height:10px}
.pj-bar[aria-valuenow="100"] i{background:linear-gradient(90deg,#2BB673,#16965A)}
.pj-hd{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 24px;align-items:center;padding:20px 22px;border-radius:22px;background:var(--surface);box-shadow:var(--shadow);margin:0 0 18px}
.pj-hd .pj-bar{grid-column:1/-1}
.pj-hm h1{margin:8px 0 4px;font-size:1.6rem;line-height:1.2}
.pj-meta{margin:0;color:var(--muted);font-size:.86rem}
.pj-desc{margin:10px 0 0;white-space:pre-wrap;max-width:70ch;font-size:.92rem}
.pj-hp{display:flex;align-items:center;gap:18px}
.pj-hs{display:flex;flex-direction:column;gap:4px;font-size:.82rem;color:var(--muted)}.pj-hs b{color:var(--fg);font-size:.95rem;margin-right:4px}
.pj-ring{--p:0;width:92px;height:92px;border-radius:50%;display:grid;place-content:center;text-align:center;flex:none;
  background:radial-gradient(closest-side,var(--surface) 78%,transparent 80% 100%),conic-gradient(var(--accent) calc(var(--p)*1%),var(--surface-2) 0)}
.pj-ring b{font:700 1.35rem/1 var(--f-display)}.pj-ring small{font-size:.7rem;color:var(--muted)}
.pj-ring.sm{width:58px;height:58px}.pj-ring.sm b{font-size:.92rem}
.pj-cols{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.pj-ets{display:flex;flex-direction:column;gap:10px;min-width:0}
.pj-et{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s}
.view.enter .pj-et{animation:hubPop .45s var(--ease) both;animation-delay:calc(.12s + var(--i,0) * 40ms)}
.pj-et.done{border-color:color-mix(in srgb,var(--ok) 35%,var(--line))}
.pj-et header{display:flex;align-items:center;gap:8px}
.pj-ck{flex:none;width:26px;height:26px;border-radius:9px;display:grid;place-items:center;border:1.5px solid var(--line);background:var(--surface-2);color:var(--muted);font:700 .78rem var(--f-display);padding:0}
button.pj-ck{cursor:pointer}button.pj-ck:hover{border-color:var(--ok);color:var(--ok)}
.pj-ck.on{background:var(--ok);border-color:var(--ok);color:#fff}.pj-ck .ico{width:14px;height:14px;stroke-width:2.6}
.pj-etn{flex:1;min-width:0;border:0;background:none;font:700 .98rem var(--f-display);color:var(--fg);padding:4px 6px;border-radius:8px}
.pj-etn:hover{background:var(--surface-2)}.pj-etn:focus{outline:2px solid var(--accent-line);background:var(--surface)}
.pj-etp{font-size:.78rem;color:var(--muted)}
.pj-eta{display:flex;gap:0;opacity:.35;transition:opacity .2s}.pj-et:hover .pj-eta,.pj-eta:focus-within{opacity:1}
.pj-eta .icon-btn{width:28px;height:28px}.pj-eta .icon-btn:disabled{opacity:.3}
.pj-its{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pj-its li{display:flex;align-items:center;gap:8px;padding:2px 0 2px 2px;border-radius:8px}
.pj-its li:hover{background:var(--surface-2)}
.pj-cb{flex:none;position:relative;display:grid;place-items:center;width:20px;height:20px;cursor:pointer;margin-left:3px}
.pj-cb input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.pj-cb span{width:18px;height:18px;border-radius:6px;border:1.5px solid color-mix(in srgb,var(--muted) 60%,transparent);display:grid;place-items:center;color:transparent;transition:background .2s,border-color .2s,transform .25s cubic-bezier(.34,1.56,.64,1)}
.pj-cb span .ico{width:12px;height:12px;stroke-width:3}
.pj-cb input:checked+span{background:var(--ok);border-color:var(--ok);color:#fff;transform:scale(1.08)}
.pj-cb input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.pj-itx{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:.9rem;color:var(--fg);padding:5px 4px;border-radius:6px}
.pj-itx:focus{outline:2px solid var(--accent-line);background:var(--surface)}
.pj-its li.ok .pj-itx{text-decoration:line-through;color:var(--muted)}
.pj-itd{width:26px;height:26px;opacity:0}.pj-its li:hover .pj-itd,.pj-itd:focus-visible{opacity:.7}
.pj-add,.pj-newet{display:flex;align-items:center;gap:8px;color:var(--muted);padding:4px 6px;border-radius:10px}
.pj-add .ico,.pj-newet .ico{width:15px;height:15px;flex:none}
.pj-add input,.pj-newet input{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:.88rem;color:var(--fg);padding:6px 2px}
.pj-add input:focus,.pj-newet input:focus{outline:none}
.pj-add:focus-within,.pj-newet:focus-within{background:var(--surface-2)}
.pj-newet{border:1.5px dashed var(--accent-line);border-radius:14px;padding:6px 8px 6px 12px}
.pj-side .panel-h h2{margin-right:auto}
.pj-anx{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:4px}
.pj-anx li{display:flex;align-items:center;gap:4px}
.pj-an{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:6px;border-radius:10px;color:var(--fg);text-decoration:none}
.pj-an:hover{background:var(--surface-2)}
.pj-ai{flex:none;width:38px;height:38px;border-radius:10px;overflow:hidden;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font:700 .62rem var(--f-display)}
.pj-ai img{width:100%;height:100%;object-fit:cover}.pj-ai .ico{width:16px;height:16px}
.pj-anx .icon-btn.armed{color:var(--urgent);background:var(--urgent-soft)}
.pj-anb{display:flex;gap:6px;flex-wrap:wrap}.pj-anb label{cursor:pointer}
.pj-anh{margin:8px 0 0;font-size:.74rem}
.pj-rep h3{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:16px 0 6px}
.pj-rh{display:flex;align-items:center;gap:12px;margin:0 0 10px}.pj-rh>div:first-child{flex:1;min-width:0;display:flex;flex-direction:column}.pj-rh b{font:700 1.05rem var(--f-display)}.pj-rh small{color:var(--muted)}
.pj-rn{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 0}
.pj-rn span{display:flex;flex-direction:column;padding:8px 10px;border-radius:12px;background:var(--surface-2);font-size:.74rem;color:var(--muted)}
.pj-rn b{font:700 1.15rem var(--f-display);color:var(--fg)}.pj-rn .ok b{color:var(--ok)}.pj-rn .no b{color:var(--warn)}
.pj-re{display:flex;flex-direction:column;gap:6px}
.pj-re>div{display:grid;grid-template-columns:minmax(0,1fr) 90px 40px;gap:10px;align-items:center;font-size:.86rem}
.pj-re>div>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pj-re b{text-align:right;font-size:.8rem;color:var(--muted)}
.pj-rl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.pj-rl li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:8px;align-items:center;padding:4px 0;font-size:.88rem;border-bottom:1px solid var(--line)}
.pj-rl li span{width:14px;height:14px;border-radius:4px;border:1.5px solid var(--muted);display:grid;place-items:center}
.pj-rl.ok li span{background:var(--ok);border-color:var(--ok);color:#fff}.pj-rl li span .ico{width:10px;height:10px;stroke-width:3}
.pj-rl b{font-weight:500}.pj-rl.ok b{color:var(--muted)}.pj-rl small{color:var(--muted);font-size:.72rem}
.pj-etd{flex:none;display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:8px;color:var(--muted);font-size:.76rem}
.pj-etd .ico{width:13px;height:13px}.pj-etd:hover{background:var(--surface-2)}
.pj-etd{position:relative;cursor:pointer}
.pj-etd input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0}
.pj-etd:focus-within{outline:2px solid var(--accent-line)}
.pj-etd.late{color:var(--urgent);background:var(--urgent-soft)}.pj-etd b{font-weight:700}
.pj-side{display:flex;flex-direction:column;gap:14px}
.pj-dms{display:flex;flex-direction:column;gap:2px;margin:0 0 10px}
.pj-dm{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:none;padding:7px 8px;border-radius:10px;color:var(--fg);font:inherit;cursor:pointer}
.pj-dm:hover{background:var(--surface-2)}
.tf-org{margin:0 0 10px}.tf-org button .num{margin-left:6px;opacity:.6;font-size:.78em}
.pj-re small{font-size:.74rem;color:var(--muted)}
@media (max-width:1000px){.pj-cols{grid-template-columns:1fr}}
@media (max-width:600px){.pj-hd{grid-template-columns:1fr;padding:16px}.pj-hp{justify-content:flex-start}.pj-hm h1{font-size:1.3rem}.pj-rn{grid-template-columns:repeat(2,1fr)}.pj-eta{opacity:1}.pj-itd{opacity:.6}.pj-re>div{grid-template-columns:minmax(0,1fr) 60px 36px}.pj-eta [data-act=pjEtMov]{display:none}.pj-et header{flex-wrap:wrap}.pj-etn{flex-basis:calc(100% - 110px)}.pj-etd{margin-left:28px}}
/* informações em lista */
.iclist{background:var(--surface);border-radius:16px;box-shadow:0 1px 2px rgb(40 50 120/.04),0 8px 24px -18px rgb(40 50 120/.18);overflow:hidden}
.icrow,.ichead{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) 28px;gap:16px;align-items:center;padding:12px 16px}
.ichead{font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);padding-block:10px 8px;border-bottom:1px solid var(--line-2)}
.icrow{cursor:pointer;border-bottom:1px solid var(--line-2);transition:background .15s}
.icrow:last-child{border-bottom:0}
.icrow:hover{background:var(--canvas)}
.icr-m{display:flex;flex-direction:column;gap:3px;min-width:0}
.icr-t{display:flex;align-items:center;gap:8px;min-width:0}.icr-t .row-title{min-width:0}.icr-t .pill{flex:none;height:20px;font-size:.68rem}
@media (max-width:860px){.icr-t{flex-wrap:wrap;gap:4px 8px}.icr-t .row-title{white-space:normal}}
.icr-c,.icr-l{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:.82rem;color:var(--fg-2)}
.icr-v{display:flex;align-items:center;gap:4px;min-width:0}.icr-v .copy{opacity:0;transition:opacity .15s}.icrow:hover .icr-v .copy,.icr-v .copy:focus-visible{opacity:1}
.icr-e,.icr-l a,.icr-l span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.icr-l a{color:var(--accent);text-decoration:none;font-weight:600}.icr-l a:hover{text-decoration:underline}
.icr-a{color:var(--faint);display:grid;place-items:center;opacity:0;transition:opacity .15s}.icr-a .ico{width:16px;height:16px}.icrow:hover .icr-a{opacity:1}
@media (max-width:760px){.ichead{display:none}.icrow{grid-template-columns:minmax(0,1fr);gap:6px;padding:12px 14px}.icr-c,.icr-l{flex-direction:row;flex-wrap:wrap;gap:4px 14px}.icr-c .muted,.icr-l .muted,.icr-a{display:none}.icr-v .copy{opacity:1}}
/* menu lateral recolhível: só os ícones */
.brand-t{min-width:0;flex:1}
.side-tg{flex:none;width:30px;height:30px;border:0;border-radius:9px;background:none;color:var(--faint);display:grid;place-items:center;transition:background .18s,color .18s}
.side-tg:hover{background:var(--surface-2);color:var(--fg)}
.app.sd-solid .side{background:var(--sd-bg);border-color:transparent}
.app.sd-solid .side .brand b{color:var(--sd-fg)}.app.sd-solid .side .brand small,.app.sd-solid .side .nav-sec{color:var(--sd-mu)}
.app.sd-solid .side .brand-mark{background:var(--sd-mk);box-shadow:none}.app.sd-solid .side .brand-mark::before,.app.sd-solid .side .brand-mark::after{background:var(--sd-bg)}
.app.sd-solid .side .side-tg{color:var(--sd-mu)}.app.sd-solid .side .side-tg:hover{background:var(--sd-hv);color:var(--sd-fg)}
.app.sd-solid .side .nav button{color:var(--sd-mu)}
.app.sd-solid .side .nav button:hover{background:var(--sd-hv);color:var(--sd-fg)}
.app.sd-solid .side .nav button[aria-current="page"]{background:var(--sd-ac);color:var(--sd-fg)}
.app.sd-solid .side .nav button[aria-current="page"]::after{background:var(--sd-fg);box-shadow:none}
.app.sd-solid .side-min .side .nav-sec,.app.sd-solid.side-min .side .nav-sec{background:var(--sd-ln)}
.app.sd-solid .side .me-card{border-color:var(--sd-ln)}.app.sd-solid .side .me-card .who b{color:var(--sd-fg)}.app.sd-solid .side .me-card .who .muted,.app.sd-solid .side .me-card > .ico{color:var(--sd-mu)}
.app.sd-solid .side .me-card:hover b{color:var(--sd-fg);text-decoration:underline}
.lado-sw .sw-clara{background:#fff!important;box-shadow:inset 0 0 0 1px var(--line)}
.lado-sw .sw-cor{position:relative}.lado-sw .sw-cor::after{content:"A";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:800;font-size:.7rem}
.lado-n{display:block;margin-top:6px}.side-tg .ico{width:18px;height:18px}
.side .brand{padding-right:14px}
.app{transition:grid-template-columns .28s var(--ease)}
@media (min-width:861px){
  .app.side-min{grid-template-columns:78px minmax(0,1fr)}
  .side-min .side{overflow-x:hidden}
  .side-min .side .brand{flex-direction:column;gap:12px;padding:0 0 14px}
  .side-min .brand-t{display:none}
  .side-min .side .nav-sec{font-size:0;padding:0;margin:10px 22px;height:1px;background:var(--line)}
  .side-min .side .nav button{justify-content:center;padding:12px 0;gap:0}
  .side-min .side .nav button > span{display:none}
  .side-min .side .nav button .ico{width:20px;height:20px}
  .side-min .side .me-wrap .me-card{width:auto;margin:0 10px;padding:14px 0 0;justify-content:center}
  .side-min .me-card .who,.side-min .me-card > .ico,.side-min .sup-lk span{display:none}
  .side-min .sup-lk{justify-content:center;padding:8px 0}
  .side-min .me-pop{position:fixed;left:88px;right:auto;bottom:24px;width:220px}
}
@media (max-width:860px){.side-tg{display:none}}
/* colunas: arrastar pelo título e menu da coluna */
.kan .col[data-drop]:not([data-drop=""]) > .col-h{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.col.col-lift{position:relative;z-index:3;transform:translateY(-4px) rotate(-.6deg)!important;box-shadow:0 22px 40px -18px rgb(30 35 90/.45),0 0 0 2px var(--tc,var(--accent));transition:box-shadow .15s}
body.cd-on,body.cd-on *{cursor:grabbing!important;user-select:none}
.colmenu{position:fixed;z-index:46;width:240px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:6px;animation:rise .16s var(--ease)}
.cm-h{display:flex;align-items:center;gap:8px;padding:8px 10px 6px;font-size:.88rem}
.cm-h b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.colmenu .mi{display:flex;align-items:center;gap:10px;border:0;background:none;padding:8px 10px;border-radius:9px;font-size:.85rem;font-weight:500;color:var(--fg-2);text-align:left}
.colmenu .mi:hover:not([disabled]){background:var(--surface-2);color:var(--fg)}
.colmenu .mi[disabled]{opacity:.4;cursor:default}
.colmenu .mi .ico{width:16px;height:16px}
.colmenu .mi.danger{color:var(--urgent)}.colmenu .mi.danger:hover{background:var(--urgent-soft);color:var(--urgent)}
.colmenu hr{border:0;border-top:1px solid var(--line);margin:4px 2px}
.cm-l{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--faint);padding:6px 10px 4px}
.cm-sw{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:2px 10px 8px;justify-items:center}
.cm-sw .sw{width:24px;height:24px}
.cm-sw .sw-auto{background:conic-gradient(#7B5CF6,#3D7BF2,#1FA67A,#E0A100,#EC4F86,#7B5CF6)}
.cm-note{margin:2px 10px 6px;font-size:.74rem;color:var(--muted);line-height:1.4}
/* acessos rápidos e minhas redes: ícone do site, sem cor, caixas alinhadas */
.hm-qa{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.qa-h{min-height:22px}
.qa{-webkit-touch-callout:none}
.qa-ico,.qa-rd .qa-ico{background:var(--surface);color:var(--fg-2);border:1px solid var(--line);box-shadow:0 1px 2px rgb(30 30 60/.06);font:600 .86rem var(--f-display)}
.qa-ico b{font:inherit}
.qa-ico:has(.qa-fav) b{display:none}
.qa-fav{width:20px;height:20px;border-radius:4px;display:block}
.qa:hover .qa-ico,.qa:focus-visible .qa-ico,.qa-rd:hover .qa-ico{transform:translateY(-3px);border-color:var(--accent-line);box-shadow:0 10px 18px -12px rgb(30 30 60/.45)}
.qa-add .qa-ico{border:1.5px dashed var(--accent-line);background:transparent}
.qm-d{padding-top:0;margin-top:-4px}
/* coluna arrastada flutua como as demandas; as outras abrem espaço */
.col.col-float{position:fixed;z-index:200;margin:0;pointer-events:none;overflow:hidden;transform:rotate(var(--tilt,0deg)) scale(1.03);box-shadow:0 30px 60px -20px rgb(30 35 90/.5),0 0 0 2px var(--tc,var(--accent));transition:transform .12s ease;-webkit-mask-image:linear-gradient(#000 78%,transparent);mask-image:linear-gradient(#000 78%,transparent)}
.col.col-float.landing{transform:none;transition:left .2s ease,top .2s ease,transform .2s ease}
.col-ph{border:2px dashed var(--accent-line);border-radius:var(--r);background:var(--accent-soft);min-height:220px}
div.hm-qa{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:860px){div.hm-qa{grid-template-columns:1fr}}
/* página inteira, sem a moldura arredondada em volta */
@media (min-width:861px){.app{margin:0;border-radius:0;border:0;box-shadow:none;height:100%}.side{border-right:1px solid var(--line)}}
/* Configurações: um "Salvar" por página e aviso ao sair sem salvar */
.cfg-save-pg{position:sticky;bottom:12px;z-index:5;margin:18px 0 0;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-md);background:var(--surface)}
.cfg-save-pg.on{border-color:var(--warn);background:var(--warn-soft)}
.cfg-save-pg:not(.on){position:static;box-shadow:none}
@media (max-width:860px){.cfg-save-pg{bottom:calc(72px + env(safe-area-inset-bottom,0px))}}
.cfg-foto .av.xl{margin-right:4px}
#cfgaviso .cfa-bg{position:fixed;inset:0;z-index:300;background:rgb(15 18 40/.45);animation:cfaBg .15s ease}
#cfgaviso .cfa{position:fixed;z-index:301;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,calc(100vw - 32px));background:var(--surface);border-radius:18px;padding:22px;box-shadow:var(--shadow-lg);animation:cfaIn .2s var(--ease)}
@keyframes cfaBg{from{opacity:0}}@keyframes cfaIn{from{opacity:0;transform:translate(-50%,-46%) scale(.97)}}
.cfa-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--warn-soft);color:var(--warn);margin-bottom:10px}
.cfa h2{margin:0 0 6px;font-size:1.1rem}.cfa p{margin:0 0 18px;color:var(--fg-2);font-size:.92rem;line-height:1.5}
.cfa-b{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:520px){.cfa-b{flex-direction:column-reverse}.cfa-b .btn{width:100%;justify-content:center}}
/* clientes em grade (até 3 por linha) e arraste flutuante */
.clgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:1100px){.clgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.clgrid{grid-template-columns:1fr}}
.clcard{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--surface);border-radius:16px;border:1px solid var(--line-2);box-shadow:0 1px 2px rgb(40 50 120/.04),0 8px 24px -18px rgb(40 50 120/.18);cursor:pointer;transition:box-shadow .2s,transform .2s,border-color .2s;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.clcard:hover{border-color:var(--accent-line);box-shadow:0 2px 4px rgb(40 50 120/.05),0 16px 32px -20px rgb(40 50 120/.32)}
.clcard[data-pdrag]{cursor:grab}
.clcard-h{display:flex;align-items:center;gap:12px;min-width:0}
.clcard-h .row-main{flex:1;min-width:0}
.clcard-h .cllogo{width:46px;height:46px;border-radius:13px}
.clcard-s{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:var(--canvas)}
.clcard-s .clc{flex-direction:row;align-items:baseline;gap:6px}
.clcard-f{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.78rem}
.clint{background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(135deg,var(--accent-line),transparent) border-box}
.clrow[data-pdrag]{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.cl-float{position:fixed!important;z-index:200;margin:0;pointer-events:none;transform:rotate(var(--tilt,0deg)) scale(1.04);box-shadow:0 28px 50px -18px rgb(30 35 90/.45),0 0 0 2px var(--accent)!important;transition:transform .12s ease;background:var(--surface);border-radius:16px}
.cl-float.landing{transform:none;transition:left .2s ease,top .2s ease,transform .2s ease}
.cl-ph{border:2px dashed var(--accent-line);border-radius:12px;background:var(--accent-soft)}
.cl-ph.g{border-radius:16px}
.clgrid>*{min-width:0}
.clcard-h .row-title,.clcard-h .row-sub{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.clcard .clacts{flex:none}
@media (max-width:700px){.clcard-s .clc{display:flex}}
/* página do cliente: barra lateral à direita */
.cli-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}
.cli-main{min-width:0}
.ficha.ficha-so{grid-template-columns:1fr}.ficha.ficha-so .ficha-side{border-left:0;background:var(--surface)}
.cli-aside{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto;background:var(--surface);border:1px solid var(--line-2);border-radius:18px;padding:16px 18px 18px;box-shadow:0 1px 2px rgb(40 50 120/.04),0 8px 24px -18px rgb(40 50 120/.18);scrollbar-width:thin}
.ca-top{display:flex;justify-content:space-between}
.ca-top .icon-btn{width:34px;height:34px;border-radius:50%;background:var(--canvas)}
.ca-id{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;margin:-6px 0 16px}
.ca-av{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:var(--tint,var(--accent-soft));color:var(--tdeep,var(--accent));font:700 1.6rem var(--f-display);box-shadow:0 0 0 4px var(--surface),0 0 0 5px var(--line-2);margin-bottom:8px}
.ca-av img{width:100%;height:100%;object-fit:cover}
.ca-id h2{font-size:1.05rem;margin:0}.ca-id p{margin:0;font-size:.82rem;color:var(--muted)}
.ca-sec{border-top:1px solid var(--line-2);padding:12px 0 4px;display:flex;flex-direction:column;gap:2px}
.ca-sec h3{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-weight:700;margin:0 0 6px}
.ca-i{display:flex;align-items:center;gap:12px;padding:7px 0;color:var(--fg-2);text-decoration:none;min-width:0}
.ca-ic{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--canvas);color:var(--faint)}
.ca-ic .ico{width:15px;height:15px}
.ca-ic b{font:600 .8rem var(--f-display);color:var(--fg-2)}.ca-ic:has(.qa-fav) b{display:none}.ca-ic .qa-fav{width:16px;height:16px}
.ca-v{display:flex;flex-direction:column;min-width:0;flex:1;font-size:.84rem}
.ca-v small{font-size:.68rem;color:var(--faint)}
.ca-v span,.ca-v a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ca-v a{color:var(--accent);text-decoration:none}
.ca-link:hover .ca-v span{color:var(--accent)}
.ca-i .copy{opacity:0;transition:opacity .15s}.ca-i:hover .copy,.ca-i .copy:focus-visible{opacity:1}
@media (hover:none){.ca-i .copy{opacity:1}}
.ca-add{display:flex;align-items:center;gap:8px;border:1.5px dashed var(--accent-line);background:none;border-radius:10px;padding:8px 10px;color:var(--accent);font-weight:600;font-size:.82rem;margin:4px 0}
.ca-kpi{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.ca-kpi div{background:var(--canvas);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column}
.ca-kpi b{font-size:1rem}.ca-kpi small{font-size:.7rem;color:var(--muted)}
.ca-rel{width:100%;justify-content:center}
.ca-obs{margin:0;font-size:.84rem;color:var(--fg-2);white-space:pre-wrap}
@media (max-width:1100px){.cli-wrap{grid-template-columns:1fr}.cli-aside{position:static;max-height:none}}
.cmp-sel{min-width:0;max-width:100%}.cmp-sel select{min-width:0}
.qa-vazio{align-self:center;font-size:.8rem;color:var(--muted)}
/* comparativo: dois meses quaisquer + evolução por período */
.cmp-sels{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.cmp-sels .cmp-sel{margin-left:0}
.cmp-sels .cmp-sel select{max-width:220px}
.cmp-swap{width:34px;height:34px;border-radius:10px;background:var(--canvas)}
.cmp-qk{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:-4px 0 12px}
.chip-s{border:1px solid var(--line);background:var(--surface);color:var(--fg-2);border-radius:99px;padding:4px 10px;font-size:.76rem;font-weight:600}
.chip-s:hover{border-color:var(--accent-line);color:var(--accent)}
.chip-s[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}
.ev-sub{margin:-2px 0 10px}
.pks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.pk{background:var(--canvas);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;min-width:0}
.pk small{font-size:.7rem;color:var(--muted);font-weight:600}.pk b{font-size:.95rem}.pk .dchip{align-self:flex-start}
.pk .small{font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk .dchip{margin-left:0}
@media (max-width:860px){.cmp-sels{margin-left:0;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px}.cmp-sels .cmp-sel{min-width:0}.cmp-sels .cmp-sel span{width:34px}.cmp-sels .cmp-sel select{max-width:none;width:100%;flex:1}.cmp-sels .cmp-sel:last-child{grid-column:1}.cmp-swap{grid-row:1/3;grid-column:2;align-self:center}
  .pk{padding:8px 9px}.pk b{font-size:.8rem}.pk .small{display:none}}
/* Lumi arrastável */
.pet-btn{touch-action:none}
.pet.pet-l{align-items:flex-start}.pet.pet-l .pet-b{transform-origin:34px 100%}
.pet.pet-t{flex-direction:column-reverse}.pet.pet-t .pet-b{transform-origin:calc(100% - 34px) 0}.pet.pet-t.pet-l .pet-b{transform-origin:34px 0}
.pet.pet-drag .pet-btn{animation:none;cursor:grabbing;transform:scale(1.08) rotate(-4deg);filter:drop-shadow(0 18px 22px rgb(60 70 180/.4))}
.pet.pet-drag{transition:none}
.pet-svg{transform-origin:50% 12%;transition:transform .5s cubic-bezier(.3,1.9,.5,1)}
.pet.pet-drag .pet-svg{transition:transform .12s ease-out}
.pet-svg{position:relative}
.pet-svg svg.lu-sai{position:absolute;inset:0;animation:luSai .42s ease forwards;pointer-events:none}
.pet-svg svg.lu-entra{animation:luEntra .42s ease}
@keyframes luSai{to{opacity:0;transform:scale(.96)}}
@keyframes luEntra{from{opacity:0;transform:scale(1.04)}}
.pet.pet-zonza .pet-svg{animation:luZonza 2.2s ease-out}
@keyframes luZonza{0%{transform:rotate(12deg)}18%{transform:rotate(-10deg)}36%{transform:rotate(7deg)}54%{transform:rotate(-5deg)}72%{transform:rotate(3deg)}88%{transform:rotate(-1deg)}100%{transform:rotate(0)}}
.pet.pet-drag .lu-body,.pet.pet-drag .pet-btn:hover .lu-body{transform:none}
.lu-spin{transform-box:fill-box;transform-origin:center;animation:luSpin .9s linear infinite}
.lu-orb{transform-box:view-box;transform-origin:40px 20px;animation:luOrb 1.4s linear infinite}
.lu-woo{transform-box:fill-box;transform-origin:center;animation:luWoo .28s ease-in-out infinite alternate}
.lu-mv{animation:luMv .3s ease-in-out infinite alternate}
.lu-ph{animation:luPh 1.2s ease-out forwards}
@keyframes luSpin{to{transform:rotate(360deg)}}
@keyframes luOrb{0%{transform:rotate(0) translateX(0)}50%{transform:rotate(14deg) translateX(3px)}100%{transform:rotate(0) translateX(0)}}
@keyframes luWoo{from{transform:scaleY(.8)}to{transform:scaleY(1.12)}}
@keyframes luMv{from{opacity:.35}to{opacity:1}}
@keyframes luPh{0%{opacity:0;transform:translate(-4px,0) scale(.6)}30%{opacity:.9}100%{opacity:0;transform:translate(6px,-3px) scale(1.15)}}
#petmenu .colmenu{z-index:60}
/* seletor de mês em grade */
.mp-w{position:relative}
.mp-b{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-width:170px;height:34px;padding:0 10px 0 12px;font-weight:600;cursor:pointer;text-align:left}
.mp-b .ico{width:14px;height:14px;color:var(--muted);transition:transform .2s}
.mp-b[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.mp-b[aria-expanded=true] .ico{transform:rotate(180deg)}
.mp-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:252px;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);animation:rise .16s var(--ease)}
.mp-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.mp-h b{font-size:.95rem}
.mp-h .icon-btn[disabled]{opacity:.3}
.mp-g{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.mp-m{height:38px;border:1px solid var(--line-2);background:var(--canvas);border-radius:10px;font-weight:600;font-size:.82rem;color:var(--fg-2);text-transform:capitalize;cursor:pointer}
.mp-m:hover:not([disabled]){border-color:var(--accent-line);color:var(--accent)}
.mp-m.on{background:var(--accent);border-color:var(--accent);color:#fff}
.mp-m.outro{box-shadow:inset 0 0 0 1.5px var(--accent-line)}
.mp-m.hoje:not(.on){color:var(--accent)}
.mp-m[disabled]{opacity:.35;cursor:default}
@media (max-width:860px){.mp-b{min-width:0;width:100%}.mp-w{flex:1}.mp-pop{left:0;right:auto;width:min(252px,calc(100vw - 64px))}}
/* barra do cliente retrátil e links livres */
.ca-top{gap:6px;align-items:center}.ca-top .sp{flex:1}
.cli-wrap{transition:grid-template-columns .28s var(--ease)}
.cli-wrap.ca-off{grid-template-columns:minmax(0,1fr) 60px}
.cli-aside.ca-min{padding:10px 0;display:flex;flex-direction:column;align-items:center;gap:8px}
.cli-aside.ca-min .icon-btn{width:36px;height:36px;border-radius:50%;background:var(--canvas)}
.ca-av.sm{width:40px;height:40px;font-size:.8rem;box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--line-2);margin:2px 0 4px}
.ca-mini{text-decoration:none;width:36px;height:36px;border-radius:50%}
.lk-l{display:flex;flex-direction:column;gap:8px}
.lk-r{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr) 34px;gap:8px;align-items:center}
.lk-add{margin-top:8px;align-self:flex-start}
.lk-l:empty{display:none}
@media (max-width:1100px){.cli-wrap.ca-off{grid-template-columns:1fr}.cli-aside.ca-min{flex-direction:row;flex-wrap:wrap;padding:8px 12px;justify-content:flex-start}.cli-aside.ca-min .ca-tg .ico{transform:rotate(90deg)}.ca-top .ca-tg .ico{transform:rotate(-90deg)}}
@media (max-width:520px){.lk-r{grid-template-columns:minmax(0,1fr) 34px}.lk-r .lk-u{grid-column:1}.lk-r .icon-btn{grid-row:1/3;grid-column:2}}
/* selecionar demandas */
.sel-tg{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-weight:600}.sel-tg .ico{width:14px;height:14px}
.sel-tg.on{background:var(--accent-soft);color:var(--accent)}
.cdem .sec-h .sel-tg+*{margin-left:0}
.cf-w{position:relative}
.cf-b svg{width:13px;height:13px}
.cf-dot{width:8px;height:8px;border-radius:50%;background:var(--tc,var(--faint));flex:none}
.seg button[aria-pressed="true"] .cf-dot{box-shadow:0 0 0 2px #fff}
.cf-pop{position:absolute;left:0;top:calc(100% + 6px);z-index:30;min-width:220px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);animation:rise .16s var(--ease);display:grid;gap:2px}
.cf-it{display:flex;align-items:center;gap:10px;border:0;background:none;padding:8px 10px;border-radius:9px;font-size:.84rem;font-weight:600;color:var(--fg);text-align:left;cursor:pointer}
.cf-it:hover{background:var(--surface-2)}
.cf-it.on{background:var(--accent-soft);color:var(--accent)}
.cf-it .cf-n{flex:1}
.selmode .card,.selmode tr[data-id]{position:relative;cursor:pointer}
.selmode .card{padding-right:44px}
.selmode .card::after{content:"";position:absolute;right:14px;top:50%;margin-top:-9px}
.selmode .card::after,.selck{display:block;width:18px;height:18px;border-radius:5px;border:2px solid var(--muted);background:var(--surface);opacity:.75;transition:all .15s;pointer-events:none}
.selmode .card:hover::after,.selmode tr[data-id]:hover .selck{opacity:1;border-color:var(--accent)}
.tbl .selcol{position:sticky;right:0;width:48px;padding:9px 16px 9px 12px;background:var(--surface);box-shadow:-8px 0 10px -8px rgba(0,0,0,.12)}.tbl th.selcol{background:var(--canvas)}
.tbl tbody tr:hover .selcol{background:var(--canvas)}
.selmode .card.picked{box-shadow:0 0 0 2px var(--accent),var(--shadow-md);background:var(--accent-soft)}
.selmode .card.picked::after,.selmode tr.picked .selck{background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/12px no-repeat;border-color:var(--accent);opacity:1}
.selmode tr.picked td{background:var(--accent-soft)}
#modal textarea#f-msg{min-height:240px;font-size:.86rem;line-height:1.5}
.selbar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:45;display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:min(820px,calc(100vw - 32px));padding:10px 12px 10px 16px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg)}
.selbar.sb-novo{animation:sbIn .22s var(--ease)}
@keyframes sbIn{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
.selbar .sp{flex:1}.sb-n{font-size:.88rem}
body:has(#modal.open) .selbar{display:none}
.selbar .btn,.selbar .sb-n{white-space:nowrap}
@media (max-width:860px){.selbar{bottom:calc(72px + env(safe-area-inset-bottom,0px));gap:6px}.selbar .sp{display:none}.selbar .btn{flex:1}}
.pg-tag{display:inline-flex;align-items:center;padding:1px 7px;border-radius:99px;background:var(--ok-soft,rgb(22 163 74/.12));color:var(--ok);font-size:.68rem;font-weight:700}
.pg-tag.fora{background:var(--canvas);color:var(--muted);border:1px dashed var(--line)}
/* fim camada hub */
@media (prefers-reduced-motion:reduce){.hm-hero::before,.nbadge,.hm-clock::before,.al-urgent .al-i::after{animation:none}.view.enter > *,.view.enter .qa,.view.enter .card,.view.enter .hm-3 > .panel{animation:none!important}}
/* nota fiscal: acesso gov.br em destaque, certificado como alternativa */
.nfse{display:grid;background:var(--surface);border-radius:16px;box-shadow:0 1px 2px rgb(40 50 120/.04),0 8px 24px -16px rgb(40 50 120/.18);margin:0 0 18px;overflow:hidden}
.nfse-gov{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:22px 24px;border-top:4px solid #168821}
.nfse-gov h2{font-size:1.15rem}.nfse-gov p{margin:0;color:var(--fg-2);max-width:52ch}.nfse-gov small{color:var(--muted);font-size:.74rem}
.govbr{display:inline-flex;align-items:center;gap:7px;margin-top:6px;height:46px;padding:0 30px;border-radius:999px;border:1.5px solid #1351B4;background:#fff;color:#1351B4;font-size:1.02rem;font-weight:500;text-decoration:none;transition:background .18s,box-shadow .18s,transform .12s}
.govbr b{font-weight:800;font-size:1.12rem;letter-spacing:-.02em}.govbr .g1{color:#1351B4}.govbr .g2{color:#FFCD07}.govbr .g3{color:#168821}
.govbr:hover{background:#EEF4FC;box-shadow:0 8px 18px -10px #1351B4}.govbr:active{transform:translateY(1px)}
.govbr:focus-visible{outline:3px solid #FFCD07;outline-offset:2px}
.hm-split{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:16px;margin:0 0 18px;align-items:stretch}
.hm-split>.passos,.hm-split>.nfse{margin:0}
.hm-split .ps-l{grid-template-columns:1fr 1fr}
.hm-split .nfse-gov{height:100%;justify-content:center}
@media (max-width:1000px){.hm-split{grid-template-columns:1fr}}
@media (max-width:600px){.hm-split .ps-l{grid-template-columns:1fr}}
/* propostas */
.prop-sum{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 14px;color:var(--muted);font-size:.84rem}.prop-sum b{color:var(--fg);font-size:1rem}
.prop-list{display:flex;flex-direction:column;gap:8px}
.prop-row{display:flex;align-items:center;gap:14px;width:100%;border:0;text-align:left;background:var(--surface);border-radius:14px;padding:12px 16px;box-shadow:0 1px 2px rgb(40 50 120/.04),0 8px 24px -16px rgb(40 50 120/.18);transition:transform .2s var(--ease),box-shadow .2s}
.prop-row:hover{transform:translateY(-1px);box-shadow:0 14px 28px -18px var(--accent)}
.prop-n{font-size:.72rem;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:7px;padding:3px 8px;white-space:nowrap}
.prop-v{font-weight:700;font-size:.86rem;white-space:nowrap}
.pe{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;align-items:start}
.pe-ed{display:flex;flex-direction:column;gap:14px;min-width:0}
.pe-ed .panel{padding:16px 18px}
.pe-g{padding:0;gap:12px 14px}
.pe-cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.pe-tg{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border-radius:11px;border:1.5px solid var(--line);background:var(--surface);font-weight:600;font-size:.85rem;color:var(--fg-2);transition:all .18s var(--ease)}
.pe-tg .cdot{width:9px;height:9px;border-radius:50%;background:var(--tc)}
.pe-tg .ico{width:15px;height:15px}
.pe-tg[aria-pressed="true"]{border-color:var(--tc);background:var(--tint);color:var(--fg)}
.pe-cat{border-top:1px dashed var(--line);padding-top:12px;margin-top:12px}
.pe-ch{display:flex;align-items:center;gap:8px;margin-bottom:8px}.pe-ch h3{font-size:.92rem;margin-right:auto}.pe-ch .cdot{width:9px;height:9px;border-radius:50%;background:var(--tc)}
.pe-its{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.pe-ih,.pe-it{display:grid;grid-template-columns:minmax(0,1fr) 64px 104px 92px 30px;gap:8px;align-items:center}
.pe-ih{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:0 2px}
.pe-ih span:nth-child(n+2){text-align:right}
.pe-it{background:var(--canvas);border-radius:11px;padding:7px}
.pe-it .input{height:34px;box-shadow:none;font-size:.84rem;padding:0 9px}
.pe-it .input.num{text-align:right}
.pe-nm{display:flex;flex-direction:column;gap:4px;min-width:0}
.pe-nm .pe-desc{height:28px;font-size:.76rem;color:var(--muted);background:transparent;border-color:transparent}
.pe-nm .pe-desc:focus{background:var(--surface)}
.pe-sub{text-align:right;font-weight:700;font-size:.82rem}
.pe-add{display:flex;flex-wrap:wrap;gap:6px}
.pe-chip{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 11px;border-radius:99px;border:1px solid var(--line);background:var(--surface);font-size:.78rem;font-weight:600;color:var(--fg-2);transition:all .15s}
.pe-chip .ico{width:13px;height:13px;color:var(--tc)}
.pe-chip:hover{border-color:var(--tc);color:var(--fg);background:var(--tint)}
.pe-own{border-style:dashed}
.pe-sw{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:var(--canvas);margin-bottom:12px;cursor:pointer}
.pe-sw input{width:18px;height:18px;margin-top:2px;accent-color:var(--accent);flex:none}
.pe-sw b{display:block;font-size:.86rem}.pe-sw small{display:block;color:var(--muted);font-size:.76rem}
.pe-mh{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;padding:0;text-align:left}.pe-mh h2{margin-right:auto}.pe-mh .ico{width:16px;height:16px;color:var(--muted);transform:rotate(90deg)}
.pe-mh[aria-expanded="true"]{margin-bottom:12px}
.pe-cores{display:flex;gap:7px;flex-wrap:wrap;padding-top:3px}
.pe-cor{width:28px;height:28px;border-radius:50%;border:0;background:var(--c);box-shadow:0 0 0 2px var(--surface),0 0 0 3px transparent;transition:box-shadow .15s}
.pe-cor.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--c)}
.pe-pv{position:sticky;top:96px;min-width:0;max-height:calc(100vh - 120px);overflow:auto;padding:2px 4px 16px;margin:0 -4px}
.pe-pvh{margin:0 0 8px 4px}
/* folha da prévia: imita o PDF A4 */
.pp{--pc:#5468E7;background:#fff;color:#1D2140;border-radius:6px;box-shadow:0 20px 50px -28px rgb(30 40 90/.45),0 0 0 1px rgb(30 40 90/.06);overflow:hidden;font-size:.8rem;line-height:1.45}
.pp-h{display:flex;align-items:center;gap:12px;background:var(--pc);color:#fff;padding:18px 20px}
.pp-h b{display:block;font-size:1.05rem;font-family:var(--f-display)}.pp-h span{font-size:.74rem;opacity:.9}
.pp-hn{margin-left:auto;text-align:right}.pp-hn span{display:block;font-size:.58rem;letter-spacing:.1em;opacity:.85}.pp-hn b{font-size:.9rem}
.pp-b{padding:16px 20px 6px}
.pp-to span,.pp-l{display:block;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:#676E93;font-weight:700}
.pp-to b{display:block;font-size:1.05rem;font-family:var(--f-display)}.pp-to em{display:block;font-style:normal;color:#676E93}
.pp-dt{display:flex;justify-content:space-between;gap:8px;color:#676E93;font-size:.7rem;margin:4px 0 12px}
.pp-sec{margin:0 0 12px}
.pp-sec h4{margin:0 0 5px;font-size:.84rem;padding-left:8px;border-left:3px solid var(--pc)}.pp-sec h4 small{color:#676E93;font-weight:500}
.pp table{width:100%;border-collapse:collapse;font-size:.78rem}
.pp td b{font-size:inherit;font-weight:700}
.pp th{font-size:.58rem;letter-spacing:.06em;text-transform:uppercase;color:#676E93;text-align:left;background:color-mix(in srgb,var(--pc) 8%,#fff);padding:5px 6px}
.pp td{padding:5px 6px;border-bottom:1px solid #E5E8F4;vertical-align:top}
.pp td small{display:block;color:#676E93;font-size:.68rem}
.pp .r{text-align:right;white-space:nowrap}
.pp-vazio{color:#98A2B3;text-align:center;padding:18px 0;border:1px dashed #E5E8F4;border-radius:8px}
.pp-inv{background:color-mix(in srgb,var(--pc) 8%,#fff);border-radius:8px;padding:10px 12px;margin:4px 0 12px}
.pp-inv .pp-l{color:var(--pc);margin-bottom:4px}
.pp-inv div{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:3px 0}
.pp-inv div span{color:#676E93}.pp-inv div b{font-size:.98rem}.pp-inv small{font-size:.66rem;color:#676E93;font-weight:500}
.pp-ger{border-top:1px solid var(--pc);margin-top:3px;padding-top:6px!important}.pp-ger b{color:var(--pc);font-size:1.08rem!important}
.pp-tx{margin:0 0 10px}.pp-tx .pp-l{color:var(--pc)}.pp-tx p{margin:2px 0 0;white-space:pre-wrap}
.pp-f{display:flex;flex-wrap:wrap;gap:4px 12px;border-top:1px solid #E5E8F4;padding:10px 20px 14px;font-size:.66rem;color:#676E93}.pp-f b{color:#1D2140}
@media (max-width:1180px){.pe{grid-template-columns:1fr}.pe-pv{position:static}}
@media (max-width:600px){.pe-ih{display:none}.pe-it{grid-template-columns:1fr 1fr 30px}.pe-nm{grid-column:1/-1}.pe-sub{grid-column:1/3;text-align:left}.pe-it>.icon-btn{grid-column:3;grid-row:3}}
/* minhas redes: carrossel no Início ao lado dos acessos rápidos */
.hm-qa{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:8px 22px;align-items:start;margin:0 0 12px}
.hm-qa>.qa-sec{margin:0}
a.btn.sm{text-decoration:none}
@media (max-width:860px){.hm-qa{grid-template-columns:1fr}}
/* Lumi: personagem que avisa atrasos, lembretes e novidades */
.pet{position:fixed;right:26px;bottom:26px;z-index:42;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}
.pet > *{pointer-events:auto}
.pet-btn{position:relative;width:78px;height:78px;border:0;padding:0;background:none;cursor:pointer;animation:petFloat 3.6s ease-in-out infinite;filter:drop-shadow(0 12px 16px rgb(60 70 180/.32))}
.pet-svg,.pet-svg svg{display:block;width:100%;height:100%;overflow:visible}
.pet-btn:hover{animation-play-state:paused}
.lu-body{transform-origin:50% 75%;transition:transform .25s var(--ease)}
.pet-btn:hover .lu-body{transform:scale(1.05) rotate(-3deg)}
.pp{transition:transform .25s var(--ease)}
.lu-eye{transform-box:fill-box;transform-origin:center;animation:petBlink 4.8s infinite}
.lu-glow{animation:petGlow 2.4s ease-in-out infinite}
.lu-zz text{animation:luZz 2.6s ease-in-out infinite}.lu-zz text+text{animation-delay:.6s}
.lu-spk path{transform-box:fill-box;transform-origin:center;animation:luSpk 1.6s ease-in-out infinite}.lu-spk path+path{animation-delay:.5s}
.lu-mo{transform-box:fill-box;transform-origin:center}
.pet-btn.react{animation:luSquash .5s var(--ease),petFloat 3.6s ease-in-out .5s infinite}
.pet.alerta .pet-btn{animation:petHop .9s var(--ease) 3,petFloat 3.6s ease-in-out 2.7s infinite}
.pet-n{position:absolute;top:2px;right:0;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:var(--urgent);color:#fff;font:700 .72rem/22px var(--f-body);text-align:center;box-shadow:0 0 0 3px var(--canvas)}
.pet-b{position:relative;width:min(350px,calc(100vw - 32px));max-height:min(70vh,560px);overflow:auto;background:var(--surface);border-radius:18px;padding:16px 16px 12px;box-shadow:var(--shadow-lg),0 0 0 1px var(--line);transform-origin:calc(100% - 34px) 100%;animation:petPop .32s var(--ease)}
.pet-b-h{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}
.pet-b-h p{margin:0;flex:1;font-size:.9rem;line-height:1.5;color:var(--fg)}
.pet-b-h p small{display:block;font-size:.7rem;font-weight:700;letter-spacing:.06em;color:var(--accent);margin-bottom:2px}
.pet-mood{font-weight:600;letter-spacing:0;color:var(--muted)}
.pet-agora{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--hero);color:#fff;margin-bottom:8px;font-size:.86rem}
.pet-agora b{display:block}
.pet-agora .ico{flex:none}
.pet-l{display:flex;flex-direction:column;gap:4px}
.pet-i{display:flex;align-items:center;gap:10px;width:100%;border:0;background:var(--canvas);text-align:left;padding:8px 10px;border-radius:11px;transition:background .15s}
.pet-i:hover{background:var(--surface-2)}
.pet-i .pi{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none;color:#fff;background:var(--accent)}
.pet-i .pi .ico{width:15px;height:15px}
.pet-i.urgent .pi{background:var(--urgent)}.pet-i.warn .pi{background:var(--c3)}.pet-i.money .pi{background:var(--c5)}.pet-i.lemb .pi{background:var(--c1)}
.pet-i > .ico{width:15px;height:15px;color:var(--faint)}
.pet-f{position:sticky;bottom:-12px;display:flex;gap:6px;flex-wrap:wrap;margin:12px -16px -12px;padding:10px 16px 12px;border-top:1px solid var(--line-2);background:var(--surface)}
.pet-f .sp{flex:1}
/* configurações da personagem */
.lu-cfg{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;align-items:center;margin-bottom:6px}
.lu-prev{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px;border-radius:16px;background:var(--canvas);text-align:center}
.lu-big{width:120px;height:120px;animation:petFloat 3.6s ease-in-out infinite}.lu-big svg{width:100%;height:100%;overflow:visible}
.lu-side .cfg-row:first-child{border-top:0}
.lu-opts{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.lu-opt{display:flex;flex-direction:column;align-items:center;gap:4px;width:92px;padding:10px 6px 8px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);font-size:.74rem;font-weight:600;color:var(--fg-2);transition:border-color .15s,background .15s,transform .15s}
.lu-opt:hover{transform:translateY(-2px)}
.lu-opt[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.lu-opt svg{width:52px;height:52px;overflow:visible}
.lu-day{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;margin-top:10px}
.lu-d{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border-radius:14px;background:var(--canvas);text-align:center}
.lu-d svg{width:54px;height:54px;overflow:visible}
.lu-d b{font-size:.78rem}
@keyframes petFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes petBlink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@keyframes petGlow{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes petHop{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-14px) rotate(-6deg)}60%{transform:translateY(0) rotate(5deg)}}
@keyframes luSquash{0%{transform:scale(1)}25%{transform:scale(1.15,.82)}55%{transform:scale(.9,1.14) translateY(-10px)}80%{transform:scale(1.04,.97)}100%{transform:none}}
@keyframes luZz{0%{opacity:0;transform:translateY(4px)}40%{opacity:1}100%{opacity:0;transform:translateY(-6px)}}
@keyframes luSpk{0%,100%{transform:scale(.6);opacity:.5}50%{transform:scale(1.15);opacity:1}}
@keyframes petPop{from{opacity:0;transform:scale(.85) translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:860px){.pet{right:auto;left:14px;bottom:calc(78px + env(safe-area-inset-bottom,0px));align-items:flex-start}.pet-btn{width:60px;height:60px}.pet-b{transform-origin:28px 100%}}
@media (max-width:600px){.lu-cfg{grid-template-columns:1fr}}
@media print{.pet{display:none}}
@media (prefers-reduced-motion:reduce){.pet-svg svg.lu-sai,.pet-svg svg.lu-entra,.pet.pet-zonza .pet-svg,.lu-spin,.lu-orb,.lu-woo,.lu-mv,.pet-svg,.pet-btn,.lu-eye,.lu-glow,.pet.alerta .pet-btn,.pet-b,.lu-big,.lu-zz text,.lu-spk path,.pet-btn.react{animation:none}}
/* financeiro: aba recorrentes */
/* financeiro: barra de seções no topo e painel geral */
.fin-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:6px;margin:0 0 16px;background:var(--surface);border-radius:18px;box-shadow:0 1px 2px rgb(40 50 120/.04),0 8px 24px -16px rgb(40 50 120/.18)}
.fin-dock button{display:flex;align-items:center;gap:10px;min-width:0;border:0;background:none;padding:10px 12px;border-radius:13px;text-align:left;color:var(--fg-2);transition:background .18s var(--ease),color .18s,transform .15s}
.fin-dock button:hover{background:var(--canvas)}
.fin-dock button[aria-pressed="true"]{background:var(--accent);color:#fff;box-shadow:0 10px 20px -12px var(--accent)}
.fd-i{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex:none;background:var(--canvas);color:var(--accent)}
.fd-1 .fd-i{color:var(--ok)}.fd-2 .fd-i{color:var(--urgent)}.fd-3 .fd-i{color:var(--c1)}
.fin-dock button[aria-pressed="true"] .fd-i{background:rgb(255 255 255/.2);color:#fff}
.fd-t{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.fd-t b{font-size:.88rem}.fd-t span{font-size:.74rem;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fin-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.fin-g .row b.num{flex:none;font-size:.85rem}
.ph-ico{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--g,var(--accent));color:#fff;flex:none}.ph-ico .ico{width:15px;height:15px}
.fin-rs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.fin-rs div{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:12px;background:var(--canvas)}
.fin-rs b{font-size:1.05rem}
.fcat{display:flex;flex-direction:column;gap:10px}
.fcat-r{display:grid;grid-template-columns:140px minmax(0,1fr) auto;gap:12px;align-items:center;font-size:.84rem}
.fcat-n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.fcat-b{height:8px;border-radius:8px;background:var(--surface-2);overflow:hidden}.fcat-b i{display:block;height:100%;border-radius:8px;background:var(--g,var(--tc))}
.fin-gt{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.fin-gt > .panel{margin-top:0!important}
/* financeiro: comparativo e relatório comparativo */
.fin-cmp{grid-column:1/-1}
.fin-cmp .panel-h{flex-wrap:wrap}
.cmp-sel{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--muted);font-weight:600}
.cmp-sel select{width:auto;max-width:300px;height:34px}
.cmp-res{margin:0 0 14px;padding:10px 14px;border-radius:12px;background:var(--canvas);font-size:.86rem;color:var(--fg-2)}
.cmp-res b{color:var(--fg)}
.cmp-g{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;align-items:start}
.cmp-rows{display:flex;flex-direction:column;gap:12px}
.cmp-r{display:flex;flex-direction:column;gap:4px}
.cmp-h{display:flex;align-items:center;gap:8px;font-size:.84rem}
.cmp-l{display:grid;grid-template-columns:48px minmax(0,1fr) 104px;gap:10px;align-items:center;font-size:.8rem}
.cmp-m{color:var(--muted);font-weight:600;font-size:.72rem;text-transform:capitalize}
.cmp-l b{text-align:right;font-size:.82rem}
.cmp-l.c-was b{color:var(--muted);font-weight:600}
.cmp-b{height:10px;border-radius:6px;background:var(--surface-2);overflow:hidden}
.cmp-b i{display:block;height:100%;border-radius:6px;background:var(--g,var(--tc));transition:width .6s var(--ease)}
.cmp-l.c-was .cmp-b i{background:color-mix(in srgb,var(--tc) 32%,var(--surface-2))}
.cmp-b i.neg{background:var(--urgent)}.cmp-l.c-was .cmp-b i.neg{background:color-mix(in srgb,var(--urgent) 35%,var(--surface-2))}
.dchip{margin-left:auto;display:inline-flex;align-items:center;gap:3px;height:22px;padding:0 8px;border-radius:7px;font-size:.72rem;font-weight:700;white-space:nowrap}
.dchip.good{background:var(--ok-soft);color:var(--ok)}.dchip.bad{background:var(--urgent-soft);color:var(--urgent)}.dchip.eq{background:var(--surface-2);color:var(--muted)}
.tbl .dchip{margin-left:0}
.cmp-ev{display:flex;flex-direction:column;min-width:0}
.cmp-evh{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:.84rem}.cmp-evh .viewsw{margin-left:auto}
.ev-ch{display:grid;grid-template-columns:repeat(var(--n),minmax(30px,1fr));gap:4px;height:190px;overflow-x:auto;padding-top:6px}
.ev-m{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;border:0;background:none;padding:4px 2px 0;border-radius:10px;cursor:pointer;min-width:0}
.ev-m:hover{background:var(--canvas)}
.ev-m.cur{background:var(--accent-soft);cursor:default}
.ev-m.alvo{box-shadow:inset 0 0 0 1.5px var(--accent)}
.ev-b{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:2px}
.ev-b i{width:26%;max-width:12px;min-height:2px;border-radius:4px 4px 1px 1px;transition:height .6s var(--ease)}
.ev-b i.r,.ev-lg i.r{background:var(--ok)}.ev-b i.g,.ev-lg i.g{background:var(--urgent);opacity:.85}.ev-b i.f,.ev-lg i.f{background:var(--c3)}
.ev-lg i.a{background:none;box-shadow:inset 0 0 0 1.5px var(--accent)}
.ev-lg{flex-wrap:wrap}
.ev-l{font-size:.7rem;color:var(--muted);font-weight:600;text-transform:capitalize}
.ev-m.cur .ev-l{color:var(--accent)}
.cmp-f{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line-2)}
.cmp-f .btn{margin-left:auto}
/* relatório */
.rel-pick .panel-h{flex-wrap:wrap}.rel-pick .panel-h .btn{margin-left:auto}
.rel-q{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.rel-y{display:flex;align-items:center;gap:12px;margin-top:8px}
.rel-y > b{width:40px;font-size:.82rem;color:var(--muted)}
.rel-ms{display:flex;flex-wrap:wrap;gap:6px}
.rel-ms button{height:32px;min-width:48px;padding:0 10px;border-radius:9px;border:1px solid var(--line);background:var(--surface);font-weight:600;font-size:.8rem;color:var(--fg-2);text-transform:capitalize}
.rel-ms button:hover{border-color:var(--accent)}
.rel-ms button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.rel-st{margin-top:16px}
.rel-ch{display:grid;grid-template-columns:repeat(var(--n),minmax(44px,1fr));gap:6px;height:210px;overflow-x:auto;padding-top:4px}
.rel-m{display:flex;flex-direction:column;align-items:center;gap:5px;height:100%;min-width:0}
.rel-sv{font-size:.68rem;font-weight:700;white-space:nowrap}
.rel-m .ev-b i{width:30%;max-width:16px}
.rel-tbl{margin-top:16px}
.rel-tbl tfoot td{border-top:2px solid var(--line);background:var(--canvas)}
.rel-g{margin-top:16px}
.rel-b{grid-template-columns:minmax(0,170px) minmax(0,1fr) auto}
.rel-b .fcat-n{display:flex;flex-direction:column;line-height:1.25}.rel-b .fcat-n span{overflow:hidden;text-overflow:ellipsis}
.rel-b b{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}
.rel-h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:16px 0 6px}
.rel-li{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.rel-li li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line-2)}
.rel-li li:last-child{border-bottom:0}
.rel-li .num{flex:none;font-size:.84rem;margin-left:auto}
.rel-d{border-top:1px solid var(--line-2)}.rel-d:first-of-type{border-top:0}
.rel-d summary{display:flex;align-items:center;gap:14px;padding:12px 4px;cursor:pointer;list-style:none;font-size:.88rem}
.rel-d summary::-webkit-details-marker{display:none}
.rel-d summary b{margin-right:auto}
.rel-d summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .2s}
.rel-d[open] summary::after{transform:rotate(-135deg)}
.rel-dg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:0 4px 14px}
.rel-dg .rel-h3{margin-top:0}
.rel-g + .panel{margin-top:16px}
@media (max-width:1100px){.cmp-g{grid-template-columns:minmax(0,1fr)}}
@media (max-width:860px){.cmp-sel{margin-left:0;width:100%}.cmp-sel select{flex:1;max-width:none}.rel-dg{grid-template-columns:minmax(0,1fr)}.rel-b{grid-template-columns:minmax(0,110px) minmax(0,1fr) auto}.cmp-l{grid-template-columns:42px minmax(0,1fr) 92px}.rel-d summary{gap:8px;font-size:.82rem}}
.rel-q .vchip{text-transform:none}
.cmp-ev .ev-ch{height:250px}
.rel-mc{display:none}
@media (max-width:860px){.rel-mf{display:none}.rel-mc{display:inline}.rel-tbl .tbl th,.rel-tbl .tbl td{padding-left:6px;padding-right:6px;font-size:.76rem}}
.cmp-sel span{white-space:nowrap}
.rel-y{align-items:flex-start}.rel-y > b{padding-top:7px;flex:none}
@media (max-width:860px){.cmp-ev .ev-ch{height:180px}.rel-y{gap:8px}.rel-y > b{width:34px}}
@media (max-width:1100px){.fin-gt{grid-template-columns:minmax(0,1fr)}}
@media (max-width:860px){.fin-dock{grid-template-columns:repeat(2,minmax(0,1fr))}.fin-g{grid-template-columns:minmax(0,1fr)}.fin-rs{grid-template-columns:1fr}.fcat-r{grid-template-columns:96px minmax(0,1fr) auto}}
.rec-g{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.rec-d{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;font-weight:800;font-size:.8rem}
.rec-d.rin{background:var(--ok-soft);color:var(--ok)}.rec-d.rout{background:var(--urgent-soft);color:var(--urgent)}
.rec-in{color:var(--ok)}.rec-out{color:var(--urgent)}
.tbl td .row-sub{font-size:.74rem}
.rec-ch{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;height:170px;align-items:end;padding-top:6px}
.rc-m{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%}
.rc-m span{font-size:.7rem;color:var(--muted);font-weight:600;text-transform:capitalize}
.rc-m.cur span{color:var(--accent)}
.rc-b{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:3px}
.rc-b i{width:40%;max-width:14px;min-height:2px;border-radius:5px 5px 2px 2px;transition:height .6s var(--ease)}
.rc-b i.rin,.rec-lg i.rin{background:var(--ok)}.rc-b i.rout,.rec-lg i.rout{background:var(--urgent);opacity:.8}
.rc-m.cur .rc-b{background:var(--accent-soft);border-radius:8px}
.rec-lg{display:flex;gap:14px;margin-top:10px;font-size:.74rem;color:var(--muted)}
.rec-lg span{display:inline-flex;align-items:center;gap:6px}.rec-lg i{width:10px;height:10px;border-radius:3px}
@media (max-width:1100px){.rec-g{grid-template-columns:minmax(0,1fr)}}
.rec-g .panel-h{flex-wrap:wrap}

/* anexos (demandas e projetos) */
.anx{margin:4px 0 16px;border-radius:14px;transition:background .15s,box-shadow .15s}
.anx.drop{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent-line)}
.anx-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin:0 0 10px}
.anx-t{position:relative;display:flex;flex-direction:column;gap:2px;min-width:0}
.anx-v{display:grid;place-items:center;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--surface-2);border:1px solid var(--line);color:var(--accent);text-decoration:none}
.anx-v:hover{border-color:var(--accent-line)}
.anx-v img{width:100%;height:100%;object-fit:cover}
.anx-ext{font:700 .78rem var(--f-display);display:grid;place-items:center;gap:4px}
.anx-lk img.qa-fav{width:22px;height:22px;object-fit:contain}.anx-lk .ico{width:14px;height:14px;opacity:.6}
.anx-n{font-size:.76rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.anx-s{font-size:.68rem;color:var(--faint)}
.anx-ren{font-size:.76rem;padding:3px 6px;height:auto}
.anx-x{position:absolute;top:4px;right:4px;width:26px;height:26px;background:var(--surface);box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.15));opacity:0;transition:opacity .15s}
.anx-t:hover .anx-x,.anx-x:focus-visible,.anx-x.armed{opacity:1}.anx-x.armed{color:var(--urgent);background:var(--urgent-soft)}
@media (hover:none){.anx-x{opacity:1}}
.anx-vz{margin:0 0 10px}
.anx-b{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.anx-b label{cursor:pointer}.anx-b .small{font-size:.74rem}
.anx-lf{display:grid;grid-template-columns:1fr 160px auto auto;gap:6px;margin:0 0 8px}
.anx-lf[hidden]{display:none}
@media (max-width:560px){.anx-lf{grid-template-columns:1fr 1fr}.anx-lf .input{grid-column:1/-1}}
.pj-side .anx{margin:0}.pj-side .anx-g{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}
/* links úteis do cliente */
.ca-sh{display:flex;align-items:center;justify-content:space-between;margin:0 0 4px}.ca-sh h3{margin:0}
.ca-sh .icon-btn{width:28px;height:28px}
.ca-uteis .ca-txt{white-space:normal!important;overflow-wrap:anywhere}
/* menu do botão direito */
#ctxmenu .colmenu{z-index:80;width:220px}

/* assinantes (só a dona da plataforma) */
.asn-nota{margin:-8px 0 14px}
.asn-alerta{color:var(--urgent)}
.asn-f{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.asn-busca{flex:1;min-width:200px;max-width:340px}
.asn-q{display:flex;flex-direction:column;gap:2px;min-width:0}
.asn-q b{font-weight:700}
.asn-obs{color:var(--fg-2);font-style:italic}
.asn-d{display:block}
.asn-a{display:inline-flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.asn-tbl td.r{text-align:right}
.asn-tbl .nowrap{white-space:nowrap}
.asn-cards{display:none;flex-direction:column;gap:10px}
.asn-c{display:flex;flex-direction:column;gap:10px}
.asn-ch{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.asn-cv .asn-d{display:inline;margin-left:6px}
.asn-c .asn-a{justify-content:flex-start}
@media (max-width:760px){.asn-tw{display:none}.asn-cards{display:flex}.asn-busca{max-width:none}}
.asn-q > .pill{align-self:flex-start}
/* etiqueta de projeto nas demandas */
.c-pj{display:inline-flex;align-items:center;gap:5px;max-width:100%;align-self:flex-start;padding:2px 8px 2px 6px;border-radius:6px;background:var(--accent-soft);color:var(--accent);font-size:.7rem;font-weight:700;line-height:1.5;margin-bottom:-2px}
.c-pj .ico{width:12px;height:12px;flex:none;stroke-width:2.2}
.c-pj > span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row-title .c-pj{margin:0 8px 0 0;vertical-align:1px}
.pj-newet input.pj-pede{outline:2px solid var(--accent);outline-offset:1px;border-radius:6px}
/* lista de demandas: ordem manual arrastando */
.tbl .lg-c{width:30px;padding:0 0 0 8px!important}
.tbl th.lg-c button{padding:10px 4px}
.tbl th.lg-c .ico{width:15px;height:15px}
.lgrip{display:inline-grid;place-items:center;width:24px;height:30px;border-radius:6px;color:var(--faint);cursor:grab;touch-action:none}
.lgrip .ico{width:16px;height:16px;stroke-width:3}
.tbl-ord tr[data-ldrag]:hover .lgrip{color:var(--muted);background:var(--surface-2)}
.tbl-ord tr[data-ldrag]{user-select:none;-webkit-user-select:none}
.ld-ph td{padding:4px 8px!important;border-bottom:0!important}
.ld-ph div{border-radius:10px;border:2px dashed color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 7%,transparent)}
.ld-float{position:fixed;z-index:200;margin:0;pointer-events:none;table-layout:fixed;border-collapse:collapse;background:var(--surface);border-radius:10px;transform:rotate(var(--tilt,0deg)) scale(1.01);box-shadow:0 24px 44px -18px rgb(30 35 90/.45),0 0 0 2px var(--accent);transition:transform .12s ease,top .18s ease,left .18s ease;overflow:hidden}
.ld-float td{border-bottom:0!important}
.ld-float.landing{transform:none;box-shadow:var(--shadow-md)}
