:root{--primary:#E8590C;--accent:#F59F00;--sidebar:#1C1917;--bg-base:#F6F5F3;--radius:12px;
  --primary-h:color-mix(in srgb,var(--primary) 84%,#000);--primary-soft:color-mix(in srgb,var(--primary) 12%,transparent);
  --bg:var(--bg-base);--surface:#fff;--surface-2:#faf9f8;--text:#1c1917;--muted:#78716c;--border:#e7e5e4;--shadow:0 1px 2px rgba(0,0,0,.05),0 4px 14px rgba(0,0,0,.05);
  --ok:#2f9e44;--err:#e03131;--warn:#f08c00;--font:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--brandfont:"Josefin Sans",Inter,sans-serif}
html[data-theme=dark]{--bg:#12100f;--surface:#1c1a19;--surface-2:#242120;--text:#f5f5f4;--muted:#a8a29e;--border:#322e2c;--shadow:0 1px 2px rgba(0,0,0,.4)}
@media(prefers-color-scheme:dark){html[data-theme=auto]{--bg:#12100f;--surface:#1c1a19;--surface-2:#242120;--text:#f5f5f4;--muted:#a8a29e;--border:#322e2c;--shadow:0 1px 2px rgba(0,0,0,.4)}}
*{box-sizing:border-box}html,body{margin:0}
body{font:15px/1.5 var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
a{color:var(--primary);text-decoration:none}h1,h2,h3,h4{margin:0 0 .5rem;line-height:1.25}h3{font-size:1.05rem}h4{margin:1.2rem 0 .5rem;font-size:.95rem}
code{background:var(--surface-2);border:1px solid var(--border);padding:1px 6px;border-radius:6px;font-size:.85em}
.muted{color:var(--muted)}.spacer{flex:1}.ic{flex:none;vertical-align:middle}
.wordmark{font-family:var(--brandfont);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:1.25rem}.wordmark.xl{font-size:clamp(2rem,5vw,3.4rem)}
/* shell */
.shell{display:flex;min-height:100vh}
.sidebar{width:260px;flex:none;background:var(--sidebar);color:#e7e5e4;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;transition:transform .25s}
html[data-sbstyle=light] .sidebar{background:var(--surface);color:var(--text);border-right:1px solid var(--border)}
html[data-sbstyle=brand] .sidebar{background:var(--primary);color:#fff}
.brand{display:flex;align-items:center;gap:.6rem;padding:1.3rem 1.4rem;color:inherit;min-height:72px}.brand img{max-height:44px;max-width:100%}
.nav{padding:0 .8rem 1.5rem;display:flex;flex-direction:column;gap:2px}
.nav-cap{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;opacity:.55;padding:1.1rem .7rem .35rem}
.nav-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:calc(var(--radius) - 2px);color:inherit;opacity:.82;font-weight:500;font-size:.92rem}
.nav-item:hover{background:rgba(127,127,127,.16);opacity:1}
.nav-item.active{background:var(--primary);color:#fff;opacity:1}html[data-sbstyle=brand] .nav-item.active{background:rgba(255,255,255,.22)}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;gap:.8rem;padding:.8rem 1.6rem;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(8px);position:sticky;top:0;z-index:5;border-bottom:1px solid var(--border)}
.page-title{font-size:1.25rem;margin:0}.menu-btn{display:none}
.content{padding:1.6rem;max-width:1280px;width:100%}
.usermenu{display:flex;align-items:center;gap:.4rem}.usermenu form{margin:0}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:700}
.chip{background:var(--primary-soft);color:var(--primary);padding:.25rem .7rem;border-radius:99px;font-size:.8rem;font-weight:600}
.ctx select{max-width:210px;padding:.4rem .6rem}
.scrim{display:none}
/* components */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem;box-shadow:var(--shadow)}
.grid{display:grid;gap:1rem}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cards{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.grid.colors{grid-template-columns:repeat(2,1fr)}
.hero{margin-bottom:1.2rem;background:linear-gradient(120deg,var(--primary-soft),transparent)}.hero h2{font-size:1.5rem}
.mod{display:block;color:inherit;position:relative;transition:transform .15s,border-color .15s}.mod:hover{transform:translateY(-2px);border-color:var(--primary)}
.mod-ic{width:48px;height:48px;border-radius:calc(var(--radius) - 2px);background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;margin-bottom:.8rem}
.mod .badge{position:absolute;top:1rem;right:1rem}.mod p{margin:.2rem 0 0;font-size:.88rem}
.empty{text-align:center;padding:3rem 1rem;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:.5rem}.empty h3{color:var(--text)}
.toolbar{display:flex;gap:.6rem;margin-bottom:1rem;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:.55rem 1rem;border-radius:calc(var(--radius) - 2px);font:inherit;font-weight:600;cursor:pointer;transition:.15s}
.btn:hover{border-color:var(--primary);color:var(--primary)}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-h)}
.btn.danger{color:var(--err)}.btn.danger:hover{border-color:var(--err);color:var(--err)}.btn.block{width:100%;padding:.75rem}.btn.sm{padding:.3rem .7rem;font-size:.85rem}
.icon-btn{background:none;border:0;color:var(--muted);width:36px;height:36px;border-radius:50%;display:inline-grid;place-items:center;cursor:pointer;font-size:1.2rem}.icon-btn:hover{background:var(--primary-soft);color:var(--primary)}.icon-btn.danger:hover{background:#e0313122;color:var(--err)}
.badge{display:inline-block;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);padding:.1rem .55rem;border-radius:99px;font-size:.74rem;font-weight:600}.badge.ok{background:#2f9e4418;color:var(--ok);border-color:transparent}.badge.off{background:#e0313118;color:var(--err);border-color:transparent}
.alert{padding:.75rem 1rem;border-radius:calc(var(--radius) - 2px);margin-bottom:1rem;border:1px solid;font-weight:500}.alert.ok{background:#2f9e4416;border-color:#2f9e4455;color:var(--ok)}.alert.err{background:#e0313116;border-color:#e0313155;color:var(--err)}.alert.warn{background:#f08c0016;border-color:#f08c0055;color:var(--warn)}
/* forms */
.form{display:flex;flex-direction:column;gap:.9rem}label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:600}
input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),select,textarea{font:inherit;padding:.6rem .75rem;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--surface);color:var(--text);width:100%;font-weight:400}
input:focus,select:focus{outline:2px solid var(--primary-soft);border-color:var(--primary)}
input[type=color]{width:100%;height:42px;padding:2px;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--surface);cursor:pointer}
input[type=checkbox]{accent-color:var(--primary);width:17px;height:17px}input[type=range]{accent-color:var(--primary)}
.chk{flex-direction:row;align-items:center;gap:.5rem;font-weight:500;font-size:.9rem}.checks{display:flex;flex-direction:column;gap:.5rem}.checks.row{flex-direction:row;flex-wrap:wrap;gap:.5rem 1.4rem}
.actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.actions form{margin:0}
/* tables */
.table-wrap{overflow-x:auto;padding:0}.card.table-wrap{padding:.4rem}.form .table-wrap{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px)}
table{width:100%;border-collapse:collapse}th{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:left;font-weight:600}
th,td{padding:.7rem .8rem;border-bottom:1px solid var(--border);vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--surface-2)}
.row-actions{display:flex;gap:.2rem;justify-content:flex-end;align-items:center}.row-actions form{margin:0}
table.matrix th:not(:first-child),table.matrix td:not(:first-child){text-align:center;width:90px}
/* appearance */
.presets{display:flex;flex-wrap:wrap;gap:.5rem}.preset{display:flex;align-items:center;gap:3px;background:var(--surface);border:1px solid var(--border);border-radius:99px;padding:.3rem .7rem .3rem .4rem;cursor:pointer;color:var(--text);font:inherit;font-size:.82rem}.preset i{width:14px;height:14px;border-radius:50%;display:block}.preset span{margin-left:.35rem}.preset:hover{border-color:var(--primary)}
.logo-prev{display:flex;align-items:center;gap:1rem;padding:.8rem;background:var(--surface-2);border-radius:var(--radius)}.logo-prev img{max-height:48px;max-width:160px}
.pv{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;min-height:260px;margin-bottom:1rem;background:var(--bg-base)}
.pv-side{width:110px;background:var(--sidebar);padding:1rem .7rem;display:flex;flex-direction:column;gap:.6rem;color:#fff}.pv-side .wordmark{font-size:.8rem;margin-bottom:.5rem;overflow:hidden;text-overflow:ellipsis}.pv-side i{height:12px;border-radius:6px;background:rgba(255,255,255,.18)}.pv-side i.on{background:var(--primary)}
.pv-main{flex:1;padding:1rem;color:#1c1917}.pv-top{height:14px;width:40%;background:#0001;border-radius:6px;margin-bottom:1rem}.pv-cards{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1rem}
.mini{padding:.7rem;background:#fff}.mini b{display:block;height:22px;width:22px;border-radius:6px;background:var(--primary-soft);margin-bottom:.5rem}.mini s{display:block;height:8px;background:#0001;border-radius:4px}
/* login */
.login-body{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}
.login-art{background:linear-gradient(145deg,var(--sidebar),color-mix(in srgb,var(--sidebar) 55%,var(--primary)));color:#fff;display:grid;place-items:center;padding:2rem;position:relative;overflow:hidden}
.login-art::after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(var(--primary),transparent 65%);opacity:.35;right:-160px;bottom:-200px}
.login-art-inner{position:relative;z-index:1;max-width:420px}.login-art p{opacity:.8;font-size:1.1rem}.login-logo{max-width:280px;max-height:140px}
.login-panel{display:grid;place-items:center;padding:2rem}.login-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:1rem}.login-card h2{font-size:1.7rem;margin:0}
@media(max-width:960px){
  .sidebar{position:fixed;left:0;top:0;z-index:30;transform:translateX(-100%)}.sidebar.open{transform:none;box-shadow:0 0 40px rgba(0,0,0,.4)}
  .scrim.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:20}.menu-btn{display:inline-grid}
  .grid.two{grid-template-columns:1fr}.content{padding:1rem}.topbar{padding:.7rem 1rem}.ctx select{max-width:140px}
  .login-body{grid-template-columns:1fr}.login-art{min-height:200px;padding:1.5rem}.login-art p{display:none}
}
@media(max-width:700px){
  table:not(.matrix) thead{display:none}table:not(.matrix) tr{display:block;padding:.6rem .4rem;border-bottom:1px solid var(--border)}
  table:not(.matrix) td{display:flex;justify-content:space-between;gap:1rem;border:0;padding:.25rem .6rem;text-align:right}
  table:not(.matrix) td[data-l]::before{content:attr(data-l);color:var(--muted);font-size:.75rem;text-transform:uppercase;text-align:left}
  .row-actions{justify-content:flex-end}.page-title{font-size:1.05rem}.grid.cards{grid-template-columns:1fr}
}

/* logos: uma para fundo claro, outra para escuro */
.logo-d{display:none}
.brand img{max-height:64px;max-width:190px;width:auto}
html[data-sbstyle=dark] .sidebar .logo-l,html[data-sbstyle=brand] .sidebar .logo-l{display:none}
html[data-sbstyle=dark] .sidebar .logo-d,html[data-sbstyle=brand] .sidebar .logo-d{display:block}
html[data-sbstyle=brand] .sidebar .brand img{filter:brightness(0) invert(1)}
html[data-theme=dark][data-sbstyle=light] .sidebar .logo-l{display:none}html[data-theme=dark][data-sbstyle=light] .sidebar .logo-d{display:block}
@media(prefers-color-scheme:dark){html[data-theme=auto][data-sbstyle=light] .sidebar .logo-l{display:none}html[data-theme=auto][data-sbstyle=light] .sidebar .logo-d{display:block}}
.on-dark .logo-l{display:none}.on-dark .logo-d{display:block}
.login-logo{width:min(320px,80%);max-height:none}
.chip{white-space:nowrap;max-width:42vw;overflow:hidden;text-overflow:ellipsis}

/* checklists */
.tabs{display:flex;gap:.3rem;overflow-x:auto;margin-bottom:1rem;border-bottom:1px solid var(--border)}
.tab{padding:.6rem 1rem;color:var(--muted);font-weight:600;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--text)}.tab.active{color:var(--primary);border-color:var(--primary)}
.small{font-size:.82rem}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle}
.chk-head{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1rem}.chk-filters{display:flex;gap:.8rem;align-items:flex-end;flex-wrap:wrap}
.chk-progress{flex:1;min-width:220px;display:flex;align-items:center;gap:.8rem}.bar{flex:1;height:10px;border-radius:99px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden}.bar i{display:block;height:100%;background:var(--primary);border-radius:99px;transition:width .3s}
.chk-period{margin:1.4rem 0 .6rem;text-transform:uppercase;font-size:.78rem;letter-spacing:.1em;color:var(--muted)}
.chk-list{display:flex;flex-direction:column;gap:.6rem}.task{display:flex;gap:.9rem;padding:.9rem 1rem;align-items:flex-start}.task.done{opacity:.72}.task.done .task-title{text-decoration:line-through}
.check{flex:none;width:36px;height:36px;border-radius:50%;border:2px solid var(--border);background:var(--surface);color:transparent;display:grid;place-items:center;cursor:pointer;transition:.15s}.check:hover{border-color:var(--primary)}.task.done .check{background:var(--ok);border-color:var(--ok);color:#fff}
.task-body{flex:1;min-width:0}.task-title{font-weight:600}.task-meta{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:.2rem}
.task-actions{display:flex;gap:.5rem;margin-top:.6rem}.task .note{margin-top:.5rem;width:100%;font:inherit;padding:.5rem;border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);background:var(--surface);color:var(--text)}
.thumbs{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.5rem}.thumb img{width:56px;height:56px;object-fit:cover;border-radius:8px;border:1px solid var(--border);display:block}.thumbs.big .thumb img{width:84px;height:84px}
.toast{position:fixed;left:50%;bottom:1.5rem;transform:translateX(-50%);background:#222;color:#fff;padding:.7rem 1.1rem;border-radius:99px;z-index:50;box-shadow:0 6px 24px rgba(0,0,0,.3);max-width:90vw;font-weight:500}
.stat{display:flex;flex-direction:column;gap:.4rem}.stat b{font-size:2rem;line-height:1}.report{margin-bottom:.8rem}
.bars{display:flex;gap:.6rem;align-items:flex-end;height:160px;margin-top:1rem}.bars .col{flex:1;display:flex;flex-direction:column;align-items:center;gap:.3rem;height:100%}.barv{flex:1;width:100%;max-width:46px;background:var(--surface-2);border-radius:8px;display:flex;align-items:flex-end;overflow:hidden}.barv i{display:block;width:100%;background:var(--primary);border-radius:8px 8px 0 0}
tr.inactive{opacity:.5}.toolbar form{display:flex;gap:.6rem;align-items:flex-end}
/* ── RH ── */
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.grid.three,.grid.two{grid-template-columns:1fr}}
.avatar.sm{width:34px;height:34px;font-size:.8rem}.avatar.xl{width:68px;height:68px;font-size:1.5rem;flex:none}
.rh-head{display:flex;align-items:center;gap:1.1rem;margin-bottom:1rem;flex-wrap:wrap}.rh-head-main{flex:1;min-width:220px}.rh-head h2{margin:0 0 .15rem;font-size:1.3rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.rh-meta{display:flex;gap:1.1rem;flex-wrap:wrap;margin-top:.45rem;font-size:.85rem;color:var(--muted)}.rh-meta b{color:var(--text)}
.tabs.sub{margin-top:0}.tabs.sub .tab{padding:.5rem .9rem;font-size:.9rem}
.rh-person{display:flex;align-items:center;gap:.7rem;color:inherit}.rh-person b{display:block;color:var(--text)}.rh-person small{display:block}
.rh-list{list-style:none;margin:0;padding:0}.rh-list li{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.7rem 0;border-bottom:1px solid var(--border)}.rh-list li:last-child{border:0}
.rh-list .row-actions{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.rh-list form{margin:0}
.rh-bar{display:grid;grid-template-columns:minmax(110px,1.2fr) 2fr 28px;gap:.7rem;align-items:center;margin:.45rem 0;font-size:.88rem}.rh-bar b{text-align:right}
.rh-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.6rem}.rh-score{text-align:right}.rh-score b{font-size:1.8rem;line-height:1;display:block}.stars{color:var(--accent);letter-spacing:2px;font-size:.9rem}
.rh-form fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem 1.1rem;margin:0}.rh-form legend{padding:0 .5rem;font-weight:700;font-size:.9rem}
.rh-access{background:var(--surface-2)}
input,select,textarea{font:inherit}
.rh-ts input[type=time]{width:112px;padding:.3rem .4rem}.rh-ts td input:not([type=time]){min-width:130px;width:100%;padding:.3rem .5rem}.rh-ts tr.sun{background:var(--surface-2)}.rh-ts tr.today{outline:2px solid var(--primary);outline-offset:-2px}
.rh-sched td,.rh-sched th{text-align:center;min-width:120px}.rh-sched td:first-child,.rh-sched th:first-child{text-align:left;min-width:170px}.rh-sched select{width:100%;padding:.35rem .3rem;font-size:.82rem}.rh-sched tr.cover td{background:var(--surface-2)}
.print-head{display:none;margin-bottom:.6rem}
@media print{.sidebar,.topbar,.tabs,.no-print,.toolbar,.actions,.menu-btn{display:none!important}.print-head{display:block}.content{padding:0;max-width:none}.card{box-shadow:none;border:0}.rh-ts input{border:0;background:none;padding:0;width:auto!important}}
.rh-ts td.from-clock input{background:rgba(33,150,243,.08)}.rh-dev{padding:.5rem 0}.rh-dev details{margin:.4rem 0}
