:root{--ink:#1b3331;--muted:#70837f;--deep:#103c38;--green:#147763;--mint:#ecf8f3;--gold:#e8b26b;--line:#e3eae7;--bg:#f5f7f4;--white:#fff;--danger:#bf454c;--shadow:0 14px 45px rgba(20,48,40,.045);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select{width:100%;outline:0;color:var(--ink);border:1px solid #dbe5e0;background:#fff;border-radius:13px;padding:13px 14px;min-height:45px}input:focus,select:focus{border-color:#2c9982;box-shadow:0 0 0 3px rgba(39,155,128,.12)}label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#486660;font-weight:650}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{letter-spacing:-.025em}h4{margin-bottom:9px;font-size:17px}p{line-height:1.55}.hidden{display:none!important}.muted{color:var(--muted)!important}.small{font-size:12px}.overline,.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:850;color:#a4814c;text-transform:uppercase}.overline.light{color:#dfcda9}.accent-point,.soft-dot{color:#dfa45a}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:12px 17px;min-height:44px;font-weight:750;font-size:13px;border:1px solid transparent;text-decoration:none;white-space:nowrap;transition:background .12s,transform .12s}.btn:active{transform:scale(.985)}.btn.primary{background:var(--green);color:#fff}.btn.primary:hover{background:#086653}.btn.outline{color:var(--deep);background:#fff;border-color:#d7e3dc}.btn.outline:hover{background:#f2f7f4}.btn.danger{background:#fff2f1;border-color:#f2cdcb;color:#9f343e}.btn.wide{width:100%}.btn.mini{padding:8px 12px;min-height:38px;font-size:12px}.icon-btn{border:1px solid #e5ede8;border-radius:12px;background:#fff;color:#416359;min-width:42px;height:42px;font-size:20px}.card{background:#fff;border:1px solid #e4ebe6;border-radius:18px;box-shadow:var(--shadow)}.notice{padding:14px 17px;border-radius:13px;margin:10px 0 16px;font-size:13px}.notice.warning{background:#fff6e5;color:#895d20;border:1px solid #f0dba8}.notice.good{background:#eaf8ef;color:#176b47}.notice.bad{background:#fff0ef;color:#9c3442}.error-text{color:var(--danger);font-size:13px;min-height:17px}.divider{height:1px;background:var(--line);margin:18px 0}.install-panel{max-width:520px;margin:55px auto;background:#fff;border-radius:25px;padding:30px;box-shadow:var(--shadow)}.installer{padding:16px}.install-panel h1{margin-bottom:4px}.install-panel form{display:grid;gap:15px;margin-top:25px}.install-panel h3{margin:10px 0 0}.split{display:grid;grid-template-columns:2fr 1fr;gap:13px}.brand-square{height:55px;width:55px;display:grid;place-items:center;background:var(--deep);border-radius:15px;color:#fff;font-size:33px;margin-bottom:15px}
/* Login */.login-screen{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 10% 15%,#e0eee4,transparent 35%),#f5f8f5}.login-card{width:min(900px,100%);display:grid;grid-template-columns:1fr 1fr;min-height:520px;border-radius:27px;overflow:hidden;box-shadow:0 24px 90px rgba(24,57,50,.13);background:#fff}.login-art{background:radial-gradient(circle at 100% 0%,#326f61,transparent 45%),linear-gradient(145deg,#164a42,#10342e);color:#fff;padding:45px;display:flex;flex-direction:column;justify-content:space-between;position:relative}.login-art:after{content:'✦';position:absolute;right:-35px;bottom:15px;font-size:250px;color:rgba(232,193,133,.06)}.login-art h1{font-size:52px;margin:0 0 8px}.login-art p{color:#c6ddd3;font-size:15px}.login-mark{width:65px;height:65px;display:grid;place-items:center;background:#efbf78;border-radius:19px;font-size:45px;color:#29473d}.tiny-pill{align-self:start;padding:8px 12px;background:#ffffff18;border:1px solid #ffffff36;border-radius:999px;font-size:11px;letter-spacing:.12em}.login-form{padding:52px 44px;display:flex;flex-direction:column;justify-content:center;gap:16px}.login-form h2{font-size:27px;margin:0}.login-form p{font-size:13px;margin:-8px 0 7px}.login-foot{font-size:11px!important;color:#98a9a4;margin-top:4px!important}
/* Layout */.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100dvh}.sidebar{background:#123d38;color:#fff;padding:28px 15px;display:flex;flex-direction:column;gap:28px;position:sticky;top:0;height:100dvh}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 7px}.sidebar-brand .mark{width:38px;height:38px;display:grid;place-items:center;background:#eab977;color:#19443a;border-radius:11px;font-size:28px}.sidebar-brand b{font-size:19px;letter-spacing:-.03em}.sidebar-brand small{font-size:10px;color:#b1c7bd;display:block;margin-top:3px}.side-caption{color:#739f92;letter-spacing:.15em;font-weight:750;font-size:10px;margin:5px 15px -18px}.side-nav{display:grid;gap:6px}.nav-item{border:0;width:100%;display:flex;align-items:center;text-align:left;gap:12px;padding:13px 14px;color:#d0e0d6;background:transparent;border-radius:12px;font-weight:650;font-size:13px}.nav-item span{font-size:22px;line-height:1}.nav-item.active,.nav-item:hover{background:#ffffff20;color:#fff}.sidebar-end{margin-top:auto;padding:14px 11px;font-size:12px;color:#d9e9df;border-top:1px solid #ffffff2c}.sidebar-end small{font-size:11px;color:#85b1a1;display:block;margin-top:7px}.live-label{display:flex;align-items:center;gap:8px}.net-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#83dbac;box-shadow:0 0 0 4px #84dbac23}.net-dot.off{background:#e9aa65;box-shadow:none}.app-body{min-width:0}.topbar{height:92px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,65px)}.top-title .overline{color:#a88b62}.top-title h1{font-size:20px;margin:6px 0 0}.top-actions{display:flex;gap:14px;align-items:center}.user-chip{display:flex;gap:10px;align-items:center}.user-chip strong{font-size:12px;display:block}.user-chip small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.avatar{display:grid;place-items:center;width:40px;height:40px;background:#e8f3ed;color:var(--green);font-size:17px;font-weight:800;border-radius:12px}.workspace{max-width:1360px;padding:30px clamp(18px,4vw,65px) 25px;margin:0 auto}.welcome-block{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.welcome-block h2{font-size:clamp(21px,2.4vw,31px);margin:7px 0}.welcome-block p{font-size:13px;color:var(--muted);margin-bottom:0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:33px}.metric{border:1px solid var(--line);background:#fff;min-height:144px;border-radius:17px;padding:20px 23px;display:flex;flex-direction:column;box-shadow:var(--shadow)}.metric span{font-size:12px;color:#647f76;font-weight:650}.metric strong{font-size:38px;letter-spacing:-.045em;margin:11px 0 5px;font-weight:830;line-height:1}.metric small{font-size:11px;color:#95a6a1}.metric.issued{background:#154e41;border-color:#154e41}.metric.issued span,.metric.issued small{color:#afcfc1}.metric.issued strong{color:#fff}.progress{height:7px;background:#e7eee8;border-radius:20px;overflow:hidden;margin-top:13px}.progress>div{height:100%;width:0;background:#45ac87;border-radius:20px;transition:width .4s}.section-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.section-top h3{margin:0 0 5px;font-size:22px}.section-top p{margin:0;color:var(--muted);font-size:12px}.micro-pill{font-size:10px;color:#347863;background:#e3f4ec;border:1px solid #d2eddf;border-radius:999px;padding:8px 11px;font-weight:800;letter-spacing:.09em}.page{display:none}.page.active{display:block}.filters{padding:15px;display:grid;gap:12px}.search-wrap{display:flex;align-items:center;background:#f8faf8;border:1px solid #e3eae6;border-radius:13px;gap:10px;padding:0 14px}.search-wrap>span{font-size:25px;color:#659081}.search-wrap input{border:0;background:transparent;box-shadow:none;min-height:50px;padding:12px 0;font-size:14px;outline:none}.search-wrap input:focus{box-shadow:none}.filters-line{display:flex;justify-content:space-between;align-items:end;gap:15px;flex-wrap:wrap}.select-label{min-width:195px}.select-label select{min-height:39px;padding:9px 12px;font-size:12px}.pills{background:#f2f6f3;padding:4px;border-radius:11px;display:flex;gap:4px}.pill{border:none;background:transparent;padding:10px 15px;border-radius:9px;font-size:12px;font-weight:700;color:#758e85}.pill.active{background:#fff;color:#1c644f;box-shadow:0 2px 6px #344e3810}.recent-area{display:flex;gap:8px;align-items:center;overflow-x:auto;padding:14px 0;min-height:10px}.recent-area:empty{display:none}.recent-label{font-size:10px;font-weight:800;color:#96a6a0;white-space:nowrap;text-transform:uppercase}.recent-chip{border:1px solid #d8e5dd;background:#fff;white-space:nowrap;border-radius:999px;color:#355e52;padding:8px 12px;font-size:11px;font-weight:700}.list-head{display:flex;justify-content:space-between;align-items:center;margin:18px 0 12px}.list-head b{font-size:15px}.list-count{font-size:11px;color:var(--muted);background:#e8eee9;padding:7px 10px;border-radius:999px}.employee-list{display:grid;gap:10px}.emp-row{display:flex;align-items:center;gap:13px;padding:13px 15px;background:#fff;border:1px solid #e4ece6;border-radius:15px;min-height:76px}.emp-number{min-width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#f1f6f1;color:#547366;font-size:13px;font-weight:850}.emp-main{min-width:0;flex:1}.emp-main strong{font-size:13px;font-weight:800;display:block;overflow-wrap:anywhere}.emp-sub{font-size:11px;color:#8b9f95;margin-top:5px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.emp-meta{font-size:11px;color:#8d9b94;text-align:right;white-space:nowrap}.emp-meta .status-ok{color:#147a57;font-weight:750;display:block;margin-bottom:4px}.emp-meta .status-pending{color:#b38245;font-weight:750;display:block}.emp-actions{display:flex;gap:7px;align-items:center}.emp-actions .btn{min-width:97px}.empty{text-align:center;padding:40px 15px;background:#fff;border:1px dashed #cfdfd3;border-radius:16px;color:#8a9f93;font-size:13px}.archived{opacity:.6}.recently-highlight{box-shadow:0 0 0 2px #55b391!important}.department-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.dept-card{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:18px;text-align:left;padding:21px;min-height:155px;display:flex;flex-direction:column;gap:11px}.dept-card:hover{border-color:#75b49d;transform:translateY(-1px)}.dept-card .head{display:flex;justify-content:space-between;align-items:center;gap:6px;font-weight:820}.dept-card .head span{font-size:23px;color:#b9c7bf}.dept-card .stats{font-size:12px;color:#6e817a}.dept-card .stats b{font-size:20px;color:var(--deep)}.dept-card .progress{margin-top:auto}.report-panel{padding:21px;margin-bottom:16px}.report-panel h4{margin:0 0 5px}.report-panel p{font-size:12px;color:var(--muted)}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.report-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:12px}.report-table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#80958b;padding:12px 9px;border-bottom:1px solid #e6ece8}.report-table td{padding:12px 9px;border-bottom:1px solid #eef2ef}.report-table tr:last-child td{border-bottom:0}.report-table th:not(:first-child),.report-table td:not(:first-child){text-align:right}.report-actions{display:flex;flex-wrap:wrap;gap:9px}.report-actions .btn{min-height:40px}.daily-row{display:flex;justify-content:space-between;align-items:center;padding:13px 1px;border-bottom:1px solid var(--line);font-size:13px}.daily-row:last-child{border:none}.activity-list{display:grid;gap:9px}.activity-row{border:1px solid var(--line);background:#fff;border-radius:14px;padding:15px 18px;display:flex;justify-content:space-between;gap:14px;align-items:center}.activity-row b{font-size:13px}.activity-row small{font-size:11px;color:var(--muted)}.activity-badge{font-size:10px;background:#edf3ee;color:#436c5d;border-radius:999px;padding:6px 9px;font-weight:850;white-space:nowrap}.activity-badge.ISSUED{background:#e4f6e9;color:#0e8657}.activity-badge.UNDONE{background:#fff0e1;color:#a56e26}.manage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.manager{padding:21px}.manager form{display:grid;gap:13px;margin-top:13px}.manager label{margin-bottom:0}.toggle-row{display:flex;align-items:center;flex-direction:row;gap:9px;margin:21px 0}.toggle-row input{min-height:0;width:auto}.user-line{padding:12px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.user-line small{color:var(--muted);display:block;margin-top:3px}.workspace-footer{margin:30px 0 0;border-top:1px solid var(--line);padding-top:16px;color:#9aad9f;font-size:10px;display:flex;justify-content:space-between;gap:8px}.mobile-tabs{display:none}
/* Dialog */.modal-wrap{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:15px}.modal-backdrop{position:absolute;inset:0;background:#102d29a9}.modal-card{position:relative;width:min(440px,100%);max-height:min(85dvh,760px);overflow-y:auto;border-radius:20px;background:#fff;box-shadow:0 24px 85px #07181356;padding:22px}.modal-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.modal-top h3{margin:0;font-size:19px}.modal-body-copy{font-size:13px;color:#557166;margin:15px 0;line-height:1.6}.modal-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:19px;flex-wrap:wrap}.modal-content{margin-top:17px;display:grid;gap:14px}.modal-summary{background:#f1f7f3;border-radius:13px;padding:17px}.modal-summary strong{font-size:18px}.modal-summary p{font-size:12px;margin:6px 0 0;color:#647a72}.toast{position:fixed;bottom:22px;right:22px;z-index:80;background:#143f38;color:white;box-shadow:0 12px 40px #163e3660;border-radius:13px;padding:14px 20px;max-width:min(90vw,440px);font-size:13px}.toast.error{background:#a63f42}
@media(max-width:1100px){.app-shell{grid-template-columns:200px minmax(0,1fr)}.metrics{gap:10px}.metric{padding:18px 14px;min-height:125px}.metric strong{font-size:33px}.sidebar{padding:25px 10px}}
@media(max-width:850px){.app-shell{display:block}.sidebar{display:none}.mobile-tabs{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:20;background:#fff;border-top:1px solid #dee9e1;box-shadow:0 -5px 20px #1c403111;padding:5px 4px calc(5px + env(safe-area-inset-bottom));justify-content:space-around;gap:2px}.mobile-tabs button{border:none;background:transparent;color:#869a8e;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 8px;border-radius:10px;min-width:54px;font-size:10px;font-weight:750}.mobile-tabs button span{font-size:23px;line-height:1.1}.mobile-tabs button.selected{background:#eaf5ee;color:#176d54}.workspace{padding-bottom:95px}.topbar{height:75px}.manage-grid{grid-template-columns:1fr}.login-card{grid-template-columns:1fr;max-width:470px}.login-art{min-height:185px;padding:22px;gap:13px}.login-art h1{font-size:36px}.login-art .tiny-pill{font-size:9px}.login-art p{font-size:12px}.login-mark{height:43px;width:43px;font-size:30px}.login-form{padding:29px 24px}.login-screen{padding:15px}}
@media(max-width:600px){.topbar{padding:0 15px}.top-title h1{font-size:17px}.top-title .overline{font-size:9px}.user-chip .avatar{height:34px;width:34px;border-radius:9px}.user-chip strong{max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip small{font-size:9px}.top-actions{gap:6px}.topbar .icon-btn{min-width:33px;height:33px;font-size:18px}.workspace{padding:21px 13px 85px}.welcome-block{align-items:flex-start}.welcome-block h2{font-size:22px}.welcome-block p{font-size:12px}.welcome-block .btn{font-size:12px;padding:10px;min-width:44px}.welcome-block .btn span{display:none}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:24px}.metric{min-height:105px;padding:15px 14px}.metric strong{font-size:32px;margin:6px 0}.metric span{font-size:11px}.metric small{font-size:10px}.section-top h3{font-size:19px}.section-top p{font-size:11px}.micro-pill{font-size:9px;padding:6px 8px}.filters-line{flex-direction:column;align-items:stretch;gap:10px}.filters-line .select-label{min-width:0}.pills{justify-content:space-between}.pill{flex:1;padding:10px 4px}.emp-row{gap:10px;padding:12px 10px}.emp-number{min-width:38px;height:40px;font-size:12px}.emp-main strong{font-size:12px}.emp-sub{font-size:10px}.emp-actions{flex-direction:column;gap:5px;align-items:stretch}.emp-actions .btn{min-width:70px;font-size:11px;padding:8px 8px;min-height:33px}.emp-meta{font-size:10px;white-space:normal;max-width:112px}.employee-list{gap:8px}.report-panel{padding:13px}.report-table{font-size:11px}.report-table th{font-size:9px}.report-table td,.report-table th{padding:11px 5px}.report-actions .btn{flex:1 1 47%;padding:9px 6px;font-size:11px}.activity-row{padding:13px}.workspace-footer{display:none}.toast{bottom:90px;left:13px;right:13px;text-align:center}.mobile-tabs button{padding:5px 4px;min-width:0;flex:1}.mobile-tabs button span{font-size:21px}}
@media print{.sidebar,.mobile-tabs,.topbar,.filters,.report-actions,.welcome-block,.metrics,.workspace-footer,.section-top,.page:not(#page-reports),#dailyRows+.divider{display:none!important}.app-shell{display:block}.workspace{padding:0}.page#page-reports{display:block!important}.card{box-shadow:none!important;border:0!important}.report-panel{padding:3px}.report-table{font-size:11px}body{background:#fff}}
/* SweetFlow V2 — multi-department + inventory + guest counter */
.stock-alert{font-size:14px;font-weight:550;border-radius:15px;box-shadow:0 6px 20px #853b2412}
.stock-alert.bad{background:#ffeded;color:#a12e3d;border:1px solid #f2a5ae}
.stock-alert.warning{background:#fff2da;color:#79551b;border:1px solid #eace97}
.stock-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px}
.stock-summary .metric{min-height:136px}.stock-summary .stock-out{border-color:#f1a4ad;background:#fff0ef}.stock-summary .stock-out strong{color:#a12e3d}
.stock-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.stock-form .form-span{grid-column:1/-1}.stock-form .form-span.btn{margin-top:4px}
.guest-add{margin-top:16px;margin-bottom:20px}.guest-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}
.guest-form>button{min-height:46px}
.dept-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;border:1px solid #dee8e1;border-radius:13px;padding:12px;margin:0;max-height:280px;overflow-y:auto}
.dept-choices legend{font-size:12px;font-weight:800;color:#3b6958;padding:0 5px}
.dept-check{display:flex;flex-direction:row;align-items:center;gap:9px;font-size:12px;font-weight:650;color:#345f52;min-height:34px}
.dept-check input{width:18px;height:18px;min-height:0;flex:none;accent-color:#18825d}
.inventory-admin{margin-bottom:17px}.ledger-table-wrap{max-width:100%;overflow-x:auto}.ledger-table-wrap table{min-width:530px}
.inventory-admin input{min-height:44px}
@media(max-width:1120px){.guest-form{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-form>button{align-self:end}}
@media(max-width:850px){.mobile-tabs{justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding-left:5px;padding-right:5px}.mobile-tabs::-webkit-scrollbar{display:none}.mobile-tabs button{min-width:69px;flex:1 0 69px}.sidebar{display:none}}
@media(max-width:600px){.stock-summary{gap:9px;grid-template-columns:repeat(3,minmax(0,1fr))}.stock-summary .metric{min-height:92px;padding:11px 9px}.stock-summary .metric strong{font-size:26px}.stock-summary .metric span{font-size:10px}.stock-summary .metric small{font-size:9px}
.stock-form,.guest-form{grid-template-columns:1fr;gap:11px}.dept-choices{grid-template-columns:1fr 1fr}
.guest-add{padding:15px}.guest-form>button{width:100%}.mobile-tabs button{min-width:63px;flex:1 0 63px;padding:5px 3px}.mobile-tabs button span{font-size:19px}.mobile-tabs{bottom:0}.workspace{padding-bottom:95px}
}
@media print{#reportStock{display:block!important}.stock-alert,.stock-summary{display:none!important}}

@media(max-width:600px){.mobile-tabs button{flex:1 1 0;min-width:45px;font-size:9px}.mobile-tabs button span{font-size:18px}.mobile-tabs{overflow-x:visible}}

/* Interactive dashboard and live reporting */
body{background:radial-gradient(circle at 82% 0%,rgba(225,244,235,.62),transparent 28%),linear-gradient(180deg,#f7f9f6 0%,#f3f6f3 100%)}
.sidebar{overflow:hidden;background:linear-gradient(165deg,#123f39 0%,#0d312d 100%)}.sidebar:before,.sidebar:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.sidebar:before{width:190px;height:190px;right:-105px;top:85px;background:radial-gradient(circle,rgba(232,178,107,.16),transparent 68%)}.sidebar:after{width:230px;height:230px;left:-145px;bottom:45px;background:radial-gradient(circle,rgba(66,174,138,.16),transparent 70%)}.sidebar>*{position:relative;z-index:1}.nav-item{transition:transform .22s ease,background .22s ease,color .22s ease}.nav-item:hover{transform:translateX(4px)}
.card,.metric,.dept-card,.emp-row,.trend-kpi{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.card:hover,.metric:hover,.dept-card:hover{transform:translateY(-3px);box-shadow:0 18px 52px rgba(25,68,56,.09)}.emp-row:hover{transform:translateX(3px);border-color:#a9d2c0;box-shadow:0 9px 26px rgba(25,68,56,.06)}.btn{position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(20,90,71,.12)}.btn:active{transform:translateY(0) scale(.98)}
.page.active{animation:pageReveal .38s cubic-bezier(.2,.75,.25,1)}.modal-backdrop{animation:fadeIn .18s ease}.modal-card{animation:modalPop .28s cubic-bezier(.2,.8,.2,1)}.toast{animation:toastIn .3s cubic-bezier(.2,.8,.2,1)}.metric{position:relative;overflow:hidden}.metric:after,.trend-kpi:after{content:"";position:absolute;width:90px;height:90px;right:-38px;top:-42px;border-radius:50%;background:rgba(64,166,130,.08)}.metric.issued:after{background:rgba(255,255,255,.08)}
.live-pulse{width:8px;height:8px;border-radius:50%;background:#32b77f;box-shadow:0 0 0 0 rgba(50,183,127,.5);animation:livePulse 1.8s infinite}.report-live{display:flex;align-items:center;gap:9px;color:#6f857c;font-size:11px;font-weight:700}.report-toolbar{padding:14px 18px}.trend-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.trend-kpi{position:relative;overflow:hidden;min-height:137px;padding:19px 20px;border:1px solid #e1eae5;border-radius:18px;background:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column}.trend-kpi span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#70867d}.trend-kpi strong{font-size:34px;letter-spacing:-.05em;margin:12px 0 4px}.trend-kpi strong.time-value{font-size:24px;margin-top:17px}.trend-kpi small{font-size:11px;color:#8da097}.trend-kpi>i{position:absolute;right:17px;bottom:14px;font-size:23px;color:#c5d9cf;font-style:normal}.trend-kpi.mint{background:linear-gradient(145deg,#effaf5,#fff)}.trend-kpi.gold{background:linear-gradient(145deg,#fff7e9,#fff)}.trend-kpi.deep{background:linear-gradient(145deg,#174e43,#0f3a33);border-color:#174e43}.trend-kpi.deep span,.trend-kpi.deep small{color:#b5d3c7}.trend-kpi.deep strong{color:#fff}
.skeleton{min-height:137px;background:linear-gradient(90deg,#f0f4f1 20%,#fafcfb 50%,#f0f4f1 80%);background-size:240% 100%;animation:shimmer 1.35s infinite}.trend-panel{overflow:hidden}.chart-legend{display:flex;gap:14px;font-size:11px;color:#6f827a}.chart-legend span,.category-head span{display:flex;align-items:center;gap:6px}.premium-dot,.normal-dot{display:inline-block;width:9px;height:9px;border-radius:50%}.premium-dot{background:#dba354}.normal-dot{background:#3a9d7c}.trend-chart{height:250px;display:grid;grid-template-columns:repeat(14,minmax(20px,1fr));gap:7px;align-items:end;padding:18px 4px 0;border-top:1px solid #edf2ef;margin-top:17px}.trend-day{height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;min-width:0}.trend-day small{text-align:center;color:#8da097;font-size:9px;white-space:nowrap;overflow:hidden}.trend-bars{height:190px;display:flex;gap:3px;align-items:flex-end;justify-content:center}.trend-bar{width:min(17px,42%);min-height:0;border-radius:7px 7px 3px 3px;position:relative;animation:barGrow .7s cubic-bezier(.2,.8,.2,1);transform-origin:bottom}.trend-bar.premium{background:linear-gradient(180deg,#f1c982,#d79b43)}.trend-bar.normal{background:linear-gradient(180deg,#72c3a6,#23886a)}.trend-bar b{position:absolute;top:-16px;left:50%;transform:translateX(-50%);font-size:9px;color:#6f827a}.report-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px}.category-row{padding:17px 0;border-bottom:1px solid var(--line)}.category-row:last-child{border:0}.category-head{display:flex;justify-content:space-between;gap:12px;font-size:12px}.category-head b{color:#335e51}.category-track{height:9px;margin:11px 0 8px;background:#edf2ef;border-radius:99px;overflow:hidden}.category-track span{display:block;height:100%;border-radius:99px;transition:width .8s cubic-bezier(.2,.8,.2,1)}.category-track span.premium{background:linear-gradient(90deg,#d99b40,#efc77c)}.category-track span.normal{background:linear-gradient(90deg,#258b6c,#70c0a4)}.category-row small{font-size:10px;color:#8a9d95}.handover-timeline{display:grid}.handover-item{position:relative;display:grid;grid-template-columns:18px 1fr;gap:10px;padding:10px 0}.handover-item:not(:last-child):before{content:"";position:absolute;left:5px;top:27px;bottom:-4px;width:1px;background:#dfe9e3}.timeline-dot{width:11px;height:11px;border-radius:50%;margin-top:4px;box-shadow:0 0 0 4px #edf4f0}.timeline-dot.premium{background:#daa04d}.timeline-dot.normal{background:#2b9675}.handover-item b{font-size:12px;display:block}.handover-item small,.handover-item time{font-size:10px;color:#83988e;display:block;margin-top:3px}.empty.compact{padding:24px 12px}.topbar{backdrop-filter:saturate(150%) blur(12px);background:rgba(255,255,255,.92)}
@keyframes pageReveal{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes modalPop{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes toastIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes livePulse{70%{box-shadow:0 0 0 8px rgba(50,183,127,0)}100%{box-shadow:0 0 0 0 rgba(50,183,127,0)}}@keyframes shimmer{to{background-position:-240% 0}}@keyframes barGrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(max-width:980px){.trend-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.report-split{grid-template-columns:1fr}.trend-chart{overflow-x:auto;grid-template-columns:repeat(14,minmax(34px,1fr));padding-bottom:5px}}
@media(max-width:600px){.section-top{align-items:flex-start}.report-live{align-items:flex-end;flex-direction:column;gap:5px}.report-live .live-pulse{display:none}.trend-kpis{gap:9px}.trend-kpi{min-height:112px;padding:15px}.trend-kpi strong{font-size:29px}.trend-kpi strong.time-value{font-size:18px}.trend-chart{height:220px}.trend-bars{height:160px}.chart-legend{flex-direction:column;gap:5px}.report-split{gap:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
