/* VICKY’S STUDIO: one portal stylesheet. Layout/state rules migrated from the previous layers. */
/* VICKY'S Services · sjednocený vzhled provozních portálů V2
   Pure presentation: preserves existing elements, forms, API calls and permissions. */
:root{--v2-ink:#152838;--v2-dark:#132635;--v2-teal:#244968;--v2-green:#2c587c;--v2-muted:#65727c;--v2-bg:#f3f5f6;--v2-line:#e0e5e9;--v2-glow:0 16px 48px rgba(16,54,56,.075);--v2-round:22px;}
html{scroll-behavior:smooth;}
body.v2-portal{background:radial-gradient(circle at 92% 0%,rgba(121,188,168,.13),transparent 27rem),var(--v2-bg);color:var(--v2-ink);font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;}
.v2-portal button,.v2-portal input,.v2-portal textarea,.v2-portal select{font-family:inherit;}
.v2-portal button,.v2-portal a,.v2-portal summary{touch-action:manipulation;}
.v2-portal button:focus-visible,.v2-portal a:focus-visible,.v2-portal summary:focus-visible,.v2-portal input:focus-visible,.v2-portal select:focus-visible,.v2-portal textarea:focus-visible{outline:3px solid rgba(28,142,129,.34);outline-offset:3px;}
.v2-portal .btn:not(.faceid){border-radius:13px;min-height:40px;padding:11px 16px;letter-spacing:-.01em;box-shadow:0 4px 11px rgba(16,54,56,.06);transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease;}
.v2-portal .btn:not(.alt):not(:disabled){background:linear-gradient(130deg,#183044,#264c6b);color:#fff;}
.v2-portal .btn.teal:not(:disabled){background:linear-gradient(130deg,#264c6b,#1e3d57);}
.v2-portal .btn.alt{background:#fff;color:var(--v2-ink);border:1px solid var(--v2-line);}
.v2-portal .btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 7px 17px rgba(15,73,70,.12);}
.v2-portal .panel,.v2-portal .card,.v2-portal .stat{background:rgba(255,255,255,.97);border-color:var(--v2-line);border-radius:var(--v2-round);box-shadow:var(--v2-glow);}
.v2-portal .panel h2,.v2-portal .card h2{font-size:1.07rem;letter-spacing:-.028em;color:var(--v2-ink);}
.v2-portal .muted{color:var(--v2-muted);}
.v2-portal input:not([type=checkbox]):not([type=radio]),.v2-portal select,.v2-portal textarea{border-color:#d6dee4;border-radius:12px;background-color:#fff;color:var(--v2-ink);}
.v2-portal .tag,.v2-portal .verify-pill{border-radius:9px;background:#eaf5f0;color:#1c6d61;letter-spacing:.01em}
.v2-portal .stat strong{letter-spacing:-.055em;color:var(--v2-ink);font-variant-numeric:tabular-nums;}
.v2-portal .hero{position:relative;overflow:hidden;background:radial-gradient(circle at 91% -30%,rgba(143,224,191,.24),transparent 29%),linear-gradient(125deg,#0f1f2c,#1d3a52 65%,#264e6e);color:#fff;border:1px solid rgba(255,255,255,.08);border-radius:25px;box-shadow:0 16px 40px rgba(10,61,62,.14);}
.v2-portal .hero::after{content:"";pointer-events:none;position:absolute;right:-50px;bottom:-125px;width:280px;height:280px;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018);}
.v2-portal .hero h1,.v2-portal .hero strong{color:#fff;letter-spacing:-.05em;}
.v2-portal .hero p,.v2-portal .hero .muted{color:#d9e5ee;}
.v2-portal .table th{color:#68747e;font-size:.72rem;letter-spacing:.055em;}
.v2-portal .table td{border-bottom-color:#e9ecef;}
.v2-portal .table tbody tr:hover{background:#f7f9fa;}
.v2-portal .table select,.v2-portal .table input{min-height:38px;}
.v2-portal .login-card,.v2-portal .loginbox,.v2-portal .auth{border:1px solid var(--v2-line);border-radius:28px;box-shadow:0 28px 75px rgba(16,54,56,.12);}
.v2-portal .login,.v2-portal .auth{background:transparent;}
.v2-portal a{color:#234662;}
.v2-portal .empty{background:#f9fafb;border:1px dashed #cdd7df;}
.v2-portal .v2-mark{width:37px;height:37px;display:inline-grid;place-items:center;background:linear-gradient(135deg,#e9f1f7,#9dbcd5);color:#193246;border-radius:13px;font-size:.84rem;font-weight:950;letter-spacing:-.08em;flex:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);}
.v2-portal .v2-kicker{display:block;color:#72899c;letter-spacing:.16em;font-size:.64rem;font-weight:900;text-transform:uppercase;margin:0 0 5px;}
.v2-portal .v2-welcome{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:23px 26px;margin-bottom:17px;border-radius:24px;background:linear-gradient(115deg,#152b3d,#254a69);color:white;box-shadow:0 16px 35px rgba(15,83,78,.13);}
.v2-portal .v2-welcome h2{font-size:clamp(1.25rem,2.4vw,1.8rem);letter-spacing:-.05em;margin:0 0 5px;color:#fff;}
.v2-portal .v2-welcome p{color:#ccdcea;margin:0;font-size:.86rem;line-height:1.5;}
.v2-portal .v2-welcome .v2-kicker{color:#94b9d8;}
.v2-portal .v2-welcome a{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#fff;color:#1a3449;border-radius:13px;padding:12px 17px;min-height:43px;text-decoration:none;font-size:.83rem;font-weight:850;white-space:nowrap;flex:none;}
.v2-portal .v2-welcome a:hover{background:#eaf1f7;}
/* Administration */
body.v2-admin{--ink:var(--v2-ink);--teal:var(--v2-teal);--cream:var(--v2-bg);--line:var(--v2-line);--muted:var(--v2-muted);}
.v2-admin .shell{grid-template-columns:252px minmax(0,1fr);}
.v2-admin .side{background:radial-gradient(circle at -50% 0%,#2a5476 0%,transparent 56%),linear-gradient(170deg,#10202d,#152b3d 66%,#11222f);border-right:1px solid rgba(255,255,255,.1);padding:23px 16px;}
.v2-admin .side .brand{display:flex;align-items:center;gap:11px;font-size:1.04rem;line-height:1.14;letter-spacing:-.04em;color:#fff;margin:0 0 26px;padding:0 5px;}
.v2-admin .side .brand .v2-mark{box-shadow:0 7px 20px rgba(0,0,0,.1);}
.v2-admin #desktopNav::before{content:"PRACOVNÍ CENTRUM";display:block;color:#7995ac;font-size:.65rem;letter-spacing:.16em;font-weight:900;padding:4px 12px 11px;}
.v2-admin #desktopNav>button.v2-primary{display:flex;align-items:center;gap:10px;width:100%;border-radius:13px;padding:12px 13px;font-size:.88rem;font-weight:750;margin:3px 0;color:#d4dee7;}
.v2-admin #desktopNav>button.v2-primary::before{content:attr(data-icon);display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;background:rgba(255,255,255,.08);font-size:1rem;flex:none;}
.v2-admin #desktopNav>button.v2-primary.active,.v2-admin #desktopNav>button.v2-primary:hover{background:rgba(184,241,219,.14);box-shadow:inset 3px 0 0 #93b7d4;color:#fff;}
.v2-admin #desktopNav>button.v2-primary.active::before{background:rgba(183,231,209,.22);}
.v2-admin .v2-nav-more{border-top:1px solid rgba(255,255,255,.12);margin-top:17px;padding:12px 0 0;}
.v2-admin .v2-nav-more>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;color:#b7c6d2;border-radius:12px;padding:11px 12px;font-size:.82rem;font-weight:850;}
.v2-admin .v2-nav-more>summary::-webkit-details-marker{display:none;}
.v2-admin .v2-nav-more>summary::after{content:"⌄";font-size:1rem;transition:transform .18s;}
.v2-admin .v2-nav-more[open]>summary::after{transform:rotate(180deg);}
.v2-admin .v2-nav-more>summary:hover{background:rgba(255,255,255,.09);}
.v2-admin .v2-nav-more-list{padding:3px 1px 8px;max-height:42vh;overflow-y:auto;}
.v2-admin .v2-nav-more-list button{font-size:.8rem;padding:9px 12px;border-radius:9px;opacity:.92;margin:1px 0;}
.v2-admin .v2-nav-more-list button.active{background:rgba(188,231,214,.15);}
.v2-admin .main{padding:28px clamp(16px,2.3vw,38px) 40px;min-width:0;}
.v2-admin .main>.top h1{font-size:clamp(1.5rem,2.8vw,2rem);letter-spacing:-.055em;}
.v2-admin .main>.top{padding-bottom:14px;border-bottom:1px solid #dde3e8;align-items:center;}
.v2-admin .pill{background:#fff;border-color:var(--v2-line);font-size:.75rem;color:#354d61;box-shadow:0 4px 12px rgba(16,54,56,.04);}
.v2-admin .stats{grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;}
.v2-admin .stats .stat{min-height:110px;border-radius:20px;}
.v2-admin .stats .stat strong{font-size:2rem;}
.v2-admin .grid{gap:15px;}
.v2-admin .actionbox{display:flex;flex-wrap:wrap;gap:6px;min-width:0;}
.v2-admin .actionbox .btn{white-space:normal;font-size:.76rem;line-height:1.25;}
.v2-admin .panel{min-width:0;}
.v2-admin #customers .table-wrap,.v2-admin #orders .table-wrap{border-radius:13px;}
.v2-admin #mailCenterTabs button{border-radius:12px;min-height:44px;}
.v2-admin .mobile-nav{background:transparent;}
.v2-admin .v2-action-ribbon{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 15px;}
.v2-admin .v2-action-ribbon a{background:#fff;border:1px solid var(--v2-line);color:#1e3c54;display:inline-flex;padding:10px 14px;border-radius:12px;text-decoration:none;font-size:.83rem;font-weight:850;}
/* Employee */
body.v2-employee{--ink:var(--v2-ink);--teal:var(--v2-teal);--dark:var(--v2-dark);--line:var(--v2-line);--bg:var(--v2-bg);--muted:var(--v2-muted);}
.v2-employee .shell{max-width:1440px;padding:clamp(12px,2.3vw,28px);}
.v2-employee .top{padding:8px 3px 16px;border-bottom:1px solid var(--v2-line);margin-bottom:18px;}
.v2-employee .hero{padding:clamp(23px,4vw,36px);}
.v2-employee .hero h1{font-size:clamp(1.75rem,4vw,2.45rem);}
.v2-employee .stats{grid-template-columns:repeat(4,minmax(0,1fr));}
.v2-employee .nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(115px,.7fr);gap:8px;padding:9px;background:#fff;border:1px solid var(--v2-line);border-radius:19px;margin:14px 0 17px;box-shadow:0 10px 25px rgba(16,54,56,.055);}
.v2-employee .nav>button{border-radius:12px;border:0;background:transparent;min-height:44px;font-size:.83rem;cursor:pointer;}
.v2-employee .nav>button.on{background:var(--v2-dark);color:#fff;box-shadow:0 7px 13px rgba(16,54,56,.12);}
.v2-employee .v2-employee-more{position:relative;align-self:stretch;}
.v2-employee .v2-employee-more>summary{min-height:44px;height:100%;display:flex;justify-content:center;align-items:center;list-style:none;cursor:pointer;font-size:.82rem;font-weight:850;border-radius:11px;color:#354c5f;background:#f1f4f6;}
.v2-employee .v2-employee-more>summary::-webkit-details-marker{display:none;}
.v2-employee .v2-employee-options{position:absolute;right:0;top:calc(100% + 8px);background:#fff;box-shadow:0 20px 46px rgba(10,50,50,.18);border:1px solid var(--v2-line);border-radius:16px;padding:8px;min-width:205px;z-index:50;display:grid;gap:4px;}
.v2-employee .v2-employee-options button{display:block;width:100%;border:0;background:#fff;color:var(--v2-ink);text-align:left;border-radius:10px;padding:12px;cursor:pointer;font-weight:750;}
.v2-employee .v2-employee-options button.on,.v2-employee .v2-employee-options button:hover{background:#e9f0f5;}
.v2-employee .employment-overview{border-left:3px solid #7399b8;}
.v2-employee .employment-info{background:#f7f9fa;border-color:#e3e8ec;}
.v2-employee .job{border-color:var(--v2-line);box-shadow:var(--v2-glow);border-radius:20px;}
.v2-employee .actions .btn{min-height:43px;}
/* Customer */
body.v2-customer{--ink:var(--v2-ink);--teal:var(--v2-teal);--dark:var(--v2-dark);--line:var(--v2-line);--cream:var(--v2-bg);--muted:var(--v2-muted);}
.v2-customer .wrap{max-width:1450px;padding:clamp(12px,2.3vw,30px);}
.v2-customer .top{border-bottom:1px solid var(--v2-line);padding:4px 2px 17px;margin-bottom:20px;}
.v2-customer .top .brand{font-size:1.13rem;letter-spacing:-.04em;}
.v2-customer .top>div:first-child{display:flex;flex-direction:column;gap:4px;}
.v2-customer .auth{margin:7vh auto;background:#fff;max-width:540px;}
.v2-customer #portal>.grid{gap:15px;grid-template-columns:repeat(3,minmax(0,1fr));}
.v2-customer #portal>.grid>.hero{padding:29px;min-height:162px;}
.v2-customer #portal>.grid>.hero strong{font-size:clamp(1.6rem,3.3vw,2.15rem);}
.v2-customer #portal>.grid>.panel{min-width:0;}
.v2-customer .v2-customer-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:7px;background:#fff;border:1px solid var(--v2-line);border-radius:18px;box-shadow:0 9px 25px rgba(16,54,56,.05);margin:0 0 16px;position:sticky;top:8px;z-index:30;}
.v2-customer .v2-customer-shortcuts button{border:0;background:transparent;border-radius:12px;min-height:46px;font-size:.83rem;font-weight:850;color:#354c5e;cursor:pointer;}
.v2-customer .v2-customer-shortcuts button:hover,.v2-customer .v2-customer-shortcuts button:focus-visible{background:#e8eef3;}
.v2-customer .v2-customer-shortcuts button:first-child{background:#1a3449;color:#fff;}
.v2-customer #portal #orders,.v2-customer #portal #invoices,.v2-customer #portal #notifications{min-height:36px;}
.v2-customer #portal .panel:has(>#orders),.v2-customer #portal .panel:has(>#invoices),.v2-customer #portal .panel:has(>#notifications){scroll-margin-top:98px;}
.v2-customer .contract{background:#f8fafb;border-color:#dce3e9;}
.v2-customer .item{padding:15px 0;}

/* shared responsive behavior */
@media(min-width:901px){
 .v2-admin .mobile-nav{display:none;}
}
@media(max-width:1080px){
 .v2-admin .shell{grid-template-columns:226px minmax(0,1fr);}
 .v2-admin .main{padding:22px 17px 36px;}
 .v2-customer #portal>.grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 .v2-customer #portal>.grid>.hero{grid-column:1/-1;}
}
@media(max-width:900px){
 .v2-admin .shell{display:block;}
 .v2-admin .side{display:none;}
 .v2-admin .main{padding:18px 12px calc(122px + env(safe-area-inset-bottom));}
 .v2-admin .main>.top{align-items:flex-start;margin-bottom:15px;}
 .v2-admin .main>.top h1{font-size:1.5rem;}
 .v2-admin #userPill{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
 .v2-admin #registerPasskeyBtn{font-size:.7rem;min-height:38px;padding:7px 10px;}
 .v2-admin .mobile-nav{display:grid!important;position:fixed;inset:auto 10px calc(10px + env(safe-area-inset-bottom)) 10px;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:7px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:linear-gradient(120deg,#132635,#1d3b54);box-shadow:0 14px 42px rgba(9,44,45,.33);z-index:1000;max-width:none;overflow:visible;}
 .v2-admin #mobileNav button{font-size:.68rem;min-width:0;min-height:51px;line-height:1.2;padding:6px 3px;border-radius:11px;border:0;background:transparent;color:#d9e5ee;white-space:normal;font-weight:750;box-shadow:none;}
 .v2-admin #mobileNav button.active{background:rgba(255,255,255,.15);color:#fff;}
 .v2-admin #mobileNav #mobileMenuButton{background:rgba(255,255,255,.10);font-size:.68rem;color:#fff;}
 .v2-admin #mobileNav button[data-view="accounting"],.v2-admin #mobileNav button[data-view="employees"]{display:none!important;}
 .v2-admin #mobileDrawer{z-index:1200;}
 .v2-admin #mobileDrawerBackdrop{z-index:1190;}
 .v2-admin .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
 .v2-admin .stats .stat{min-width:0;min-height:106px;}
 .v2-admin .stats .stat strong{font-size:1.65rem;}
 .v2-admin .grid{grid-template-columns:1fr;}
 .v2-admin .v2-welcome{padding:19px;}
 .v2-admin .v2-welcome p{max-width:40ch;}
 .v2-employee .nav{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(70px,.8fr);gap:3px;padding:6px;}
 .v2-employee .nav>button,.v2-employee .v2-employee-more>summary{font-size:.75rem;padding:6px 3px;}
 .v2-employee .stats{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
 .v2-admin .main>.top{flex-wrap:wrap;}
 .v2-portal .v2-welcome{align-items:flex-start;flex-direction:column;}
 .v2-portal .v2-welcome a{width:100%;}
 .v2-portal .panel,.v2-portal .card{padding:16px;border-radius:18px;}
 .v2-portal .hero{border-radius:21px;}
 .v2-employee .top{flex-wrap:wrap;}
 .v2-employee .hero{padding:23px;}
 .v2-employee .nav{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(57px,.7fr);}
 .v2-employee .nav>button,.v2-employee .v2-employee-more>summary{font-size:.69rem;min-height:43px;}
 .v2-employee .employment-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 .v2-customer #portal>.grid{grid-template-columns:1fr;}
 .v2-customer #portal>.grid>.hero{grid-column:1;}
 .v2-customer #portal>.grid>.panel{grid-column:1/-1;}
 .v2-customer .v2-customer-shortcuts{gap:3px;padding:5px;border-radius:14px;top:5px;}
 .v2-customer .v2-customer-shortcuts button{font-size:.67rem;min-height:43px;padding:7px 3px;}
 .v2-customer .top{flex-wrap:wrap;}
 .v2-customer .profileform{grid-template-columns:1fr;}
 .v2-customer .profileform .full{grid-column:1;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}.v2-portal *, .v2-portal *::before,.v2-portal *::after{transition-duration:.01ms!important;}}


/* V2.1: verified mobile layout repair + clearer color hierarchy, 2026-10-08.
   Important: the original authentication JS forces #adminView.style.display='grid'.
   Therefore setting .shell{display:block} alone never works on phones. */
.v2-portal{--v2-blue:#306cb3;--v2-blue-soft:#edf5ff;--v2-amber:#a86b22;--v2-amber-soft:#fff5e6;--v2-rose:#b34869;--v2-rose-soft:#fff0f3;}
.v2-portal .panel,.v2-portal .card,.v2-portal .stat,.v2-portal .job{transition:border-color .2s ease,box-shadow .2s ease;}
.v2-portal .panel:focus-within,.v2-portal .card:focus-within{border-color:#9eb6ca;}
.v2-admin #dashboard>.grid>.panel:first-child{border-top:3px solid #68a9db;}
.v2-admin #dashboard>.grid>.panel:nth-child(2){border-top:3px solid #ecb260;}
.v2-admin #forecastCards .perf-card{border-color:#dce3e8;min-width:0;background:linear-gradient(155deg,#fff,#f5faff);box-shadow:0 8px 23px rgba(12,64,63,.045);overflow-wrap:anywhere;}
.v2-admin #forecastCards .perf-card:nth-child(1){border-top:3px solid #799bb6;}
.v2-admin #forecastCards .perf-card:nth-child(2){border-top:3px solid #78a8d5;}
.v2-admin #forecastCards .perf-card:nth-child(3){border-top:3px solid #e9ba75;}
.v2-admin #forecastCards .perf-card strong{color:#163d44;letter-spacing:-.05em;font-variant-numeric:tabular-nums;}
.v2-admin #attentionList{line-height:1.65;overflow-wrap:anywhere;}
.v2-admin #todayOrders,.v2-admin #attentionList{font-size:.91rem;}
.v2-admin .stats .stat{position:relative;overflow:hidden;min-width:0;padding:19px;border:1px solid var(--v2-line);}
.v2-admin .stats .stat::after{content:"";position:absolute;width:92px;height:92px;border-radius:50%;top:-46px;right:-33px;background:currentColor;opacity:.055;pointer-events:none;}
.v2-admin .stats .stat:nth-child(1){background:linear-gradient(145deg,#fff,#eef6ff);border-color:#d6e6f8;color:#336aaf;}
.v2-admin .stats .stat:nth-child(2){background:linear-gradient(145deg,#fff,#edf3f8);border-color:#d7e1e9;color:#2e5d84;}
.v2-admin .stats .stat:nth-child(3){background:linear-gradient(145deg,#fff,#fff5e9);border-color:#f0e3d1;color:#b77930;}
.v2-admin .stats .stat:nth-child(4){background:linear-gradient(145deg,#fff,#fff0f5);border-color:#f2dde6;color:#bc6680;}
.v2-admin .stats .stat:nth-child(5){background:linear-gradient(145deg,#fff,#f3f1ff);border-color:#e6e0f7;color:#7e69ad;}
.v2-admin .stats .stat:nth-child(6){background:linear-gradient(145deg,#fff,#eaf1f7);border-color:#d5e1eb;color:#2b587c;}
.v2-admin .stats .stat strong{color:var(--v2-ink);}
.v2-admin #dashboard .perf-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;}
.v2-admin .stats .stat small{display:block;font-weight:760;font-size:.8rem;max-width:19ch;}
.v2-admin .stats .stat-action span{font-size:.74rem;line-height:1.2;}
.v2-admin .v2-welcome{background:radial-gradient(circle at 93% 12%,rgba(255,187,115,.24),transparent 34%),linear-gradient(125deg,#123645,#225d69 58%,#2a5476);}
.v2-admin .v2-welcome a{box-shadow:0 8px 22px rgba(0,0,0,.11);}
.v2-employee .stats .stat:nth-child(1){border-top:3px solid #6590b4;}
.v2-employee .stats .stat:nth-child(2){border-top:3px solid #7aa9d9;}
.v2-employee .stats .stat:nth-child(3){border-top:3px solid #dfa765;}
.v2-employee .stats .stat:nth-child(4){border-top:3px solid #da8aa0;}
.v2-employee .hero{background:radial-gradient(circle at 92% 5%,rgba(255,196,135,.19),transparent 32%),linear-gradient(125deg,#163846,#246673 54%,#295376);}
.v2-customer #portal>.grid>.hero{background:radial-gradient(circle at 92% 0%,rgba(255,212,150,.20),transparent 40%),linear-gradient(110deg,#17404c,#286a76 58%,#30618a);}
.v2-customer #portal>.grid>.panel:has(>#orders){border-top:3px solid #74adc9;}
.v2-customer #portal>.grid>.panel:has(>#invoices){border-top:3px solid #e6b16c;}
.v2-customer #portal>.grid>.panel:has(>#notifications){border-top:3px solid #7097b7;}
.v2-customer .v2-customer-shortcuts{z-index:40;}
.v2-portal .table-wrap,.v2-portal .mail-body,.v2-portal .item,.v2-portal .job,.v2-portal .panel{overflow-wrap:anywhere;}
@media(min-width:901px){
 .v2-admin #adminView.shell{grid-template-columns:252px minmax(0,1fr);}
 .v2-admin .main{width:100%;max-width:100%;}
 .v2-admin #forecastCards .perf-card{padding:20px;}
 .v2-admin .v2-welcome{padding:30px;}
}
@media(max-width:900px){
 html:has(body.v2-portal),body.v2-portal{width:100%;max-width:100%;overflow-x:clip;}
 body.v2-admin #adminView.shell{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:100dvh;align-content:start;}
 .v2-admin .side{display:none!important;}
 body.v2-admin #adminView>.main{display:block;grid-column:1/-1!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:16px 14px calc(38px + env(safe-area-inset-bottom))!important;}
 .v2-admin .main>.section{width:100%;max-width:100%;min-width:0;}
 .v2-admin .main>.section.active{display:block;}
 .v2-admin .main>.top{margin:0 0 11px;border-bottom:0;padding:2px 1px 11px;gap:7px;}
 .v2-admin .main>.top h1{font-size:clamp(1.42rem,5.1vw,1.95rem);line-height:1.12;}
 .v2-admin .main>.top .row{gap:7px;flex-wrap:wrap;}
 .v2-admin .mobile-nav{display:grid!important;position:sticky!important;top:0!important;bottom:auto!important;left:auto!important;right:auto!important;inset:auto!important;width:100%!important;max-width:100%!important;min-width:0!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important;background:#fff!important;border:1px solid #dbe2e8!important;box-shadow:0 7px 23px rgba(17,68,65,.09)!important;border-radius:17px!important;padding:5px!important;margin:0 0 18px!important;overflow:visible!important;z-index:500!important;}
 .v2-admin #mobileNav button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;background:transparent!important;border:0!important;color:#246a9b!important;min-height:58px!important;padding:5px 2px!important;font-size:clamp(.65rem,2.8vw,.79rem)!important;line-height:1.14;border-radius:12px!important;white-space:normal;text-align:center;word-break:normal;}
 .v2-admin #mobileNav button::before{font-size:1.2rem;line-height:1;font-weight:700;display:block;}
 .v2-admin #mobileNav button[data-view="dashboard"]::before{content:"⌂";}
 .v2-admin #mobileNav button[data-view="orders"]::before{content:"▤";}
 .v2-admin #mobileNav button[data-view="inbox"]::before{content:"✉";}
 .v2-admin #mobileNav button[data-view="invoices"]::before{content:"▧";}
 .v2-admin #mobileNav #mobileMenuButton::before{content:"☷";}
 .v2-admin #mobileNav button.active{background:linear-gradient(140deg,#d8ebfa,#b9daf0)!important;color:#155486!important;}
 .v2-admin #mobileNav #mobileMenuButton{background:#e8f4fd!important;color:#1d628f!important;white-space:normal;}
 .v2-admin #mobileNav button[data-view="accounting"],.v2-admin #mobileNav button[data-view="employees"]{display:none!important;}
 .v2-admin .v2-welcome{width:100%;max-width:100%;padding:22px!important;border-radius:21px;min-height:0;}
 .v2-admin .v2-welcome h2{font-size:clamp(1.45rem,5vw,2rem);}
 .v2-admin .v2-welcome p{max-width:55ch;}
 .v2-admin .stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%;max-width:100%;}
 .v2-admin .stats .stat{padding:16px;min-width:0;min-height:106px;}
 .v2-admin .stats .stat small{font-size:.77rem;line-height:1.38;}
 .v2-admin .stats .stat strong{font-size:1.9rem;margin-top:11px;}
 .v2-admin .grid,.v2-admin #dashboard>.grid{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:13px;width:100%;max-width:100%;}
 .v2-admin .panel{width:100%;max-width:100%;min-width:0;padding:18px!important;}
 .v2-admin #dashboard .perf-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 .v2-admin .perf-card{min-width:0;overflow-wrap:anywhere;padding:15px;}
 .v2-admin #dashboard #attentionList,.v2-admin #dashboard #todayOrders{width:100%;max-width:100%;overflow-wrap:anywhere;}
 .v2-admin #orders .table-wrap{width:100%;max-width:100%;overflow-x:auto;}
 .v2-admin #customers .table-wrap{width:100%;max-width:100%;overflow-x:auto;}
 .v2-admin .mail-pane-card,.v2-admin .inbox-layout,.v2-admin #mailPaneInbox>.inbox-layout,.v2-admin #mailPaneSent .inbox-layout{min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr);}
 .v2-admin #mobileDrawer:not([hidden]){display:flex;max-height:85dvh;overflow:auto;}
 .v2-employee #app>.shell,.v2-customer>.wrap{width:100%;max-width:100%;min-width:0;}
 .v2-employee .grid,.v2-customer #portal>.grid{min-width:0;}
 .v2-employee .nav{grid-template-columns:repeat(5,minmax(0,1fr));max-width:100%;}
}
@media(max-width:600px){
 .v2-admin #dashboard .perf-grid{grid-template-columns:minmax(0,1fr)!important;}
 .v2-admin .stats .stat{min-height:99px;}
 .v2-admin #forecastCards .perf-card strong{font-size:1.7rem;}
 .v2-admin .main>.top .pill{font-size:.72rem;}
 .v2-admin .stats .stat small{max-width:15ch;}
 .v2-employee .nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:5px;}
 .v2-employee .nav>button,.v2-employee .v2-employee-more>summary{font-size:clamp(.6rem,2.4vw,.78rem);min-width:0;}
 .v2-employee .v2-employee-options{max-width:min(90vw,320px);}
 .v2-customer .v2-customer-shortcuts{top:0;position:sticky;}
}

/* Pearl-blue admin presentation; no data or workflow changes */
body.v2-admin{--v2-ink:#193a59;--v2-dark:#142e4c;--v2-teal:#467fae;--v2-green:#467fae;--v2-muted:#647b91;--v2-bg:#f3f7fc;--v2-line:#d8e5f1;--v2-glow:0 12px 36px rgba(30,76,126,.09);background:#f3f7fc;}
.v2-admin .side{background:linear-gradient(165deg,#122e4e,#245b8c)!important;color:#f5faff;}
.v2-admin .v2-quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;margin:16px 0 22px;}
.v2-admin .v2-quick-card{display:flex;align-items:center;gap:12px;min-height:76px;padding:16px;text-align:left;border:1px solid #d7e6f4;border-radius:14px;background:#eaf4ff;color:#173b60;cursor:pointer;}
.v2-admin .v2-quick-card:nth-child(2){background:#e6f4fa;}.v2-admin .v2-quick-card:nth-child(3){background:#edf0ff;}.v2-admin .v2-quick-card:nth-child(4){background:#eaf1f6;}.v2-admin .v2-quick-card:nth-child(5){background:#f0efff;}
.v2-admin .v2-quick-icon{font-size:1.65rem;color:#3674a6;}
@media(max-width:600px){.v2-admin .v2-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}.v2-admin .v2-quick-card{min-height:76px;padding:12px;gap:8px;font-size:.85rem;}}

/* Shared pearl-blue portal palette: CSS-only, no auth or API changes. */
body.v2-employee,body.v2-customer{--v2-ink:#193a59;--v2-dark:#142e4c;--v2-teal:#467fae;--v2-green:#467fae;--v2-muted:#647b91;--v2-bg:#f3f7fc;--v2-line:#d8e5f1;--v2-glow:0 12px 36px rgba(30,76,126,.09);background:#f3f7fc;color:#193a59;}
.v2-employee .panel,.v2-customer .panel,.v2-employee .card,.v2-customer .card{border-color:#d8e5f1;box-shadow:0 10px 28px rgba(30,76,126,.07);}
.v2-employee .btn:not(.alt):not(:disabled),.v2-customer .btn:not(.alt):not(:disabled){background:#245b8c;color:#fff;}

/* VICKY'S Services V3 – polished internals, no public-site selectors.
   Scope: admin, customer, employee authenticated portals only. */
/* Color accents are information architecture, not decoration */
.v2-portal{--v3-navy:#122f42;--v3-ocean:#2871ad;--v3-sky:#eaf4fe;--v3-green:#264d6c;--v3-mint:#eaf1f6;--v3-gold:#aa7528;--v3-cream:#fff6e9;--v3-berry:#a64d75;--v3-blush:#fff0f5;--v3-purple:#7163b0;--v3-lilac:#f3efff;--v3-line:#e3e8ec;--v3-shadow:0 13px 33px rgba(22,54,63,.065);}
.v2-portal .section,.v2-portal #portal,.v2-portal #app{min-width:0;}
.v2-portal .section>.panel,.v2-portal .section>.grid>.panel,.v2-portal .section>.grid>.card{border:1px solid var(--v3-line);box-shadow:var(--v3-shadow);background:#fff;border-radius:22px;}
.v2-portal .section>.panel{margin-bottom:16px;}
.v2-portal .panel>h2,.v2-portal .section .panel>div>h2,.v2-portal .section .panel>div>div>h2{letter-spacing:-.035em;line-height:1.27;}
.v2-portal .section>.panel>.muted,.v2-portal .section>.panel>p.muted,.v2-portal .section .panel>div>p.muted{max-width:84ch;line-height:1.65;}
.v2-portal .section .panel .msg:not(:empty){padding:13px 15px;border-radius:13px;background:#fff0ef;border:1px solid #f3d9d5;line-height:1.4;}
.v2-portal .section .panel .msg.ok:not(:empty){background:#ebf7f1;border:1px solid #cbe9da}
.v2-portal .section .panel .empty{border-radius:15px;padding:22px 15px;background:#f8f9fa;line-height:1.5;}
.v2-portal .section .panel input:focus,.v2-portal .section .panel textarea:focus,.v2-portal .section .panel select:focus{border-color:#7091ac;box-shadow:0 0 0 3px rgba(41,151,128,.11);outline:0;}
.v2-portal .table-wrap{border:1px solid #e6ebef;border-radius:16px;max-width:100%;background:#fff;margin-top:12px;}
.v2-portal .table{min-width:860px;width:100%;font-size:.85rem;}
.v2-portal .table thead{background:#f5f7f8;}
.v2-portal .table th{border-bottom:1px solid #e3e9ee;color:#64727e;font-weight:800;letter-spacing:.055em;font-size:.69rem;padding:14px 12px;}
.v2-portal .table td{padding:13px 12px;line-height:1.45;}
.v2-portal .table tbody tr:last-child td{border-bottom:0;}
.v2-portal .table tbody tr:nth-child(even){background:#fbfcfd;}
.v2-portal .table tbody tr:hover{background:#f1f5f8;}
.v2-portal .table .btn{box-shadow:none;min-height:36px;padding:8px 12px;}
.v2-portal .section .perf-grid{gap:11px;}
.v2-portal .section .perf-card{border:1px solid var(--v3-line);border-top:3px solid #7097b7;border-radius:18px;box-shadow:0 7px 22px rgba(20,64,64,.045);background:linear-gradient(150deg,#fff,#f5faff);overflow-wrap:anywhere;}
.v2-portal .section .perf-card strong{font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:#173e46;}
.v2-admin #performance .perf-card:nth-child(4n/**/+1),.v2-admin #debtors .perf-card:nth-child(3n/**/+1){border-top-color:#6caada;background:linear-gradient(140deg,#fff,#f2f8ff);}
.v2-admin #performance .perf-card:nth-child(4n/**/+2),.v2-admin #debtors .perf-card:nth-child(3n/**/+2){border-top-color:#6893b7;background:linear-gradient(140deg,#fff,#f1f6fa);}
.v2-admin #performance .perf-card:nth-child(4n/**/+3),.v2-admin #debtors .perf-card:nth-child(3n/**/+3){border-top-color:#dbaa69;background:linear-gradient(140deg,#fff,#fff9ef);}
.v2-admin #performance .perf-card:nth-child(4n/**/+4){border-top-color:#b995db;background:linear-gradient(140deg,#fff,#f9f5ff);}
/* Consistent section identity: keep the existing headings and workflow */
.v2-admin #orders>.panel{border-top:4px solid #6ba6d4;}
.v2-admin #customers>.panel{border-top:4px solid #6794b8;}
.v2-admin #employees>.grid>.panel:nth-child(1){border-top:4px solid #729fcd;}
.v2-admin #employees>.grid>.panel:nth-child(2){border-top:4px solid #9c8bcb;}
.v2-admin #invoices>.panel{border-top:4px solid #e2b36f;}
.v2-admin #debtors>.panel{border-top:4px solid #d68989;}
.v2-admin #performance>.panel{border-top:4px solid #71a9d4;}
.v2-admin #accounting>.grid>.panel:first-child{border-top:4px solid #719abb;}
.v2-admin #accounting>.grid>.panel:nth-child(2){border-top:4px solid #dfb46c;}
.v2-admin #routes>.panel{border-top:4px solid #7aabd6;}
.v2-admin #cases>.panel{border-top:4px solid #c990a7;}
.v2-admin #communications>.grid>.panel{border-top:4px solid #8ba8d4;}
.v2-admin #system>.panel{border-top:4px solid #9b91c7;}
.v2-admin #settings>.panel{border-top:4px solid #92abbf;}
.v2-admin #accounting .perf-card strong,.v2-admin #performance .perf-card strong{font-size:clamp(1.25rem,2.5vw,1.75rem);}
.v2-admin #orders .table tbody td[data-label="Akce"] .actionbox,.v2-admin #orders .actionbox{gap:7px;}
.v2-admin #orders .table tbody td[data-label="Akce"] .btn{border-radius:11px;}
.v2-admin #customers .table td>b,.v2-admin #employees .table td>b{color:#173e47;}
.v2-admin #invoices .table td:nth-child(3),.v2-admin #debtors .table td:nth-child(2){font-size:.94rem;font-weight:850;color:#1e3c55;}
/* Modern mail workspace */
.v2-admin #inbox:not(.mail-reference-layout)>.panel{border:1px solid #dfe5ea;background:#fff;box-shadow:var(--v3-shadow);overflow:visible;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-center-heading{align-items:center;gap:13px;margin-bottom:16px;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-center-heading h2{color:#143f49;font-size:clamp(1.38rem,2.5vw,1.76rem)!important;letter-spacing:-.055em;line-height:1.15;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-center-heading p{max-width:72ch;font-size:.83rem;line-height:1.55;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-unread-pill{border:1px solid #cfe2f4;background:#ebf5ff;color:#28638f;box-shadow:none;border-radius:12px;white-space:nowrap;font-size:.76rem;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-center-tabs{gap:7px;padding:6px;background:#f4f6f7;border:1px solid #e4e8ec;border-radius:16px;margin:0 0 19px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));}
.v2-admin #inbox:not(.mail-reference-layout) .mail-center-tabs button{background:transparent;border:1px solid transparent;color:#586671;font-size:.82rem;line-height:1.25;font-weight:820;padding:12px 7px;border-radius:11px;white-space:normal;min-height:48px;transition:background .2s,color .2s,box-shadow .2s;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-center-tabs button[aria-pressed="true"]{background:#fff;color:#1d3b53;border-color:#dce3e8;box-shadow:0 5px 13px rgba(13,71,67,.10);}
.v2-admin #inbox:not(.mail-reference-layout) .mail-center-tabs button:hover:not([aria-pressed="true"]){background:#eaeef1;color:#1f3f59;}
.v2-admin #inbox:not(.mail-reference-layout) #mailPaneInbox>.inbox-layout,.v2-admin #inbox:not(.mail-reference-layout) #mailPaneSent .inbox-layout{grid-template-columns:minmax(270px,.88fr) minmax(0,1.12fr);gap:15px;}
.v2-admin #inbox:not(.mail-reference-layout) .inbox-list{background:#f5faff;border:1px solid #e3e8ec;border-radius:20px;overflow:hidden;min-width:0;}
.v2-admin #inbox:not(.mail-reference-layout) .inbox-tools{padding:13px;background:#fff;border-bottom:1px solid #e5eaee;gap:8px;}
.v2-admin #inbox:not(.mail-reference-layout) .inbox-tools select,.v2-admin #inbox:not(.mail-reference-layout) .inbox-tools input{min-width:0;min-height:43px;background:#f8f9fa;border:1px solid #dbe0e5;border-radius:11px;font-size:.86rem;}
.v2-admin #inbox:not(.mail-reference-layout) .inbox-tools input{flex-basis:100%;font-size:16px;}
.v2-admin #inbox:not(.mail-reference-layout) #inbox:not(.mail-reference-layout)List,.v2-admin #inbox:not(.mail-reference-layout) #sentList{max-height:680px;overflow-y:auto;padding:9px;display:flex;flex-direction:column;gap:7px;scrollbar-color:#bfccd6 transparent;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-item{position:relative;display:block;flex:none;width:100%;border:1px solid #e4e8ec;border-radius:15px;padding:15px;text-align:left;background:#fff;cursor:pointer;font:inherit;color:#21424a;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;overflow-wrap:anywhere;min-height:93px;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-item:hover{background:#f6f9fb;border-color:#b4c6d5;box-shadow:0 7px 16px rgba(17,78,72,.065);}
.v2-admin #inbox:not(.mail-reference-layout) .mail-item.active{background:#edf2f7;border:1px solid #5884a8;box-shadow:0 0 0 1px rgba(50,139,118,.08),0 8px 21px rgba(40,125,102,.085);}
.v2-admin #inbox:not(.mail-reference-layout) .mail-item.unread{background:linear-gradient(110deg,#fff,#f4f9ff);border-color:#cddff4;box-shadow:inset 3px 0 0 #327abb;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-item.unread.active{background:linear-gradient(115deg,#eaf6ff,#eef3f8);border-color:#83a5c0;box-shadow:inset 3px 0 0 #286faf,0 7px 20px rgba(38,116,157,.08);}
.v2-admin #inbox:not(.mail-reference-layout) .mail-item .v3-mail-top{display:flex;align-items:center;gap:9px;min-width:0;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-item .v3-mail-avatar{width:35px;height:35px;display:grid;place-items:center;flex:none;background:#e7f0f9;color:#3271a2;border-radius:11px;font-size:.85rem;font-weight:900;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-item:not(.unread) .v3-mail-avatar{background:#e9eef2;color:#385f7f;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-item .v3-mail-from{font-size:.81rem;line-height:1.32;font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;color:#365965;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-item .v3-mail-date{font-size:.69rem;line-height:1.3;color:#747e86;white-space:nowrap;font-variant-numeric:tabular-nums;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-item .mail-subject{margin:9px 0 6px;font-size:.87rem;line-height:1.42;color:#183d46;letter-spacing:-.016em;font-weight:760;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-item.unread .mail-subject{font-weight:900;color:#133f54;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-item .v3-mail-foot{display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-item .v3-mail-pill{border-radius:7px;padding:4px 7px;font-size:.68rem;font-weight:850;line-height:1.2;background:#f1f3f4;color:#66727b;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-item .v3-mail-pill.new{background:#e6f1ff;color:#2265a5;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-item .v3-mail-pill.sent{background:#e8f0f6;color:#264d6d;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-item .v3-mail-pill.linked{background:#f3f0ff;color:#6656a1;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-item .v3-mail-pill.attachment{background:#fff4e3;color:#92632e;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-item .v3-mail-preview{font-size:.76rem;color:#64727e;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-view{min-width:0;min-height:310px;padding:25px;background:#fff;border:1px solid #e1e6ea;border-radius:20px;box-shadow:0 8px 25px rgba(18,68,64,.04);overflow-wrap:anywhere;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-view h2{letter-spacing:-.035em;color:#153d49;line-height:1.3;font-size:clamp(1.2rem,2.4vw,1.5rem)!important;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-view .mail-meta{color:#677682;font-size:.79rem;line-height:1.5;margin-bottom:6px;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-view .mail-body{background:#f8fbfd;border:1px solid #e3edf2;color:#28454d;border-left:3px solid #72a9cf;border-radius:14px;padding:18px;font-size:.88rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;max-height:650px;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-view .replybox,.v2-admin #inbox:not(.mail-reference-layout) .mail-view details{border:1px solid #e0e5ea;border-radius:14px;background:#fbfcfc;padding:12px 15px;margin:12px 0;max-width:100%;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-view summary{font-size:.86rem;font-weight:850;color:#1f3e58;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-view .attachments button{background:#f2f2ff;color:#4f5390;border-radius:9px;padding:9px 11px;font-size:.78rem;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-thread-list{background:#f7f9fa;padding:8px;border:1px solid var(--v3-line);border-radius:17px;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-thread{margin:5px 0;border:1px solid #e2e8ec;border-radius:13px;background:#fff;padding:16px;font-size:.87rem;color:#24394b;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-thread:hover{background:#f0f4f8;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-thread .mail-subject{font-size:.9rem;margin:6px 0;color:#163f48;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-pane-card{background:#fff;border-color:#e0e7ec;border-radius:18px;padding:20px;}
.v2-admin #inbox:not(.mail-reference-layout) .mail-pane-card h3{color:#153f49;}
/* Inputs and action panels across all three portals */
.v2-admin #inbox:not(.mail-reference-layout) .mail-pane-card textarea,.v2-admin #inbox:not(.mail-reference-layout) .mail-pane-card input,.v2-admin #inbox:not(.mail-reference-layout) .mail-pane-card select{background:#f9fafb;}
.v2-employee .job,.v2-employee .employment-overview,.v2-employee .pay-item,.v2-employee .doc-item{border:1px solid #e1e6ea;border-radius:20px;box-shadow:var(--v3-shadow);}
.v2-employee .job{border-left:4px solid #7caad0;}
.v2-employee .job:has(.step.done){border-left-color:#709abc;}
.v2-employee .confirmbox,.v2-employee .employment-info{background:#f6f8fa;border-color:#e0e5ea;}
.v2-employee .employment-tasks{border-radius:14px;background:#f4f7ff;border-color:#dce4fa;}
.v2-employee .pay-item{border-top:3px solid #7b9db8;}
.v2-employee .doc-item{border-top:3px solid #8fa8d7;}
.v2-customer #portal>.grid>.panel{box-shadow:var(--v3-shadow);border:1px solid var(--v3-line);border-radius:22px;}
.v2-customer #portal>.grid>.panel:nth-child(3n){background:linear-gradient(155deg,#fff,#fbfcfd);}
.v2-customer .item{border-bottom-color:#e2e7eb;line-height:1.58;}
.v2-customer .item b,.v2-customer .money{color:#1c4e56;}
.v2-customer .case{padding:16px 0;border-bottom-color:#e1e8ee;}
.v2-customer .contract{background:#f4f8ff;border-color:#d9e8f7;}
@media(min-width:901px){
 .v2-admin #inbox:not(.mail-reference-layout) .mail-item .mail-subject{-webkit-line-clamp:2;}
 .v2-admin #inbox:not(.mail-reference-layout) .mail-center-tabs{max-width:100%;}
}
@media(max-width:900px){
 .v2-admin #inbox:not(.mail-reference-layout) .mail-center-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
 .v2-admin #inbox:not(.mail-reference-layout) #mailPaneInbox>.inbox-layout,.v2-admin #inbox:not(.mail-reference-layout) #mailPaneSent .inbox-layout{grid-template-columns:minmax(0,1fr);gap:12px;}
 .v2-admin #inbox:not(.mail-reference-layout) .inbox-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
 .v2-admin #inbox:not(.mail-reference-layout) .inbox-tools>input,.v2-admin #inbox:not(.mail-reference-layout) .inbox-tools input{grid-column:1/-1;min-width:0;width:100%;}
 .v2-admin #inbox:not(.mail-reference-layout) #inbox:not(.mail-reference-layout)List,.v2-admin #inbox:not(.mail-reference-layout) #sentList{max-height:580px;padding:7px;}
 .v2-admin #inbox:not(.mail-reference-layout) .mail-view{padding:20px;min-height:210px;scroll-margin-top:99px;}
 .v2-admin #inbox:not(.mail-reference-layout) .mail-center-heading{align-items:flex-start;flex-direction:column;}
 .v2-admin #inbox:not(.mail-reference-layout) .mail-item{padding:13px;}
 .v2-admin #inbox:not(.mail-reference-layout) .mail-thread-list{max-height:550px;}
 .v2-portal .table{min-width:780px;}
}
@media(max-width:580px){
 .v2-admin #inbox:not(.mail-reference-layout)>.panel{padding:16px!important;}
 .v2-admin #inbox:not(.mail-reference-layout) .mail-center-tabs{grid-template-columns:repeat(2,minmax(0,1fr));padding:5px;}
 .v2-admin #inbox:not(.mail-reference-layout) .mail-center-tabs button{font-size:.77rem;min-height:45px;}
 .v2-admin #inbox:not(.mail-reference-layout) #inbox:not(.mail-reference-layout)List,.v2-admin #inbox:not(.mail-reference-layout) #sentList{max-height:495px;}
 .v2-admin #inbox:not(.mail-reference-layout) .mail-view{padding:15px;min-height:170px;}
 .v2-admin #inbox:not(.mail-reference-layout) .mail-item .v3-mail-date{font-size:.67rem;}
 .v2-admin #inbox:not(.mail-reference-layout) .mail-view .mail-body{padding:13px;}
 .v2-admin #inbox:not(.mail-reference-layout) .mail-center-heading h2{font-size:1.4rem!important;}
 .v2-portal .section>.panel,.v2-portal .section>.grid>.panel{border-radius:19px;}
 .v2-admin #performance .perf-grid,.v2-admin #debtors .perf-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 .v2-admin #performance .perf-card,.v2-admin #debtors .perf-card{padding:13px;}
 .v2-admin #performance .perf-card strong,.v2-admin #debtors .perf-card strong{font-size:1.16rem;}
}
@media(prefers-reduced-motion:reduce){.v2-admin #inbox:not(.mail-reference-layout) .mail-item{transition:none;}}

/* Card tables for smaller screens; labels provided by portal-ui-v3.js. */
@media(max-width:760px){
 .v2-admin .v3-responsive-table{display:block;width:100%;min-width:0!important;max-width:100%;border:0;}
 .v2-admin .v3-responsive-table thead{display:none;}
 .v2-admin .v3-responsive-table tbody{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:9px;background:#f5f7f8;}
 .v2-admin .v3-responsive-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr);border:1px solid #e0e5ea;border-radius:17px;overflow:hidden;background:#fff!important;box-shadow:0 5px 16px rgba(23,70,69,.055);min-width:0;}
 .v2-admin .v3-responsive-table tbody tr:nth-child(3n/**/+1){border-top:3px solid #80afd0;}
 .v2-admin .v3-responsive-table tbody tr:nth-child(3n/**/+2){border-top:3px solid #7296b4;}
 .v2-admin .v3-responsive-table tbody tr:nth-child(3n/**/+3){border-top:3px solid #ddb277;}
 .v2-admin .v3-responsive-table tbody td{display:block!important;min-width:0!important;width:100%!important;border-bottom:1px solid #eff1f3;padding:12px 14px!important;font-size:.86rem;line-height:1.5;overflow-wrap:anywhere;}
 .v2-admin .v3-responsive-table tbody td:last-child{border-bottom:0;}
 .v2-admin .v3-responsive-table tbody td[data-v3-label]::before{content:attr(data-v3-label);display:block;color:#727f89;letter-spacing:.045em;text-transform:uppercase;font-size:.64rem;font-weight:900;margin:0 0 4px;}
 .v2-admin .v3-responsive-table tbody td .actionbox{min-width:0;display:flex;flex-wrap:wrap;gap:7px;}
 .v2-admin .v3-responsive-table tbody td input:not([type=checkbox]),.v2-admin .v3-responsive-table tbody td select,.v2-admin .v3-responsive-table tbody td textarea{width:100%;max-width:100%;min-width:0;}
 .v2-admin .v3-responsive-table tbody td .btn{min-height:40px;}
 .v2-admin .v3-responsive-table tbody td[colspan]::before{display:none;}
 .v2-admin #customers .table-wrap,.v2-admin #employees .table-wrap,.v2-admin #invoices .table-wrap,.v2-admin #debtors .table-wrap,.v2-admin #cases .table-wrap,.v2-admin #routes .table-wrap{overflow:visible;border:0;border-radius:0;background:transparent;}
}


/* VICKY’S Services — elegant grouped navigation V4.
   Only admin.html loads this file; customer and employee portals stay untouched. */
.v2-admin{--v4-order:#3579b7;--v4-pricing:#ae7833;--v4-finance:#2b577b;--v4-property:#7765b0;--v4-team:#547caa;--v4-contact:#ba6881;--v4-system:#667a85;}
.v2-admin #desktopNav .v4-desktop-group,
.v2-admin #mobileMenuItems .v4-mobile-group{--v4-accent:#3e6382;--v4-bg:#edf3f8;--v4-border:#cedae4;}
.v2-admin [data-nav-group="main"]{--v4-accent:#266e78!important;--v4-bg:#e8eff5!important;--v4-border:#cfdbe5!important;}
.v2-admin [data-nav-group="orders"]{--v4-accent:var(--v4-order)!important;--v4-bg:#edf5fc!important;--v4-border:#d7e7f4!important;}
.v2-admin [data-nav-group="pricing"]{--v4-accent:var(--v4-pricing)!important;--v4-bg:#fff7ec!important;--v4-border:#f3e2c9!important;}
.v2-admin [data-nav-group="finance"]{--v4-accent:var(--v4-finance)!important;--v4-bg:#edf3f8!important;--v4-border:#d2dfe9!important;}
.v2-admin [data-nav-group="property"]{--v4-accent:var(--v4-property)!important;--v4-bg:#f4f1fc!important;--v4-border:#e5def4!important;}
.v2-admin [data-nav-group="team"]{--v4-accent:var(--v4-team)!important;--v4-bg:#edf4fc!important;--v4-border:#d6e5f4!important;}
.v2-admin [data-nav-group="contact"]{--v4-accent:var(--v4-contact)!important;--v4-bg:#fff1f5!important;--v4-border:#f2dbe2!important;}
.v2-admin [data-nav-group="system"]{--v4-accent:var(--v4-system)!important;--v4-bg:#f2f5f7!important;--v4-border:#dce5e9!important;}
.v2-admin [data-nav-group="account"]{--v4-accent:#606e79!important;--v4-bg:#f5f7f8!important;--v4-border:#dce2e7!important;}
/* Desktop sidebar: grouped actions, not a 30-button scroll. */
.v2-admin #desktopNav>.v4-desktop-group{display:block;border:1px solid rgba(226,243,237,.1);border-radius:13px;margin:7px 0 0;background:rgba(255,255,255,.025);overflow:hidden;}
.v2-admin #desktopNav>.v4-desktop-group>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px;cursor:pointer;list-style:none;color:#d7e2eb;font-weight:780;font-size:.79rem;line-height:1.4;transition:background .16s;}
.v2-admin #desktopNav>.v4-desktop-group>summary::-webkit-details-marker{display:none;}
.v2-admin #desktopNav>.v4-desktop-group>summary::after{content:"⌄";opacity:.7;font-size:1rem;transform-origin:center;transition:transform .16s;}
.v2-admin #desktopNav>.v4-desktop-group[open]>summary::after{transform:rotate(180deg);}
.v2-admin #desktopNav>.v4-desktop-group>summary:hover{background:rgba(255,255,255,.065);}
.v2-admin #desktopNav>.v4-desktop-group[open]{background:rgba(255,255,255,.045);border-color:rgba(216,241,232,.17);}
.v2-admin #desktopNav>.v4-desktop-group[open]>summary{box-shadow:inset 3px 0 0 var(--v4-accent);background:rgba(255,255,255,.035);color:#fff;}
.v2-admin #desktopNav .v4-desktop-actions{padding:4px 5px 7px 11px;display:grid;gap:2px;}
.v2-admin #desktopNav .v4-desktop-actions button{display:block;min-height:36px;text-align:left;width:100%;border-radius:10px;border:0;color:#c1ced8;background:transparent;padding:9px 10px;font-size:.79rem;font-weight:650;line-height:1.35;cursor:pointer;}
.v2-admin #desktopNav .v4-desktop-actions button:hover{color:#fff;background:rgba(255,255,255,.10);}
.v2-admin #desktopNav .v4-desktop-actions button.active{color:#fff;background:rgba(255,255,255,.13);box-shadow:inset 3px 0 0 var(--v4-accent);}
.v2-admin #desktopNav .v4-logout{margin:16px 0 4px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);color:#c9d3dc;border-radius:11px;}
/* Mobile menu: colored category cards and collapsible sections. */
.v2-admin .mobile-drawer{background:linear-gradient(180deg,#fff 0%,#f8fafb 100%);border:1px solid #edeff0;border-radius:27px 27px 0 0;box-shadow:0 -17px 70px rgba(8,35,40,.23);padding:19px 15px max(18px,env(safe-area-inset-bottom));}
.v2-admin .mobile-drawer-header strong{color:#19484f;letter-spacing:-.04em;font-size:clamp(1.14rem,4.7vw,1.4rem);}
.v2-admin .mobile-drawer-header .btn{white-space:nowrap;}
.v2-admin .mobile-drawer .mobile-drawer-search{background:white;border-color:#d6dfe6;min-height:49px;box-shadow:0 4px 11px rgba(24,70,68,.035);}
.v2-admin #mobileMenuItems{display:block;padding:3px 1px 20px;overflow-y:auto;max-height:none;scrollbar-width:thin;scrollbar-color:#cbd4dc transparent;}
.v2-admin #mobileMenuItems .v4-mobile-group{min-width:0;display:block;margin:0 0 11px;border:1px solid var(--v4-border);background:linear-gradient(120deg,#fff,var(--v4-bg));border-radius:17px;overflow:hidden;box-shadow:0 5px 17px rgba(15,54,54,.035);}
.v2-admin #mobileMenuItems .v4-mobile-group[hidden]{display:none!important;}
.v2-admin #mobileMenuItems .v4-mobile-group>h3{margin:0;padding:15px 16px 6px;font-size:.78rem;text-transform:uppercase;letter-spacing:.11em;font-weight:950;color:var(--v4-accent);}
.v2-admin #mobileMenuItems details.v4-mobile-group>summary{display:flex;gap:10px;align-items:center;justify-content:space-between;min-height:59px;list-style:none;padding:14px 17px;cursor:pointer;font-weight:830;color:#253e47;line-height:1.28;box-shadow:inset 4px 0 0 var(--v4-accent);}
.v2-admin #mobileMenuItems details.v4-mobile-group>summary::-webkit-details-marker{display:none;}
.v2-admin #mobileMenuItems details.v4-mobile-group[open]>summary{border-bottom:1px solid var(--v4-border);}
.v2-admin #mobileMenuItems .v4-nav-count{display:grid;place-items:center;font-size:.76rem;min-width:30px;min-height:26px;padding:2px 6px;color:var(--v4-accent);border-radius:8px;background:#fff;border:1px solid var(--v4-border);font-weight:900;}
.v2-admin #mobileMenuItems .v4-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;}
.v2-admin #mobileMenuItems button{display:flex;align-items:center;justify-content:flex-start;text-align:left;min-width:0;width:100%;min-height:57px;border:1px solid var(--v4-border);border-radius:12px;background:#fff;color:#24434d;padding:12px 13px;font-size:.82rem;font-weight:780;line-height:1.35;overflow-wrap:anywhere;box-shadow:0 2px 8px rgba(18,60,59,.025);}
.v2-admin #mobileMenuItems button:hover,.v2-admin #mobileMenuItems button:focus-visible{border-color:var(--v4-accent);background:var(--v4-bg);color:#133c43;}
.v2-admin #mobileMenuItems button.active{border-color:var(--v4-accent);box-shadow:inset 3px 0 0 var(--v4-accent);background:var(--v4-bg);color:#163d46;}
.v2-admin #mobileMenuItems button[hidden]{display:none!important;}
.v2-admin #mobileMenuItems .v4-mobile-primary{background:#f5f8fa;border-color:#dce5ec;}
.v2-admin #mobileMenuItems .v4-mobile-primary button:nth-child(2){border-left:3px solid #6fa4d0;}
.v2-admin #mobileMenuItems .v4-mobile-primary button:nth-child(3){border-left:3px solid #7299b8;}
.v2-admin #mobileMenuItems .v4-mobile-primary button:nth-child(4){border-left:3px solid #c18da5;}
.v2-admin #mobileMenuItems .v4-mobile-primary button:nth-child(5){border-left:3px solid #e3ad6e;}
.v2-admin #mobileMenuItems .v4-mobile-primary button:nth-child(6){border-left:3px solid #809cbe;}
.v2-admin #mobileMenuItems .v4-menu-grid button:only-child{grid-column:1/-1;}
.v2-admin #mobileMenuEmpty{font-size:.88rem;text-align:center;margin:12px;padding:16px;color:#687681;}
@media(min-width:901px){.v2-admin #mobileMenuItems .v4-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){
 .v2-admin .mobile-drawer{padding:17px 13px max(19px,env(safe-area-inset-bottom));gap:10px;max-height:90dvh;}
 .v2-admin #mobileMenuItems .v4-mobile-group>h3{padding:13px 12px 4px;}
 .v2-admin #mobileMenuItems .v4-menu-grid{padding:9px;gap:7px;}
 .v2-admin #mobileMenuItems button{padding:10px 11px;font-size:.79rem;min-height:56px;}
 .v2-admin #mobileMenuItems details.v4-mobile-group>summary{font-size:.9rem;min-height:55px;padding:13px 14px;}
}
@media(max-width:350px){.v2-admin #mobileMenuItems .v4-menu-grid{grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){.v2-admin #desktopNav .v4-desktop-group>summary::after{transition:none;}}

/* Pearl blue for operational centers. Presentation only; preserve structure and functional states. */
body.v2-portal {
 --ink:#183a59;--teal:#246fa7;--dark:#123f70;
 --mint:#eaf4fd;--cream:#f3f8fd;--bg:#f3f8fd;
 --line:#cbdfee;--muted:#617d93;
 --v2-ink:#173a59;--v2-dark:#123f70;--v2-teal:#246fa7;
 --v2-green:#397fae;--v2-muted:#617d93;--v2-bg:#f3f8fd;
 --v2-line:#d2e3f0;
 --v3-navy:#123f70;--v3-ocean:#246fa7;--v3-sky:#eaf4fd;
 --v3-green:#367ba9;--v3-mint:#eaf4fd;--v3-line:#d2e3f0;
 background:radial-gradient(ellipse at 88% 0%,rgba(135,190,229,.34),transparent 45%),
 radial-gradient(ellipse at 0% 55%,rgba(218,237,251,.8),transparent 58%),
 linear-gradient(135deg,#f8fbff,#e5f1fa 52%,#f7fbff)!important;
 color:#173a59;
}
body.v2-portal :is(.hero,.welcome-hero,.dashboard-hero,.owner-hero,.side){
 background:linear-gradient(120deg,#123f70,#236da5 55%,#4e96bf 85%,#1b578b)!important;
}
body.v2-portal :is(.btn.teal,.mobile-menu-button){background:#246fa7!important;}
body.v2-portal :is(.card,.panel,.login-card,.loginbox){
 border-color:#d0e1ee;
}
body.v2-portal :is(input,select,textarea):focus-visible{
 outline-color:#4e95c3;
}
body.v2-portal .mobile-nav button.active{
 background:#e4f1fb!important;color:#174d79!important;border-color:#a9cde6!important;
}
body.v2-portal .v4-mobile-group{
 --v4-accent:#246fa7;--v4-bg:#edf6fd;--v4-border:#cbdfee;
}
body.v2-portal .v4-mobile-group [data-nav-group]{
 --v4-accent:#246fa7;--v4-bg:#edf6fd;--v4-border:#cbdfee;
}

/* Pearl-blue consistency: visual-only overrides for all portal centers. */
body.v2-portal{
 --v3-green:#397fae;--v3-mint:#eaf4fd;
 --v3-gold:#397fae;--v3-cream:#f0f7fd;
 --v3-berry:#397fae;--v3-blush:#edf6fd;
 --v3-purple:#397fae;--v3-lilac:#edf6fd;
}
body.v2-portal :is(.v2-hero,.v3-hero,.v4-hero,.dashboard-welcome,.dashboard-banner,.v2-dashboard-hero){
 background:linear-gradient(115deg,#123f70 0%,#1b5a90 48%,#398bc0 100%)!important;
 color:#fff!important;
}
body.v2-portal :is(.nav button.active,.v2-mobile-nav button.active,.mobile-nav button.active){
 color:#174d79!important;
}
body.v2-portal :is(.perf-card,.stat-card,.metric-card){
 border-color:#cbdfee!important;
}
body.v2-portal .section .perf-card{
 border-top-color:#70aeda!important;
 background:linear-gradient(145deg,#fff,#edf6fd)!important;
}
body.v2-portal .section .perf-card strong{color:#173a59!important;}
body.v2-portal :is(.table thead,.table tbody tr:nth-child(even),.section .panel .empty){
 background:#f1f7fc!important;
}
body.v2-portal :is(.table th,.table td>b,.mail-center-heading h2){color:#24577e!important;}
body.v2-portal :is(.section .panel input,.section .panel textarea,.section .panel select):focus{
 border-color:#70aee0!important;box-shadow:0 0 0 3px rgba(55,137,194,.13)!important;
}
body.v2-portal .side{background:linear-gradient(160deg,#123f70,#1c6499)!important;}

/* Fix actual dashboard hero and navigation selectors (not generic placeholders). */
body.v2-portal .v2-welcome{
 background:linear-gradient(115deg,#123f70 0%,#1b5d93 52%,#398dc0 100%)!important;
 box-shadow:0 16px 35px rgba(18,63,112,.16)!important;
}
body.v2-portal .v2-welcome :is(h2,p,.v2-kicker){color:#e2f3ff!important;}
body.v2-portal .v2-welcome h2{color:#fff!important;}
body.v2-portal .v2-welcome a{color:#174d79!important;}
body.v2-portal .v2-mark{background:linear-gradient(135deg,#e4f3ff,#9bcee9)!important;color:#155487!important;}
body.v2-portal :is(.v2-nav-more,.v2-mobile-nav,.mobile-nav,.v4-mobile-group) :is(button,a).active{background:#e4f1fb!important;color:#174d79!important;}
body.v2-portal .v2-kicker{color:#79b5df!important;}
body.v2-portal .v2-welcome .v2-kicker{color:#b9e0f8!important;}
body.v2-portal .btn:not(.alt):not(.faceid):not(:disabled){background:linear-gradient(130deg,#164979,#3687b7)!important;color:#fff!important;}
body.v2-portal .tag,body.v2-portal .verify-pill{background:#eaf4fd!important;color:#245f8d!important}
body.v2-portal a:not(.btn){color:#246fa7;}

/* Mobile owner navigation: actual #mobileNav buttons, icons and selected tile. */
body.v2-admin #mobileNav{
 background:rgba(255,255,255,.92)!important;
 border:1px solid #d2e4f2!important;
 box-shadow:0 10px 30px rgba(24,75,121,.08)!important;
}
body.v2-admin #mobileNav button{
 color:#285e88!important;
 border-color:transparent!important;
}
body.v2-admin #mobileNav button:is(.active,[aria-current="page"]){
 color:#155486!important;
 background:linear-gradient(140deg,#e5f3ff,#d4e9f8)!important;
 border-color:#c5dff0!important;
}
body.v2-admin #mobileNav button::before,
body.v2-admin #mobileNav button::after{
 color:#286c9c!important;
}
body.v2-admin #mobileNav button:not(.active):hover{
 background:#edf6fd!important;
}
body.v2-admin #mobileNav .mobile-menu-button{
 color:#fff!important;background:linear-gradient(135deg,#1a568a,#358bc0)!important;
}
body.v2-admin #mobileMenuItems .v4-mobile-group{
 --v4-accent:#246fa7!important;--v4-bg:#edf6fd!important;--v4-border:#cbdfee!important;
}
body.v2-admin #mobileMenuItems .v4-mobile-group :is(button,summary,h3){color:#245e8d!important;}
body.v2-admin #mobileMenuItems .v4-mobile-group button.active{background:#dfeffc!important;color:#164e7d!important;}

/* Exact mobile tab bar colors — all descendants, including generated icon spans. */
html body.v2-admin #mobileNav.mobile-nav > button:not(.mobile-menu-button){
 color:#246a9b!important;
 -webkit-text-fill-color:#246a9b!important;
}
html body.v2-admin #mobileNav.mobile-nav > button:not(.mobile-menu-button) :is(span,strong,small,i,svg){
 color:#246a9b!important;
 -webkit-text-fill-color:#246a9b!important;
}
html body.v2-admin #mobileNav.mobile-nav > button.active:not(.mobile-menu-button){
 color:#155486!important;
 -webkit-text-fill-color:#155486!important;
 background:linear-gradient(140deg,#d8ebfa,#b9daf0)!important;
 border-color:#b3d3e9!important;
}
html body.v2-admin #mobileNav.mobile-nav > button.active:not(.mobile-menu-button) :is(span,strong,small,i,svg){
 color:#155486!important;-webkit-text-fill-color:#155486!important;
}
html body.v2-admin #mobileNav.mobile-nav > button.mobile-menu-button{
 background:linear-gradient(140deg,#e8f4fd,#d5eaf9)!important;
 color:#1d628f!important;-webkit-text-fill-color:#1d628f!important;
 border-color:#cbdfee!important;
}
html body.v2-admin #mobileNav.mobile-nav > button.mobile-menu-button :is(span,strong,small,i,svg){
 color:#1d628f!important;-webkit-text-fill-color:#1d628f!important;
}

/* VICKY'S Atelier / Studio — isolated design tokens. No production selectors overwritten. */
:root{--atelier-wall:#e7eff5;--atelier-paper:#fff;--atelier-ink:#193c58;--atelier-muted:#607c91;--atelier-accent:#315f80;--atelier-line:#e2ebf1;--atelier-radius:18px;}
.atelier-studio{background:radial-gradient(ellipse at 15% 10%,#f6fbff 0,transparent 55%),linear-gradient(140deg,#e7eff5,#f0f5f8);color:var(--atelier-ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;padding:clamp(16px,4vw,40px);}
.atelier-studio .atelier-paper{max-width:720px;margin:auto;padding:clamp(22px,5vw,48px);background:var(--atelier-paper);border-radius:var(--atelier-radius);box-shadow:0 12px 40px #1b496310;}
.atelier-studio .atelier-heading{font-size:clamp(24px,5vw,36px);font-weight:650;letter-spacing:-.03em;}
.atelier-studio .atelier-panel{background:#eff5f9;border-radius:14px;padding:20px;}
.atelier-studio .atelier-button{border:0;border-radius:12px;padding:13px 20px;background:var(--atelier-accent);color:white;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;}
.atelier-studio .atelier-button:hover{transform:translateY(-2px);box-shadow:0 9px 22px #315f8030;}
.atelier-studio .atelier-button:focus-visible{outline:3px solid #81b3d3;outline-offset:3px;}
@media(prefers-reduced-motion:reduce){.atelier-studio *{animation:none!important;transition:none!important;}}
@media(max-width:600px){.atelier-studio{padding:12px;}.atelier-studio .atelier-paper{border-radius:14px;}}
/* Portal-wide Atelier tokens: no change to authentication, navigation or forms. */
body.v2-portal{--ink:#193c58;--teal:#315f80;--dark:#193c58;--mint:#e7eff5;--cream:#f3f7fa;--bg:#f3f7fa;--line:#dce8ef;--muted:#607c91;--v2-ink:#193c58;--v2-dark:#193c58;--v2-teal:#315f80;--v2-green:#315f80;--v2-muted:#607c91;--v2-bg:#f3f7fa;--v2-line:#dce8ef;--v3-navy:#193c58;--v3-ocean:#315f80;--v3-sky:#e7eff5;--v3-green:#315f80;--v3-mint:#e7eff5;--v3-line:#dce8ef;background:radial-gradient(ellipse at 85% 0%,#e2edf4,transparent 53%),linear-gradient(140deg,#f8fbfc,#e7eff5 58%,#f3f7fa)!important;color:#193c58;}
body.v2-portal :is(.hero,.welcome-hero,.dashboard-hero,.owner-hero,.side,.v2-hero,.v3-hero,.v4-hero,.dashboard-welcome,.dashboard-banner,.v2-dashboard-hero,.v2-welcome){background:linear-gradient(120deg,#193c58,#315f80 65%,#719bb5)!important;}
body.v2-portal :is(.card,.panel,.login-card,.loginbox,.perf-card,.stat-card,.metric-card){border-color:#dce8ef!important;box-shadow:0 8px 28px rgba(25,60,88,.06);}
body.v2-portal :is(.btn.teal,.mobile-menu-button){background:#315f80!important;}
body.v2-portal :is(input,select,textarea):focus-visible{outline:2px solid #719bb5;outline-offset:2px;}
body.v2-portal :is(button,a):focus-visible{outline:3px solid #719bb5;outline-offset:3px;}
body.v2-portal :is(button,.btn){transition:transform .18s ease,box-shadow .18s ease;}
body.v2-portal :is(button,.btn):active{transform:scale(.985);}
@media(prefers-reduced-motion:reduce){body.v2-portal :is(button,.btn){transition:none;}}

/* Shared portal surface system — applied to real admin/customer/employee DOM. */
body.v2-portal{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;--atelier-card:#fff;--atelier-outline:#dce8ef;}
body.v2-portal :is(.panel,.card,.stat-card,.perf-card,.metric-card,.login-card,.loginbox){background-color:#fff;border:1px solid #dce8ef!important;border-radius:15px!important;box-shadow:0 6px 25px #193c580d;}
body.v2-portal :is(.section h1,.section h2,.panel h2,.panel h3){letter-spacing:-.025em;color:#193c58;}
body.v2-portal :is(.section input,.section select,.section textarea,.panel input,.panel select,.panel textarea){border-radius:9px;border-color:#dce8ef;max-width:100%;}
body.v2-portal :is(.section button,.section .btn,.panel button,.panel .btn){border-radius:8px;transition:filter .2s ease,transform .2s ease;}
body.v2-portal :is(.section button,.section .btn,.panel button,.panel .btn):hover{filter:brightness(1.04);}
body.v2-portal :is(.section button,.section .btn,.panel button,.panel .btn):active{transform:scale(.985);}
body.v2-portal :is(.section table,.panel table){border-collapse:collapse;width:100%;}
body.v2-portal :is(.section th,.panel th){background:#edf4f8;color:#193c58;}
body.v2-portal :is(.section td,.panel td){border-bottom:1px solid #e2ebf1;}
@media(max-width:767px){body.v2-portal :is(.section,.panel,.card){min-width:0;}body.v2-portal :is(.section table,.panel table){display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}body.v2-portal :is(.section button,.panel button){min-height:40px;}}
@media(prefers-reduced-motion:reduce){body.v2-portal :is(.section button,.panel button){transition:none;}}

/* Canonical STUDIO surfaces and responsive workspace shell. */
body.v2-portal{--ink:#193c58;--teal:#315f80;--dark:#193c58;--mint:#edf4f8;--cream:#f3f7fa;--bg:#f3f7fa;--line:#dce8ef;--muted:#607c91;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;}
.v2-portal .studio-workspace-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0 24px;border-bottom:1px solid #dce8ef;margin-bottom:24px;}.studio-workspace-header h1{font:400 clamp(26px,3.3vw,40px)/1.2 Georgia,serif;margin:4px 0;color:#193c58;}.studio-workspace-header p{margin:0;color:#607c91;font-size:13px;}.studio-workspace-header .studio-label{font-size:10px;letter-spacing:2px;color:#607c91;}.studio-workspace-header>a{font-size:13px;text-decoration:none;color:#315f80;}.v2-portal .v2-welcome{background:linear-gradient(115deg,#193c58,#315f80)!important;border-radius:18px;}.v2-portal .v2-welcome h2{font-family:Georgia,serif;font-weight:400;font-size:32px;}.v2-portal .v2-welcome p,.v2-portal .v2-welcome .v2-kicker{color:#dce8ef;}.v2-portal .v2-quick-card{padding:0;overflow:hidden;text-align:left;background:#fff;border:1px solid #dce8ef;border-radius:14px;}.v2-portal .studio-shortcut-image{display:block;width:100%;height:100px;object-fit:cover;filter:saturate(.75);transition:transform .5s;}.v2-portal .v2-quick-card:hover .studio-shortcut-image{transform:scale(1.035);}.v2-portal .v2-quick-card strong{display:block;margin:14px 16px 18px;}.v2-portal .v2-quick-card .v2-quick-icon{display:none;}.v2-portal .studio-official-logo{width:180px;max-width:100%;height:55px;object-fit:contain;display:block;}.v2-portal .side .brand{padding:0;margin-bottom:22px;}.v2-portal .studio-nav-search{display:block;width:100%;margin:0 0 18px;padding:12px;border:1px solid #719bb5;border-radius:8px;background:#fff;color:#193c58;font-size:14px;}.v2-portal .studio-nav-empty{color:#dce8ef;font-size:13px;padding:10px;}.v2-portal .btn:not(.alt):not(.faceid):not(.danger):not(.red):not(:disabled){background:#315f80;color:#fff}.v2-portal a{color:#315f80;}.v2-portal .side a{color:#e7eff5;}.v2-portal .table-wrap{overflow:auto;max-width:100%;}.v2-portal .panel,.v2-portal .card{min-width:0;}.v2-portal .nav{scrollbar-width:thin;}
@media(max-width:767px){.v2-portal .studio-workspace-header{gap:12px;padding:10px 0 17px;margin-bottom:18px;}.studio-workspace-header p{font-size:12px;}.v2-portal .v2-welcome h2{font-size:27px;}.v2-portal .studio-shortcut-image{height:70px;}.v2-portal .v2-quick-card strong{margin:10px;font-size:12px;}.studio-workspace-header>a{white-space:nowrap;}}
@media(prefers-reduced-motion:reduce){.v2-portal .studio-shortcut-image{transition:none;}}

.v2-portal .studio-filtered-out{display:none!important}

