:root{--ink:#152335;--navy:#102d4e;--muted:#637082;--line:#dce1e7;--paper:#fff;--wash:#f5f7f9;--accent:#315c87;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--paper)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}button:focus-visible,a:focus-visible{outline:3px solid #4b92d6;outline-offset:5px}input:focus-visible{outline:none;border-color:#315c87;box-shadow:0 0 0 3px #315c8720}[hidden]{display:none!important}.skip-link{position:fixed;z-index:100;left:12px;top:-80px;background:white;padding:16px}.skip-link:focus{top:12px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.19em;line-height:1.7}.wordmark{font-size:3.3rem;letter-spacing:-.075em;font-weight:800;line-height:1;color:inherit;display:block}.brand-lockup{display:flex;align-items:center;gap:22px}.brand-divider{height:27px;width:1px;background:currentColor;opacity:.3}.brand-caption{font-size:.75rem;letter-spacing:.2em;font-weight:700}.login-screen{min-height:100svh;display:grid;grid-template-columns:51% 49%}.brand-panel{background:var(--navy);color:white;padding:46px 60px 30px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;min-height:760px}.brand-panel:after{content:"";width:160px;height:3px;background:#6e98be;position:absolute;bottom:0;left:60px}.brand-statement{padding:60px 0 70px}.brand-statement>.eyebrow{color:#a9bfd4}.brand-statement h1{font-size:clamp(2.8rem,4.15vw,4.3rem);letter-spacing:-.055em;font-weight:500;line-height:1.16;margin:29px 0}.brand-statement h1 span{color:#a9bfd4}.brand-rule{width:42px;height:2px;background:#a9bfd4;margin:38px 0 26px}.brand-statement p{font-size:1rem;line-height:1.8;color:#c8d5e1;margin:0}.brand-bottom{display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.18em;color:#b0c3d5}.login-main{display:flex;flex-direction:column;justify-content:space-between;padding:44px 56px 29px;min-width:0}.login-top,.login-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:.75rem;letter-spacing:.08em;color:var(--muted)}.login-top>span:first-child{font-size:.75rem;letter-spacing:.16em;font-weight:700}.preview-label{display:inline-flex;border:1px solid var(--line);padding:6px 10px;font-size:.75rem;color:#586476;letter-spacing:.07em;white-space:nowrap}.login-form-wrap{max-width:392px;width:100%;margin:60px auto}.login-form-wrap>.eyebrow{color:#6b7d91}.login-form-wrap h2{font-size:2.5rem;font-weight:500;letter-spacing:-.045em;line-height:1.13;margin:19px 0}.login-intro{color:var(--muted);font-size:1rem;line-height:1.7;margin:0 0 36px}.field{margin:0 0 23px}.field label{display:block;font-size:.875rem;font-weight:600;margin:0 0 10px}.field input{width:100%;min-height:54px;border:1px solid #cbd1d9;border-radius:0;background:white;padding:14px 16px;color:var(--ink);font-size:1rem;transition:border-color .15s,box-shadow .15s}.field input::placeholder{color:#8a94a0;font-size:1rem}.password-wrap{position:relative}.password-wrap input{padding-right:58px}.eye-button{position:absolute;right:5px;top:5px;width:44px;height:44px;background:transparent;border:0;display:grid;place-items:center;color:#6d7988}.eye-button svg{width:22px;height:22px}.eye-button:hover{background:#f2f5f8;color:var(--navy)}.field-note{color:#805412;font-size:.8125rem;margin:8px 0 0}.primary-button{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:54px;background:var(--navy);color:white;border:1px solid var(--navy);padding:15px 20px;font-weight:600;font-size:1rem;transition:background .2s}.primary-button:hover:not(:disabled){background:#214b76}.primary-button:disabled{opacity:.65}.primary-button>span:last-child{font-size:1.35rem;font-weight:400}.login-help{display:flex;align-items:center;gap:9px;color:#7b8693;font-size:.75rem;line-height:1.6;margin:22px 0 0}.login-help svg{height:16px;width:16px;flex-shrink:0}.login-footer{font-size:.75rem;letter-spacing:0}.error-message{font-size:.875rem;line-height:1.55;color:#942f2c;border-left:3px solid #942f2c;background:#fff2f1;padding:12px 14px;margin:0 0 18px}.dashboard-screen{min-height:100svh;display:flex;flex-direction:column}.site-header{border-bottom:1px solid var(--line);height:100px;display:flex;align-items:center}.header-inner{width:min(1240px,calc(100% - 96px));margin:auto;display:flex;justify-content:space-between;align-items:center;gap:24px}.home-brand{text-decoration:none;gap:23px}.home-brand .wordmark{font-size:2.95rem;color:var(--navy)}.home-brand .brand-caption{font-size:.75rem}.home-brand .brand-divider{color:#708096}.account-area{display:flex;align-items:center;gap:12px}.avatar{display:grid;place-items:center;width:38px;height:38px;background:#edf1f5;border:1px solid #dce3ea;border-radius:50%;font-size:.75rem;font-weight:700;color:var(--navy)}.account-copy{display:flex;flex-direction:column;gap:5px}.account-copy strong{font-size:.875rem;font-weight:600}.account-copy>span{font-size:.75rem;color:var(--muted)}.icon-button{width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:#64748b;margin-left:15px}.icon-button svg{width:20px;height:20px}.icon-button:hover{background:#f0f3f6;color:var(--navy)}.dashboard-main{width:min(1240px,calc(100% - 96px));margin:0 auto;padding:45px 0 0;flex:1}.context-row{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted)}.context-row>.eyebrow{font-size:.75rem}.context-row time{font-size:.75rem}.welcome{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:21px 0 44px}.welcome h1{font-size:2.8rem;letter-spacing:-.055em;font-weight:500;line-height:1.2;margin:0 0 12px}.welcome p{font-size:1rem;color:var(--muted);margin:0;line-height:1.6}.scope-badge{display:flex;align-items:center;gap:12px;border-left:1px solid var(--line);padding:10px 0 10px 28px}.scope-badge svg{width:25px;height:25px;color:#59728d}.scope-badge>div{display:flex;flex-direction:column;gap:7px}.scope-badge strong{font-size:.8125rem;font-weight:600}.scope-badge span{font-size:.75rem;color:var(--muted);max-width:250px;line-height:1.5}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:24px}.section-heading h2{font-size:1rem;font-weight:600;margin:0}.section-heading>span{font-size:.75rem;letter-spacing:.15em;color:#7a8796}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.module-card{border:1px solid var(--line);padding:26px 29px 18px;position:relative;min-width:0;display:flex;flex-direction:column;transition:transform .2s,border-color .2s,box-shadow .2s;background:#fff;border-top:3px solid #b2c3d4}.module-card:hover{transform:translateY(-4px);border-color:#819ab3;box-shadow:0 14px 28px #102d4e0b}.card-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.card-number{font-size:.875rem;color:#7b8da1;letter-spacing:.05em}.card-category{font-size:.75rem;font-weight:700;letter-spacing:.12em;color:#728195}.module-symbol{margin:36px 0 27px;display:flex;align-items:center;color:#3b526c}.module-symbol svg{width:46px;height:46px;stroke-width:1.4}.module-card h3{font-size:1.65rem;font-weight:500;letter-spacing:-.04em;margin:0 0 15px}.module-card>p{font-size:1rem;line-height:1.75;color:var(--muted);margin:0 0 24px}.card-features{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:34px}.card-features span{font-size:.75rem;line-height:1.5;padding:4px 7px;background:#f1f4f7;color:#607185}.card-action{display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-top:1px solid var(--line);background:transparent;padding:16px 0 0;text-align:left;font-size:.875rem;font-weight:600;color:var(--ink);width:100%;margin-top:auto}.round-arrow{display:grid;place-items:center;border:1px solid #ccd5de;width:35px;height:35px;border-radius:50%;font-size:1.2rem;font-weight:400;transition:background .2s}.card-action:hover:not(:disabled) .round-arrow{background:var(--navy);color:white;border-color:var(--navy)}.module-workforce{background:var(--navy);border-color:var(--navy);color:white;border-top-color:#719abf}.module-workforce .card-number,.module-workforce .card-category{color:#aac2d9}.module-workforce .module-symbol{color:#c0d5e8}.module-workforce>p{color:#c0cfdf}.module-workforce .card-features span{background:#ffffff0d;color:#d2deea;border:1px solid #ffffff13}.module-workforce .card-action{color:white;border-color:#ffffff25}.module-workforce .round-arrow{border-color:#ffffff50}.module-workforce .card-action:hover:not(:disabled) .round-arrow{background:white;color:var(--navy)}.module-visual{background:#f6f8fa;border-top-color:#516780}.module-card.restricted{opacity:.58}.module-card .permission-note{font-size:.75rem;line-height:1.4;margin:15px 0 0}.workspace-note{display:flex;align-items:center;gap:14px;margin:26px 0 40px;color:#7d8998}.note-line{width:30px;height:1px;background:#a4b4c5}.workspace-note p{font-size:.75rem;margin:0;line-height:1.5}.workspace-note .preview-label{margin-left:auto}.site-footer{border-top:1px solid var(--line);padding:22px 48px;display:flex;justify-content:space-between;gap:20px;font-size:.75rem;color:#8a95a3}dialog{border:1px solid var(--line);padding:0;width:min(500px,calc(100% - 32px));max-height:calc(100svh - 40px);color:var(--ink);background:white;box-shadow:0 24px 100px #102d4e30}dialog::backdrop{background:#09182980;backdrop-filter:blur(3px)}.dialog-inner{padding:38px;position:relative}.dialog-close{position:absolute;top:12px;right:12px;background:transparent;border:0;width:40px;height:40px;font-size:1.8rem;color:var(--muted)}.dialog-inner>.eyebrow{color:var(--accent)}.dialog-inner h2{font-size:2rem;letter-spacing:-.045em;margin:22px 0 12px;font-weight:500}.dialog-inner>p{font-size:1rem;line-height:1.65;color:var(--muted)}.dialog-inner ul{padding:0;list-style:none;margin:24px 0}.dialog-inner li{border-bottom:1px solid var(--line);padding:12px 0;font-size:1rem;line-height:1.5}.integration-note{background:var(--wash);padding:18px;margin:24px 0}.integration-note strong{font-size:.875rem;font-weight:600}.integration-note p{font-size:.875rem;line-height:1.6;color:var(--muted);margin:8px 0 0}.session-status{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:90%;z-index:10;background:var(--navy);color:white;padding:12px 22px;box-shadow:0 5px 20px #0002;font-size:.875rem;line-height:1.5}.noscript-warning{position:fixed;bottom:0;left:0;right:0;padding:20px;background:#fff1df;color:#573900;text-align:center}
@media(min-width:1500px){.brand-panel{padding-left:90px;padding-right:80px}.brand-panel:after{left:90px}.login-main{padding-left:70px;padding-right:70px}}
@media(max-width:1100px){.brand-panel{padding:36px}.brand-panel:after{left:36px}.brand-lockup{gap:15px}.brand-caption{font-size:.75rem}.login-main{padding:36px}.brand-statement h1{font-size:3rem}.dashboard-main,.header-inner{width:calc(100% - 64px)}.module-card{padding:24px 22px 17px}.module-grid{gap:16px}.card-category{font-size:.75rem;letter-spacing:.06em}.module-card h3{font-size:1.45rem}}
@media(max-width:820px){.login-screen{grid-template-columns:1fr}.brand-panel{min-height:0;padding:24px 28px}.brand-panel .wordmark{font-size:2.6rem}.brand-statement,.brand-bottom{display:none}.brand-panel:after{display:none}.brand-caption{font-size:.75rem}.login-main{min-height:calc(100svh - 91px);padding:28px}.login-form-wrap{margin:40px auto;max-width:430px}.login-form-wrap h2{font-size:2.25rem}.site-header{height:85px}.header-inner,.dashboard-main{width:calc(100% - 48px)}.home-brand .wordmark{font-size:2.5rem}.home-brand{gap:12px}.home-brand .brand-caption{font-size:.75rem;letter-spacing:.12em}.account-copy{display:none}.account-area{gap:4px}.icon-button{margin-left:3px}.dashboard-main{padding-top:28px}.welcome{align-items:flex-start;margin-bottom:30px}.welcome h1{font-size:2.2rem}.scope-badge{padding-left:15px}.scope-badge svg{display:none}.module-grid{grid-template-columns:1fr}.module-card{padding:24px;display:grid;grid-template-columns:1fr auto;column-gap:20px}.card-top{grid-column:1/-1}.module-symbol{grid-column:2;grid-row:2/4;margin:26px 4px 0;align-self:start}.module-card h3{grid-column:1;grid-row:2;margin:24px 0 12px;font-size:1.7rem}.module-card>p{grid-column:1;grid-row:3;margin:0 0 20px}.card-features,.card-action,.permission-note{grid-column:1/-1}.card-features{margin-bottom:22px}.card-action{padding-top:14px}.workspace-note{margin-bottom:28px}.site-footer{padding:22px 24px}}
@media(max-width:480px){.header-inner,.dashboard-main{width:calc(100% - 36px)}.home-brand{gap:11px}.home-brand .brand-divider{height:23px}.home-brand .brand-caption{max-width:80px;font-size:.75rem}.avatar{width:33px;height:33px;font-size:.75rem}.icon-button{width:36px}.welcome{display:block}.welcome h1{font-size:2.1rem}.welcome p{font-size:1rem}.scope-badge{border-left:0;padding:0;margin-top:22px;gap:8px}.scope-badge svg{display:block;width:18px;height:18px}.scope-badge>div{flex-direction:row;align-items:center;gap:8px}.scope-badge strong,.scope-badge span{font-size:.75rem}.scope-badge span:before{content:'·';padding-right:8px}.section-heading>span{font-size:.75rem;letter-spacing:.08em}.context-row time{font-size:.75rem}.workspace-note p{font-size:.75rem}.workspace-note{gap:9px}.note-line{width:15px}.dialog-inner{padding:28px}.login-top{padding-top:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* Original Mavi wordmark asset; colour treatment is applied only on the navy panel. */
img.wordmark{width:108px;height:auto;object-fit:contain;letter-spacing:normal}.brand-panel img.wordmark{filter:brightness(0) invert(1);width:116px}.home-brand img.wordmark{width:98px}
@media(max-width:820px){.brand-panel img.wordmark{width:100px}.home-brand img.wordmark{width:82px}}

.module-mode .dashboard-main,.module-mode .site-footer{display:none}.module-toolbar{display:flex;align-items:center;gap:16px;padding:12px 24px;border-bottom:1px solid var(--line);background:white;flex-wrap:wrap}.module-toolbar button{padding:11px 14px;border:1px solid var(--line);background:white;color:var(--ink);font-size:.875rem}.module-toolbar strong{font-size:1rem}.module-toolbar #module-save-status{flex:1;font-size:.8125rem;color:var(--muted);min-width:180px;line-height:1.5}.module-toolbar #module-save{background:var(--navy);color:white;border-color:var(--navy)}.module-toolbar .save-error{color:#942f2c!important}.module-toolbar button:disabled{opacity:.5}#tool-frame{display:block;width:100%;height:calc(100svh - 174px);min-height:600px;border:0;background:#f5f7f9}#module-workspace{flex:1}@media(max-width:820px){.module-toolbar{padding:12px;gap:8px}.module-toolbar #module-save-status{order:5;flex-basis:100%}#tool-frame{height:calc(100svh - 200px)}}
/* Make the existing module button cover its card without changing layout. */
.module-card .card-action::after{content:"";position:absolute;inset:0;z-index:1;cursor:pointer}
.module-card .card-action:disabled::after{cursor:not-allowed}
.module-card .card-action:focus-visible{outline:none}
.module-card .card-action:focus-visible::after{outline:3px solid #4b92d6;outline-offset:5px}
/* Multi-store scope switcher. It sits on the dashboard only; legacy modules keep their own layouts. */
.store-context{border:1px solid var(--line);background:#f8fafc;padding:16px 18px;margin:22px 0 30px;display:grid;gap:14px}
.store-context-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.store-context-heading>div{display:grid;gap:3px}.store-context-heading strong{font-size:1rem}.store-context-heading>span{font-size:.75rem;color:var(--muted)}
.store-status{font-size:.75rem}.store-status.ready{color:#13795b}.store-status.pending{color:#956018}
.store-context-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.store-context-controls label{display:grid;gap:5px;font-size:.75rem;color:var(--muted);font-weight:600;min-width:220px}.store-context-controls select{min-height:40px;border:1px solid #cbd6e2;background:#fff;padding:8px 10px;color:var(--ink)}
.scope-summary-button{min-height:40px;border:1px solid #cbd6e2;background:#fff;padding:8px 12px;color:var(--ink)}.scope-summary-button:hover{background:#eef4f9}
.region-summary{border-top:1px solid var(--line);padding-top:14px}.region-summary-head{display:flex;justify-content:space-between;gap:12px;align-items:end}.region-summary-head>div{display:grid;gap:3px}.region-summary-head strong{font-size:1rem}.region-summary-head>span{font-size:.75rem;color:var(--muted)}.region-summary-stats{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.region-summary-stats span,.region-summary-totals span{background:#fff;border:1px solid var(--line);padding:7px 10px;font-size:.75rem;color:var(--muted)}.region-summary-stats b,.region-summary-totals b{color:var(--ink);margin-right:3px}.region-summary-totals{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 12px}.region-store-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.region-store-list button{display:flex;justify-content:space-between;align-items:center;text-align:left;gap:10px;background:#fff;border:1px solid var(--line);padding:10px}.region-store-list button:hover{border-color:#8faac4}.region-store-list button span{display:grid;gap:3px}.region-store-list button strong{font-size:.8125rem}.region-store-list button small{font-size:.7rem;color:var(--muted)}.region-store-list button b{font-size:.7rem;color:var(--accent);white-space:nowrap}.region-summary-note{font-size:.75rem;color:var(--muted);margin:12px 0 0;line-height:1.5}

/* One shared application header and one scrolling work area. */
.module-mode{height:100svh;overflow:hidden;display:flex;flex-direction:column}
.module-mode .site-header{height:64px;min-height:64px;flex:none}
.module-mode .header-inner{width:calc(100% - 40px);max-width:none;height:100%}
.module-mode .home-brand img.wordmark{width:84px}
.module-mode .home-brand{gap:18px}
.module-mode .account-area .avatar{width:34px;height:34px}
.module-mode #module-workspace{display:flex;flex-direction:column;min-height:0;flex:1}
.module-mode .module-toolbar{padding:8px 20px;gap:12px;min-height:54px;flex:none}
.module-mode .module-toolbar button{padding:8px 12px;font-size:14px;min-height:36px}
.module-mode .module-toolbar #module-save-status{font-size:12px;min-width:120px}
.module-mode #tool-frame{flex:1;min-height:0;height:0;background:#fff}
@media(max-width:820px){.module-mode .site-header{height:56px;min-height:56px}.module-mode .header-inner{width:calc(100% - 24px)}.module-mode .module-toolbar{padding:8px 12px;gap:6px}.module-mode .module-toolbar #module-save-status{order:5;flex-basis:100%}.module-mode .module-toolbar strong{margin-right:auto}.module-mode .module-toolbar button{padding:7px 9px;font-size:12px}}
/* Attendance controls live in the authenticated parent page, outside legacy frames. */
#attendance-host{margin:auto;border:1px solid #dce3ea;background:#fff;color:#182d43;width:min(1100px,94vw);max-height:85vh;overflow:auto;padding:16px}

#attendance-host:not([open]){display:none!important}
#attendance-host::backdrop{background:#102d4e80}
#attendance-host .attendance-close{display:block;margin:0 0 12px auto;padding:10px 18px;cursor:pointer}
#attendance-host>section{padding:0 20px 20px}
#attendance-host .host-qr{padding:12px;border:1px solid #dce3ea;max-width:560px}
#attendance-host .host-qr summary{cursor:pointer;font-weight:700;padding:8px}
#attendance-host .host-qr img{display:block;max-width:100%;height:auto;margin:16px auto}
#attendance-host .host-qr button,#attendance-host .host-qr a{display:inline-block;margin:8px;padding:10px 14px}
#attendance-host input,#attendance-host select{font:inherit;background:#fff;color:#182d43;border:1px solid #cbd6e2;border-radius:3px;min-height:44px}
#attendance-host button{font:inherit;border:1px solid #cbd6e2;background:#102d4e;color:white;border-radius:3px}
#attendance-host button:disabled{opacity:.5}
#attendance-host input:focus,#attendance-host select:focus{outline:2px solid #2169a6;outline-offset:2px}
.all-stores-screen{width:calc(100vw - 32px);height:calc(100vh - 32px);max-width:none;max-height:none;border:1px solid #cad5e2;padding:32px;color:#102d4e;background:white}
.all-stores-screen::backdrop{background:#102d4e88}
.all-stores-screen header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}
.all-stores-screen h1{margin:8px 0;font-size:32px}
.all-stores-screen button,.all-stores-screen select,.all-stores-screen input{font:inherit;padding:12px;border:1px solid #cad5e2;background:white;color:#102d4e}
.all-stores-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:end}.all-stores-filters label{display:grid;gap:8px}
.all-stores-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:24px 0}
.all-stores-totals article{display:grid;gap:10px;padding:24px;border:1px solid #cad5e2}.all-stores-totals strong{font-size:32px}
.all-stores-table{overflow:auto}.all-stores-table table{border-collapse:collapse;width:100%}.all-stores-table th,.all-stores-table td{padding:16px;text-align:left;border-bottom:1px solid #cad5e2}
