:root{
  --blue:#0b63ce;--blue-strong:#074fa8;--navy:#0b3048;--sky:#edf7fd;
  --ink:#173247;--muted:#667d8b;--line:#d9e6ed;--surface:#fff;
  --surface-soft:#f4f8fb;--warning:#9a6700;--danger:#b73547;--ok:#137a53;
  --shadow-sm:0 5px 18px rgba(15,54,75,.06);--shadow-md:0 16px 40px rgba(15,54,75,.10)
}
html{scroll-behavior:smooth}body{background:#f3f8fb;color:var(--ink);letter-spacing:-.005em}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.main{background:radial-gradient(circle at 92% 3%,rgba(66,169,232,.08),transparent 22%),#f3f8fb}
.content{width:100%;margin:0 auto}.top{position:sticky;top:0;z-index:30;box-shadow:0 1px 0 rgba(15,54,75,.03)}
.top b{display:flex;align-items:center;gap:7px}.top small{padding:3px 7px;border-radius:99px;background:#edf5fa;color:#55717f!important;font-size:10px}
.side{box-shadow:9px 0 30px rgba(7,35,52,.08)}.brand-logo-wrap{box-shadow:0 7px 22px rgba(0,0,0,.10)}
.title{font-size:clamp(25px,2.2vw,34px);letter-spacing:-.035em}.subtitle{font-size:14px;line-height:1.55}
.card,.section-card,form.panel,.advanced,.invoice-detail{box-shadow:var(--shadow-sm);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.card:hover,.section-card:hover{border-color:#c4dce8;box-shadow:var(--shadow-md)}
.metric{position:relative;overflow:hidden}.metric:after{content:"";position:absolute;right:-22px;bottom:-35px;width:100px;height:100px;border-radius:50%;background:rgba(11,99,206,.055)}
.metric strong{letter-spacing:-.035em}.metric-link{display:block}.metric-link:hover{transform:translateY(-2px)}
button,.btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:filter .15s ease,transform .15s ease,box-shadow .15s ease}
button:hover,.btn:hover{filter:brightness(.97);box-shadow:0 6px 16px rgba(15,54,75,.12)}button:active,.btn:active{transform:translateY(1px)}
button:focus-visible,.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(44,148,215,.27);outline-offset:2px}
input,select,textarea{transition:border-color .16s ease,box-shadow .16s ease;background:#fff;color:var(--ink)}
input:hover,select:hover,textarea:hover{border-color:#a9c8d7}input:focus,select:focus,textarea:focus{border-color:#4b9dcc;box-shadow:0 0 0 3px rgba(38,139,196,.12);outline:0}
input:invalid:not(:placeholder-shown){border-color:#d38b95}.field-help{font-size:11px;color:var(--muted)}
.table-wrap{border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-sm)}.table-wrap table{border:0;border-radius:0}
tbody tr{transition:background .14s ease}tbody tr:hover{background:#f5faff}th{letter-spacing:.035em;white-space:nowrap}
.data-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;background:#fff;border:1px solid var(--line);border-bottom:0;border-radius:14px 14px 0 0}
.data-search{position:relative;flex:1;max-width:430px}.data-search input{padding-left:38px;background:#f7fafc}.data-search:before{content:"⌕";position:absolute;left:13px;top:7px;font-size:22px;color:#708793;z-index:1}
.data-count{font-size:12px;color:var(--muted);white-space:nowrap}.table-wrap.has-data-toolbar{border-radius:0 0 14px 14px}
.empty-filter{padding:30px!important;text-align:center;color:var(--muted)}
.badge{font-weight:700}.badge.paid,.badge.completed,.badge.active,.badge.confirmed{background:#e4f5ee;color:var(--ok)}.badge.open,.badge.new{background:#e8f2ff;color:#145da0}
.badge.overdue,.badge.cancelled,.badge.inactive,.badge.lost{background:#fce9ec;color:var(--danger)}
.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.quick-action{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow-sm)}.quick-action:hover{border-color:#9fc9dd;transform:translateY(-2px)}.quick-action b,.quick-action span{display:block}.quick-action span{font-size:12px;color:var(--muted);margin-top:4px}
.attention-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.attention-item{padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}.attention-item strong{display:block;font-size:22px;color:var(--navy)}.attention-item span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.attention-item.warn{background:#fff9eb;border-color:#f0dfae}.attention-item.danger{background:#fff3f5;border-color:#efcdd3}
.quality-score{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;font-weight:800;background:conic-gradient(var(--ok) calc(var(--score)*1%),#e5edf1 0);position:relative}.quality-score:before{content:"";position:absolute;inset:5px;background:#fff;border-radius:50%}.quality-score span{position:relative;font-size:11px}
.quality-list{display:grid;gap:8px}.quality-row{display:grid;grid-template-columns:52px minmax(180px,1fr) 2fr auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.quality-row:last-child{border:0}.quality-missing{font-size:12px;color:var(--muted)}
.mobile-menu-button{display:none;border:0;background:#edf5f9;color:var(--navy);font-size:20px;width:42px;height:42px;padding:0}
.sidebar-overlay{display:none;border:0;border-radius:0;padding:0;min-height:0;box-shadow:none!important}
@media(max-width:1000px){.quick-actions,.attention-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){body.admin-nav-ready .shell{display:block}.mobile-menu-button{display:inline-grid;place-items:center}.side{position:fixed!important;inset:0 auto 0 0!important;width:min(300px,86vw);height:100vh!important;z-index:60;transform:translateX(-105%);transition:transform .22s ease;overflow-y:auto!important}.nav-open .side{transform:none}.sidebar-overlay{position:fixed;inset:0;background:rgba(4,25,38,.48);z-index:50}.nav-open .sidebar-overlay{display:block}.top{padding:0 16px}.top>div:last-child{font-size:12px}.content{padding:22px 16px}.nav{display:block!important}.nav a{white-space:normal!important}}
@media(max-width:620px){.quick-actions,.attention-grid{grid-template-columns:1fr}.quality-row{grid-template-columns:46px 1fr auto}.quality-missing{grid-column:2/-1}.data-toolbar{align-items:stretch;flex-direction:column}.data-search{max-width:none}.top b{font-size:14px}.top small{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
