/* Audiforce: official eagle crest, website gold, shield red and warm whites. */
:root{--gold:#cf990c;--gold-dark:#8a6208;--red:#b31d25;--ink:#30271d;--paper:#fff;--line:#e8e0d1;--muted:#776e60;--teal:var(--gold-dark);--navy:#262119;accent-color:var(--gold-dark)}
body{background:#f7f5f0;color:var(--ink)}
button,a,input,select,textarea{transition:background-color .16s,border-color .16s,box-shadow .16s}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bd8a11;outline-offset:3px}
.brand-mark{display:grid;place-items:center;overflow:hidden;background:#fff;flex-shrink:0}
.brand .brand-mark img{display:block;object-fit:contain;width:100%;height:100%;clip-path:inset(1%)}
.sidebar{background:white;color:#6b6050;border-right:1px solid var(--line);padding:22px 16px;overflow-y:auto;border-top:4px solid var(--gold)}
.sidebar .brand{flex-direction:column;text-align:center;gap:9px;padding:0 4px 18px}
.sidebar .brand-mark{width:74px;height:84px}
.brand strong{color:#362a17;letter-spacing:1.4px;font-weight:750}
.brand small{color:#8d7545;font-weight:600;line-height:1.6;letter-spacing:1.25px}
.sidebar .brand strong{font-size:21px}.sidebar .brand small{font-size:8px}
.nav-label{color:#988772;font-size:9px;padding:12px 15px;letter-spacing:1.8px}
.nav{gap:4px}.nav button{color:#6b6051;border-radius:6px;padding:12px 14px;font-size:12px;font-weight:550;min-height:42px}
.nav button.active{color:#815800;background:#fff2d0;box-shadow:inset 3px 0 var(--gold);font-weight:700}
.nav button:hover{background:#faf5e9;color:#75520b}.nav button svg{width:18px;height:18px}
.side-footer{border-color:#eee4d2;padding-top:17px;color:#8e8069;margin-top:24px;font-size:10px}
.side-footer b{color:#67563b;font-size:11px}.connected{color:#8d7444;margin-top:12px}.dot{background:var(--gold)}
.company-link{display:flex;align-items:center;gap:7px;color:#916911;font-size:10px;margin-top:10px;width:max-content}
.company-link svg{width:12px;height:12px}
.topbar{border-top:4px solid var(--gold);height:80px;background:#fff;box-shadow:0 2px 12px #48310b04}
.avatar{background:#f8edcf;color:#866009}.person .avatar{background:#f7f1e4;color:#8b7346}
.icon-btn{color:#81735d;border-color:#e8dfcf;background:#fff}.icon-btn:hover{background:#fbf5e5;border-color:#d5b76d;color:#8d6409}
.icon-btn[data-action="logout"]:hover{background:#fff0f0;color:var(--red);border-color:#edc8c8}
.content{padding-top:32px}.eyebrow{color:#9b700f;letter-spacing:1.7px;font-size:10px;display:flex;align-items:center;gap:8px}
.eyebrow:before{content:'';width:5px;height:5px;background:var(--red);display:inline-block}
h1,h2,h3{color:var(--ink)}h1{font-weight:700;letter-spacing:-.8px}
.sub,.stat-foot,.panel-head p,.footer-note,td small,.field small{color:#817667}
.btn{color:#61533d;border-color:#e2d8c6;background:#fff;font-weight:600;border-radius:6px}
.btn.primary{background:var(--gold);border-color:var(--gold);color:#2d220c;font-weight:750;box-shadow:0 3px 8px #aa780d15}
.btn.primary:hover{background:#dda91f;border-color:#dda91f;filter:none}
.btn.dark{background:#33291c;border-color:#33291c}.btn.danger{color:var(--red)}
.btn:hover{border-color:#ccb57f;filter:none;background:#fcf8ee}.btn.dark:hover{background:#4a3a23;color:#fff}
.period{color:#69593e;border-color:#e2d8c6}.banner{background:#fff9e9;border-color:#eddfb8;color:#7d6b44;border-left:3px solid var(--gold)}.banner b{color:#665125}
.stat{border-radius:10px;box-shadow:0 3px 16px #5b3d0804;border-top:2px solid #e9d39d}
.stat-top{color:#83755e;font-size:10px;letter-spacing:.4px}.stat-icon{background:#fcf3db;color:#a37208}.stat-value{color:#382d1e;font-weight:700}
.panel,.invoice-card{box-shadow:0 3px 16px #5b3d0804}.panel-head{border-color:#f0e9dc}
th{background:#fcfaf4;color:#86765e;font-size:10px}td{color:#685d4b}td b{color:#473b28}
.panel-footer{color:#8b7d66;background:#fffefa}.badge.blue{background:#f5f0e5;color:#806d49}.badge.gray{background:#f2efe8;color:#8b7e68}
.badge.amber{background:#fff1cd;color:#95680d}.badge.red{background:#fceeee;color:#a82b30}
.toolbar .search input{background:#fdfbf7;border-color:#e8e0d1}.search svg{color:#a08c68}
.check-num{border-color:#eadfca;background:#fffcf5;color:#a17c28}.check-item b{color:#625239}.check-item small{color:#8e7f68}
.progress{background:#f1eadb}.progress span{background:var(--gold)}.site-line small{color:#8a7a61}
.auth-layout{grid-template-rows:42px 1fr;background:#fcfbf8;min-height:100vh}
.auth-topline{grid-column:1/-1;background:var(--gold);color:#3a2a0c;display:flex;align-items:center;justify-content:space-between;padding:0 5%;font-size:10px;font-weight:650;letter-spacing:.65px;gap:16px}
.auth-topline a{color:#3a2a0c;display:flex;align-items:center;gap:7px;letter-spacing:0;font-size:11px;white-space:nowrap}.auth-topline svg{width:13px;height:13px}
.auth-story{background:#28231c;padding:40px 10%;min-height:calc(100vh - 42px)}
.auth-story .brand{gap:20px;align-items:center;position:relative;z-index:1}
.auth-story .brand-mark{width:116px;height:132px;border-radius:7px;box-shadow:0 0 0 1px #f5cf6b55,0 8px 26px #0002}
.auth-story .brand strong{font-size:27px;letter-spacing:2px;color:#edc86f}.auth-story .brand small{font-size:9px;color:#c6b78f;letter-spacing:1.5px;max-width:230px}
.auth-story:after{content:'';width:350px;height:350px;right:-240px;bottom:-245px;transform:rotate(45deg);border:1px solid #6b5328;border-radius:20px;box-shadow:0 0 0 50px #30281b,0 0 0 100px #2b251b;pointer-events:none}
.auth-copy{margin:34px 0 40px}.auth-copy .eyebrow{color:#e6be63;letter-spacing:2px}.auth-copy .eyebrow:before{background:#d23738}
.auth-copy h1{font-size:43px;font-weight:720;line-height:1.17;letter-spacing:-1.3px;color:#fffaf0;max-width:480px}.auth-copy h1 span{color:#e4b84b}
.auth-copy p{color:#bfb5a1;font-size:14px;max-width:350px;margin:19px 0 26px}
.auth-points{display:flex;gap:17px;color:#d7c9ac;font-size:10px;flex-wrap:wrap}.auth-points span{display:flex;align-items:center;gap:6px}.auth-points svg{width:15px;height:15px;color:#d7aa43}
.auth-story .auth-signature{font-size:10px;color:#aa9a7f;line-height:1.9}.auth-signature b{font-weight:550;color:#d2bc8a;font-size:12px;letter-spacing:.5px}
.auth-form{padding:40px 9%;background:#fcfbf8}.auth-card{max-width:390px}.portal-label{font-size:9px;font-weight:700;letter-spacing:1.9px;color:#9c7c3e;margin-bottom:22px}
.login-icon{background:#f7edce;color:#946b10;border-radius:9px;width:45px;height:45px;border-top:2px solid #b1262a;margin-bottom:20px}
.auth-card h2{font-size:27px;font-weight:700;letter-spacing:-.55px}.auth-card p{color:#887a65;font-size:12px;line-height:1.7;margin:10px 0 25px}
.auth-card .field input{padding:13px 14px;font-size:13px;min-height:44px}.auth-card .field label{font-size:11px;color:#716044}
.auth-card .btn.full{min-height:45px;font-size:12px}.login-footer{color:#99896f;border-color:#e8dec9;font-size:10px;line-height:1.8}
.form-note{color:#887449;background:#fbf5e7;border-left:2px solid #d2ad4e}.field input,.field select,.field textarea{border-color:#e1d7c4;color:#4d3c25}.field input::placeholder,.field textarea::placeholder{color:#a29988}.field label{color:#766343}
.form-error{color:#af292e}.checkbox{color:#78694d}.checkbox input{accent-color:#a5750b}
.modal{box-shadow:0 25px 80px #281b0d33;border-radius:10px;border-top:4px solid var(--gold)}.modal-head{background:#fffdf7}.modal-head h2{color:#4b3a1d}
.invoice-amount{color:#483516}.invoice-card{border-top:2px solid #e7d4a2}.invoice-breakdown{color:#8b7959}.summary-line.total{color:#956a0e}
.guard-hero{background:linear-gradient(115deg,#2d271d,#49371d);border-left:4px solid var(--gold);box-shadow:0 5px 20px #3a270f0c}
.guard-hero h2{color:#fff8e8}.guard-hero .eyebrow{color:#e3bb59}.guard-hero p{color:#cfbd95}.guard-hero .badge{background:#5d4722;color:#ffe0a0}.guard-hero .btn.primary{box-shadow:none}
.camera-box{background:#2d261b;color:#dfcfae}.location-status{color:#876c36;background:#fcf5e2}.data-value{color:#73551d}
#toast{background:#33291c;color:#fff5dd;border:1px solid #a87c27;box-shadow:0 10px 30px #281b0d24}
@media(min-width:1500px){.auth-story{padding:55px 11%}.auth-copy h1{font-size:52px}.auth-story .brand-mark{width:136px;height:155px}}
@media(max-width:1100px){.sidebar .brand strong{font-size:20px}.auth-story{padding:36px 8%}.auth-story .brand-mark{width:92px;height:105px}.auth-story .brand{gap:15px}.auth-story .brand strong{font-size:23px}.auth-story .brand small{font-size:8px}.auth-copy h1{font-size:37px}.auth-points{gap:12px}}
@media(max-width:760px){.auth-layout{display:block;min-height:100vh}.auth-topline{min-height:36px;padding:10px 20px;font-size:8px;letter-spacing:.5px}.auth-topline a{font-size:9px}.auth-topline>span{max-width:185px}.auth-story{min-height:0;padding:22px 24px}.auth-story .brand{gap:14px}.auth-story .brand-mark{width:63px;height:72px}.auth-story .brand strong{font-size:22px}.auth-story .brand small{font-size:8px}.auth-copy{margin:19px 0 0}.auth-copy .eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:9px}.auth-copy h1{font-size:29px;max-width:330px}.auth-copy h1 br{display:none}.auth-copy h1 span:before{content:' '}.auth-copy p,.auth-points,.auth-story .auth-signature{display:none}.auth-story:after{right:-285px;bottom:-335px}.auth-form{padding:30px 24px 36px}.portal-label{margin-bottom:17px;font-size:8px}.login-icon{display:none}.auth-card h2{font-size:25px}.auth-card p{margin-bottom:23px}.sidebar{padding-top:20px}.sidebar.open{box-shadow:0 0 0 100vw #211b13a8}.topbar{height:65px}.topbar .account b{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.brand-mark img{clip-path:inset(1%)}.btn{min-height:40px}.modal-actions .btn{min-height:42px}.nav button{min-height:44px}.stat-value{overflow-wrap:anywhere}.footer-note{color:#938266}.guard-hero{padding:22px}.auth-card .field input{font-size:16px}}
@media(prefers-reduced-motion:reduce){button,a,input,select,textarea{transition:none}}
.mobile-heading{display:none}
@media(max-width:760px){.mobile-heading{display:flex;align-items:center;gap:8px}.mobile-brand{width:31px;height:36px;border:0;padding:0;overflow:hidden;background:#fff}.mobile-brand img{width:31px;height:36px;object-fit:contain;clip-path:inset(1%)}.topbar .account b{max-width:110px}}
@media(max-width:400px){.topbar{padding:0 14px;gap:8px}.topbar .top-right{gap:6px}.topbar .icon-btn{width:30px;height:32px}.topbar .avatar{width:30px;height:30px}.topbar .account{gap:6px}.topbar .account b{max-width:100px;font-size:10px}.mobile-heading{gap:6px}}
.brand .brand-mark img,.mobile-brand img{clip-path:inset(2%)}
.sidebar{padding-top:20px;scrollbar-width:thin;scrollbar-color:#dac28e transparent}
.sidebar .brand-mark{width:66px;height:76px}.sidebar .brand{gap:6px;padding-bottom:14px}
.side-footer{margin-top:16px;padding-top:12px}

.guard-stats{padding:20px 20px 0;margin:0}.guard-status-filter{display:flex;align-items:center;gap:12px;padding:0 20px 16px}.guard-status-filter label{font-size:13px;color:var(--muted)}.guard-status-filter select{width:210px;padding:9px;border:1px solid #ddd2bd;border-radius:8px;background:#fff}.document-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid #e8dfcf}.document-row small{display:block;overflow-wrap:anywhere;margin-top:5px;color:#7a6c5b}.document-row .actions{flex-shrink:0}.form-grid+h3{margin-top:20px}@media(max-width:600px){.document-row{align-items:flex-start;flex-direction:column}.guard-stats{padding:12px}.guard-status-filter{padding:12px}.guard-status-filter select{max-width:180px}}

@media(min-width:1150px){.operations-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.operations-stats .stat{padding:18px 14px}.operations-stats .stat-label{font-size:10px}}

#advance-capture video,#advance-review-video{display:block;width:100%;max-height:360px;background:#201c16;border-radius:12px;margin:14px 0;object-fit:contain}

.staff-site-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;max-height:280px;overflow:auto;padding:8px}.staff-site-grid label{font-size:12px}

.month-picker{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:#705b31}.month-picker .period{margin:0}#register-roster{margin:16px 0;max-height:42vh;overflow:auto}#register-roster select{min-width:160px;width:100%;padding:10px;border:1px solid #d9d3c5;border-radius:8px;background:#fff}
