:root{--brand-navy:#0b3867;--brand-blue:#1268b3;--brand-cyan:#25c2e0;--brand-cyan-soft:#e6f8fc;--ink:#132b43;--muted:#5d7082;--surface:#fff;--canvas:#f5f9fc;--surface-alt:#f0f7fb;--border:#d9e6ee;--border-strong:#b9d5e4;--success:#16865a;--success-soft:#e5f5ed;--warning:#9a6508;--warning-soft:#fff6df;--danger:#b42318;--danger-soft:#fceae8;--navy:var(--brand-navy);--blue:var(--brand-blue);--cyan:var(--brand-cyan);--soft:var(--surface-alt);--ok:var(--success);--warn:var(--warning);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}
html,body{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;min-width:320px;color:var(--ink);background:var(--canvas)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.brand{display:flex;align-items:center;gap:10px}
.brand img,.brand-logo{width:40px;height:40px;object-fit:contain;border-radius:10px}
.brand b,.brand strong,.brand small{display:block}
.brand small{margin-top:2px;color:var(--muted)}
.top,.topbar{min-height:70px;padding:0 max(16px,5vw);display:flex;align-items:center;justify-content:space-between;background:var(--surface);border-bottom:1px solid var(--border)}
.topbar{padding:0 max(20px,5vw)}
.nav,.topbar-nav{display:flex;align-items:center;gap:8px}
.nav a,.back,.top>a{padding:10px 12px;color:var(--navy);font-weight:750;text-decoration:none;background:var(--soft);border-radius:10px}
.primary,.secondary,.danger{border:1px solid transparent;border-radius:10px;padding:11px 14px;font-weight:750}
.primary{color:#fff;background:var(--blue);box-shadow:0 2px 5px #1268b326}
.secondary{color:var(--navy);background:#fff;border-color:var(--border);text-decoration:none}
.danger{color:var(--danger);background:#fff0ef;border-color:#f1c7c2}
.eyebrow,.ey{margin:0 0 8px;color:var(--blue);font-size:.72rem;font-weight:850;letter-spacing:.09em}
.heading{display:flex;justify-content:space-between;gap:18px;align-items:end}
.heading h1,.page-heading h1,h1{margin:0;letter-spacing:-.04em;font-size:clamp(2rem,5vw,3rem)}
.heading p:last-child{margin:8px 0 0;color:var(--muted)}
.stats,.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}
.stats article,.summary-grid article,.card{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 2px 5px #0b386708}
.stats article,.summary-grid article{padding:16px 18px}
.stats span,.summary-grid span{display:block;color:var(--muted);font-size:.83rem}
.stats strong,.summary-grid strong{display:block;margin-top:7px;font-size:1.3rem}
.card{overflow:hidden}
.toolbar{display:flex;gap:9px;align-items:center;padding:14px}
.toolbar input{flex:1}
label{display:block;margin-top:12px;font-size:.83rem;font-weight:720}
input,select,textarea{display:block;width:100%;margin-top:5px;padding:11px 12px;color:var(--ink);background:#fff;border:1px solid var(--border);border-radius:10px}
textarea{resize:vertical}
.client-picker-native{position:absolute;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0);white-space:nowrap;border:0!important}
.client-picker{position:relative;margin-top:5px}
.client-picker-input{margin:0!important}
.client-picker-results{position:absolute;z-index:8;left:0;right:0;max-height:220px;overflow-y:auto;margin-top:5px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 28px #0b386726}
.client-picker-results button{display:block;width:100%;padding:11px 12px;color:var(--ink);background:#fff;border:0;border-bottom:1px solid var(--border);text-align:left}
.client-picker-results button:last-child{border-bottom:0}
.client-picker-results button:active,.client-picker-results button:hover{background:var(--brand-cyan-soft)}
.client-picker-results p{margin:0;padding:12px;color:var(--muted);font-size:.85rem}
dialog{width:min(100% - 20px,720px);padding:0;border:0;border-radius:18px;box-shadow:0 18px 70px #0b264059}
dialog::backdrop{background:#102c4980}
.modal,.modal-card{padding:22px;background:#fff}
.modal-head,.modal-heading{display:flex;justify-content:space-between;gap:15px;align-items:start}
.modal h2,.modal-heading h2{margin:0;letter-spacing:-.025em}
.close,.icon-button,.x{width:32px;height:32px;padding:0;border:0;border-radius:9px;background:var(--soft);font-size:1.4rem;line-height:1;color:var(--muted)}
.grid,.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 12px}
.full{grid-column:1/-1}
.actions,.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}
.msg,.form-message{min-height:16px;margin:12px 0 0;color:var(--danger);font-size:.85rem}
.toast{position:fixed;z-index:30;right:18px;bottom:18px;max-width:330px;padding:13px 16px;color:#fff;background:var(--navy);border-radius:11px;visibility:hidden;pointer-events:none;transform:translateY(150%);transition:transform .2s,visibility .2s;box-shadow:0 10px 30px #0b386740}
.toast.show{visibility:visible;pointer-events:auto;transform:none}
.toast.show:empty{visibility:hidden;transform:translateY(150%)}
.mobile-tabs{display:none}
.modal-open{overflow:hidden;position:fixed;width:100%}
@supports (-webkit-touch-callout:none){input,select,textarea{font-size:16px!important}
}
@media(max-width:640px){body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
.top,.topbar{min-height:60px;height:60px;padding:0 14px}
.brand img,.brand-logo{width:36px;height:36px}
.brand small,.top .nav,.top>a{display:none}
.page{padding-bottom:24px}
.heading{align-items:start;flex-direction:column}
.heading .primary{width:100%}
.stats,.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:18px 0}
.stats article,.summary-grid article{min-width:0;padding:10px 8px;border-radius:11px}
.stats span,.summary-grid span{font-size:.65rem;line-height:1.2}
.stats strong,.summary-grid strong{overflow:hidden;margin-top:4px;font-size:1rem;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.toolbar{padding:12px}
.grid,.form-grid{grid-template-columns:1fr}
.full{grid-column:auto}
.actions .primary,.actions .secondary,.modal-actions .primary,.modal-actions .secondary{flex:1}
.mobile-tabs{position:fixed;z-index:20;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(64px + env(safe-area-inset-bottom,0px));padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid var(--border);box-shadow:0 -5px 20px #0b38670d}
.mobile-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;border-radius:10px;color:var(--muted);text-align:center;text-decoration:none;font-size:10px;font-weight:700;line-height:1.1}
.mobile-tab span{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis}
.mobile-tab.is-active{color:var(--navy);background:var(--brand-cyan-soft)}
.mobile-tab:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
dialog{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-radius:0;overflow:hidden}
dialog .modal,dialog .modal-card{width:100%;height:100%;min-height:0;max-height:100dvh;padding:calc(18px + env(safe-area-inset-top,0px)) 16px calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.toast{left:12px;right:12px;bottom:calc(64px + 12px + env(safe-area-inset-bottom,0px));max-width:none;text-align:center}
}

/* Menu de ações, confirmação e lixeira */
.action-menu{flex:1 1 100%;margin-top:4px}.action-menu summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-alt,#fff);font-weight:700;color:var(--primary,#0b5fa5)}.action-menu summary::-webkit-details-marker{display:none}.action-menu[open] summary{background:var(--surface-alt,#eef4fa)}.action-list{display:grid;gap:6px;margin-top:8px}.action-list button{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 14px;text-align:left;border:1px solid var(--border);border-radius:12px;background:var(--surface,#fff);font:inherit}.action-list .danger-text{color:var(--danger,#b42318)}
#manageConfirm{max-width:min(92vw,420px)}.manage-confirm h2{margin:0 0 8px;font-size:1.15rem}.manage-confirm p{margin:0 0 16px;color:var(--muted);white-space:pre-line}.manage-confirm .actions{display:flex;gap:10px;justify-content:flex-end}.manage-confirm .primary.danger{background:var(--danger,#b42318);border-color:var(--danger,#b42318)}
.segmented{display:inline-flex;border:1px solid var(--border);border-radius:12px;overflow:hidden}.segmented button{min-height:40px;padding:0 14px;border:0;background:transparent;font:inherit;font-weight:700;color:var(--muted)}.segmented button[aria-pressed="true"]{background:var(--primary,#0b5fa5);color:#fff}
.trash-note{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:var(--surface-alt,#f2f6fa);color:var(--muted);font-size:.86rem}
.action-menu-slot{flex:1 1 100%}.action-menu-slot:empty{display:none}
/* Menu único (assets/js/nav.js) */
.top{gap:12px}
.main-nav{display:flex;align-items:center;gap:4px;min-width:0;margin-left:auto;overflow-x:auto;scrollbar-width:none}
.main-nav a{flex:none;padding:9px 10px;color:var(--navy);font-weight:750;text-decoration:none;white-space:nowrap;border-radius:10px}
.main-nav a:hover{background:var(--soft)}
.main-nav a[aria-current]{color:#fff;background:var(--navy)}
.main-nav a:focus-visible,.nav-signout:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.nav-signout{flex:none;padding:9px 12px;color:var(--muted);font-weight:750;background:transparent;border:0;border-radius:10px;cursor:pointer}
.nav-signout:hover{color:var(--danger);background:var(--danger-soft)}
.top .brand{flex:none}
@media(max-width:900px){.top .brand small{display:none}}
@media(max-width:640px){.main-nav{display:none}.nav-signout{margin-left:auto;padding:8px 10px;font-size:.82rem}}
