.title{margin-top:20px;font-size:26px}.subtitle{color:#8a8270;margin-top:6px;font-size:14px}.board{grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:10px;display:grid}.room-price{color:#8a8270;margin-top:2px;font-size:11px}.room.vacant{border-top:4px solid #3a9d63}.room.occupied{background:#fcf8ee;border-top:4px solid #c79a3b}.room.cleaning{border-top:4px solid #c2562f}*{box-sizing:border-box;margin:0;padding:0}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}body{color:#2b2620;background:#f4efe4;font-family:Segoe UI,system-ui,sans-serif}.screen{max-width:1200px;margin:0 auto;padding:24px 20px 60px}.topbar{border-bottom:1px solid #e3dccb;justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.brand{letter-spacing:.28em;color:#c79a3b;font-size:18px;font-weight:800}.hotel{color:#c79a3b;font-size:16px;font-weight:700}.title{text-align:center;margin-top:20px;font-size:30px;font-weight:800}.subtitle{color:#5e574a;text-align:center;margin-top:8px;font-size:15px;font-weight:600}.view-label{letter-spacing:.14em;text-transform:uppercase;color:#c79a3b;margin-top:22px;font-size:12px;font-weight:800}.result-name{font-size:14px;font-weight:700}.result-phone{color:#8a8270;font-size:12px}.muted-line{color:#8a8270;margin-top:22px;font-size:14px}.appbar{max-width:1200px;margin:0 auto;padding:24px 20px 0}.nav-toggle{background:#efe8d8;border-radius:12px;gap:6px;padding:4px;display:flex}.nav{color:#8a8270;cursor:pointer;background:0 0;border:none;border-radius:9px;padding:8px 18px;font-family:inherit;font-size:14px;font-weight:700}.nav.on{color:#2b2620;background:#fff;box-shadow:0 2px 6px -2px #0003}.section-title{margin-top:34px;font-size:17px;font-weight:800}.login-wrap{background:radial-gradient(135% 95% at 50% 0,#1e4a3c 0%,#163a30 46%,#0f2a22 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fffdf7;border:1px solid #ece1c6;border-radius:20px;width:100%;max-width:400px;padding:34px 30px 30px;position:relative;overflow:hidden;box-shadow:0 34px 80px -34px #000000a6,0 6px 16px -8px #00000047}.login-card:before{content:"";background:linear-gradient(90deg,#e6c157,#c1923a,#f2d888,#9c6f24);height:4px;position:absolute;top:0;left:0;right:0}.login-title{text-align:center;color:#20402f;letter-spacing:.01em;margin:6px 0 4px;font-family:Georgia,Times New Roman,serif;font-size:26px;font-weight:700}.topbar-right{align-items:center;gap:14px;display:flex}.signout{color:#8a8270;cursor:pointer;background:#fff;border:1px solid #e3dccb;border-radius:9px;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:700}.signout:hover{color:#2b2620;border-color:#c79a3b}.overlay{z-index:90;background:#1e1a1473;animation:.2s fade;position:fixed;inset:0}.scroll-locked{overflow:hidden!important}@keyframes fade{0%{opacity:0}to{opacity:1}}.panel{top:0;right:0;bottom:var(--bottom-nav-h,0px);width:380px;max-width:90vw;height:auto;padding:26px 24px calc(28px + env(safe-area-inset-bottom,0px));z-index:91;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#fffdf7;animation:.25s cubic-bezier(.2,.7,.2,1) slidein;position:fixed;overflow-y:auto;box-shadow:-20px 0 50px -20px #0006}@keyframes slidein{0%{transform:translate(100%)}to{transform:none}}.panel-head{justify-content:space-between;align-items:flex-start;display:flex}.panel-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#c79a3b;font-size:11px;font-weight:800}.panel-room{margin-top:4px;font-size:26px;font-weight:800}.panel-meta{color:#8a8270;margin-top:2px;font-size:13px}.close{color:#8a8270;cursor:pointer;background:0 0;border:none;font-size:18px}.info-list{flex-direction:column;margin-top:22px;display:flex}.info-row{border-bottom:1px solid #efe8d8;justify-content:space-between;gap:14px;padding:13px 2px;font-size:14px;display:flex}.info-row span{color:#8a8270}.info-row b{text-align:right}.cap{text-transform:capitalize}.field-label{margin:26px 0 8px;font-size:13px;font-weight:700;display:block}.search-input{border:1px solid #e3dccb;border-radius:11px;width:100%;padding:13px 14px;font-family:inherit;font-size:15px}.search-input:focus{border-color:#c79a3b;outline:none;box-shadow:0 0 0 3px #c79a3b2e}.results{flex-direction:column;gap:8px;margin-top:12px;display:flex}.result{cursor:pointer;border:1px solid #e3dccb;border-radius:10px;padding:11px 13px;transition:border-color .12s,background .12s}.result:hover{border-color:#c79a3b}.result.chosen{background:#fcf8ee;border-color:#c79a3b}.no-result{color:#8a8270;padding:8px 2px;font-size:13px}.chosen-box{color:#2b5;background:#f0f7f1;border:1px solid #cfe6d6;border-radius:10px;margin-top:18px;padding:12px;font-size:14px}.chosen-box b{color:#2b2620}.blacklist-warn{color:#b23c14;background:#fbe9e3;border:1px solid #e6a78f;border-radius:10px;margin-top:14px;padding:12px 13px;font-size:13.5px;font-weight:600;line-height:1.45}.newguest-btn{color:#a87f2a;cursor:pointer;background:0 0;border:1px dashed #c79a3b;border-radius:10px;width:100%;margin-top:12px;padding:11px;font-size:14px;font-weight:700}.newguest-block{margin-top:8px}.pay-toggle{gap:10px;margin-top:14px;display:flex}.pay{cursor:pointer;color:#8a8270;background:#fff;border:1px solid #e3dccb;border-radius:10px;flex:1;padding:11px;font-size:14px;font-weight:700}.pay.on{color:#2f7d4f;background:#f0f7f1;border-color:#3a9d63}.pay.on.warn{color:#b23c14;background:#fcefe9;border-color:#c2562f}.confirm-btn{color:#1f1709;cursor:pointer;background:#c79a3b;border:none;border-radius:12px;width:100%;margin-top:18px;padding:15px;font-size:15px;font-weight:800}.confirm-btn:disabled{opacity:.5;cursor:not-allowed}.success-box{text-align:center;padding:30px 6px}.success-tick{color:#fff;background:#3a9d63;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;font-size:32px;display:flex}.success-title{font-size:22px;font-weight:800}.success-sub{color:#8a8270;margin-top:8px;font-size:14px;line-height:1.5}.again{color:#8a8270;cursor:pointer;background:0 0;border:1px solid #e3dccb;border-radius:10px;margin-top:22px;padding:11px 22px;font-weight:700}.nights-row{background:#fff;border:1px solid #e3dccb;border-radius:12px;align-items:stretch;margin-top:8px;display:flex;overflow:hidden}.step{cursor:pointer;color:#c79a3b;background:#faf6ea;border:none;flex-shrink:0;width:54px;font-size:24px;font-weight:800;transition:background .12s}.step:hover{background:#f1e6c9}.step:active{background:#e8d9b0}.nights-input{text-align:center;color:#2b2620;appearance:textfield;border:none;flex:1;min-width:0;padding:14px 6px;font-family:inherit;font-size:19px;font-weight:800}.nights-input:focus{outline:none}.nights-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.nights-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.amount-preview{color:#8a8270;background:#faf6ea;border:1px solid #ecd9a6;border-radius:10px;margin-top:12px;padding:12px 13px;font-size:14px}.amount-preview b{color:#2b2620}.checkout-btn{color:#fff;cursor:pointer;background:#c2562f;border:none;border-radius:12px;width:100%;margin-top:22px;padding:15px;font-size:15px;font-weight:600}.checkout-btn:disabled{opacity:.5;cursor:not-allowed}.room-pick{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.pick{cursor:pointer;color:#2b2620;background:#fff;border:1px solid #d8cdb0;border-radius:10px;padding:9px 14px;font-family:inherit;font-size:14px;font-weight:700}.pick.on{color:#fff;background:#c79a3b;border-color:#c79a3b}.collect-box{background:#faf6ea;border:1px solid #ecd9a6;border-radius:12px;margin-top:18px;padding:14px}.collect-bal{color:#6b6353;margin-bottom:10px;font-size:14px}.collect-bal b{color:#2b2620}.collect-btn{color:#fff;cursor:pointer;background:#2f7d4f;border:none;border-radius:10px;width:100%;padding:13px;font-family:inherit;font-size:14px;font-weight:800}.flag-btn{color:#c2562f;cursor:pointer;background:#fbeae3;border:1px solid #e7c3b3;border-radius:10px;width:100%;margin-top:10px;padding:11px;font-size:14px;font-weight:700}.flag-btn.remove{width:auto;margin-top:8px;padding:7px 14px}.badge-flag{color:#c2562f;background:#fbeae3;border:1px solid #e7c3b3;border-radius:20px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.policy{border:1px solid var(--line);background:#faf6ea;border-radius:12px;margin-top:16px;padding:13px 15px}.policy-title{color:var(--ink);margin-bottom:8px;font-size:13px;font-weight:700}.policy-body{color:#6b5f3e;white-space:pre-line;font-size:13px;line-height:1.6}.agree-row{color:var(--ink);align-items:flex-start;gap:10px;margin-top:12px;font-size:13.5px;display:flex}.agree-row input{width:19px;height:19px;accent-color:var(--gold);flex-shrink:0;margin-top:1px}.group{margin-top:18px}.group-head{border-bottom:1px solid #e9e2d2;align-items:baseline;gap:10px;margin-bottom:10px;padding-bottom:6px;display:flex}.group-name{color:#2b2620;font-size:15px;font-weight:800}.group-count{color:#a89e88;font-size:12px}.board{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:11px;margin-top:8px;display:grid}.room{cursor:pointer;text-align:center;background:#fff;border:1px solid #e3dccb;border-radius:12px;padding:13px 10px;transition:transform .12s,box-shadow .12s}.room:hover{transform:translateY(-2px);box-shadow:0 8px 18px -10px #0000004d}.room-num{font-size:23px;font-weight:800}.room-type{color:#6b6353;margin-top:3px;font-size:12px;font-weight:600}.room-status{text-transform:uppercase;letter-spacing:.07em;margin-top:9px;font-size:10px;font-weight:700}.room.vacant{background:#f6fbf7;border:1px solid #bfe3cb;border-top:4px solid #3a9d63}.room.vacant .room-status{color:#3a9d63}.room.occupied{background:#fcf6e8;border:1px solid #ecd9a6;border-top:4px solid #c79a3b}.room.occupied .room-status{color:#c79a3b}.room.cleaning{background:#fcf0ea;border:1px solid #ecc3b2;border-top:4px solid #c2562f}.room.cleaning .room-status{color:#c2562f}.room{position:relative}.due-flag{color:#fff;letter-spacing:.05em;text-transform:uppercase;background:#c2562f;border-radius:20px;padding:3px 7px;font-size:9px;font-weight:800;position:absolute;top:-8px;right:-6px;box-shadow:0 2px 6px -1px #0000004d}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:26px;display:grid}.stat{background:#fff;border:1px solid #e3dccb;border-radius:16px;padding:20px}.stat.big{color:#fff;background:#2b2620;border-color:#2b2620;grid-column:1/-1}.stat-label{color:#8a8270;text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:700}.stat.big .stat-label{color:#c79a3b}.stat-value{margin-top:8px;font-size:32px;font-weight:800}.stat.big .stat-value{font-size:44px}.stat-sub{color:#a89e88;margin-top:4px;font-size:13px}.refund-btn{color:#f7f2e7;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff47;border-radius:10px;margin-top:16px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:700}.refund-btn:hover{background:#fff3}.money-breakdown{gap:18px;margin-top:10px;font-size:13px;font-weight:700;display:flex}.money-breakdown span{color:#f7f2e7bf}.money-breakdown .out{color:#e9a98c}.activity{flex-direction:column;gap:8px;margin-top:12px;display:flex}.act-row{background:#fff;border:1px solid #e3dccb;border-radius:12px;justify-content:space-between;align-items:center;padding:13px 15px;display:flex}.act-main{font-size:14px}.act-reason{color:#6b6353;font-style:italic}.act-sub{color:#a89e88;margin-top:2px;font-size:12px}.act-right{text-align:right}.act-amount{font-size:15px;font-weight:800}.act-amount.out{color:#c2562f}.pill{text-transform:uppercase;letter-spacing:.05em;border-radius:20px;margin-top:4px;padding:2px 8px;font-size:10px;font-weight:800;display:inline-block}.pill.paid{color:#2f7d4f;background:#e7f3ea}.pill.unpaid{color:#c2562f;background:#fbeae3}.pill.partial{color:#a87f2a;background:#faf2e0}.date-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.cash-hidden .cash,.cash-hidden .money-breakdown,.cash-hidden .act-amount{-webkit-filter:blur(9px);-webkit-user-select:none;user-select:none;transition:filter .12s}.datebtn{color:#6b6353;cursor:pointer;background:#fff;border:1px solid #e3dccb;border-radius:10px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:700}.datebtn.on{color:#fff;background:#2b2620;border-color:#2b2620}.date-input{color:#2b2620;background:#fff;border:1px solid #e3dccb;border-radius:10px;padding:8px 12px;font-family:inherit;font-size:13px}.flagged-list{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.flagged-row{background:#fbeae3;border:1px solid #e7c3b3;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:12px;padding:13px 15px;display:flex}.flagged-name{color:#c2562f;font-weight:700}.flagged-phone{color:#6b5f3e;margin-top:2px;font-size:13px}.flagged-reason{color:#2b2620;margin-top:5px;font-size:13.5px;font-style:italic}.flagged-meta{color:#6b5f3e;margin-top:5px;font-size:12.5px;font-weight:500}.book-form{max-width:460px;margin-top:10px}.book-form select.search-input{cursor:pointer;background:#fff}.pill.advance{color:#4a54b8;background:#eef0fb}.upcoming{margin-bottom:8px}.resv-row{background:#fff;border:1px solid #e3dccb;border-radius:12px;justify-content:space-between;align-items:flex-start;margin-top:10px;padding:13px 15px;display:flex}.resv-left{flex:auto;min-width:0}.resv-name{color:#2b2620;font-size:15px;font-weight:800}.resv-meta{color:#6b6353;margin-top:3px;font-size:12.5px}.resv-note{color:#a89e88;margin-top:4px;font-size:12px;font-style:italic}.resv-right{text-align:right;white-space:nowrap;margin-left:12px}.resv-amount{color:#2b2620;font-size:15px;font-weight:800}.resv-balance{color:#c2562f;margin-top:4px;font-size:12px}.resv-balance b{color:#c2562f}.resv-checkin{cursor:pointer;color:#fff;background:#2b2620;border:none;border-radius:9px;margin-top:8px;margin-left:auto;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:700;display:block}.resv-manage{color:#5a5340;cursor:pointer;background:#ece7da;border:none;border-radius:8px;margin-top:6px;padding:8px 14px;font-size:13px;font-weight:600}.mg-actions{gap:8px;margin-top:6px;display:flex}.mg-cancel,.mg-noshow{cursor:pointer;border:none;border-radius:8px;flex:1;padding:11px;font-size:14px;font-weight:600}.mg-cancel{color:#9a3434;background:#f3e0e0}.mg-noshow{color:#8a6a1a;background:#f3ecd9}.resv-btns{gap:8px;margin-top:6px;display:flex}@media (width<=520px){.resv-row{flex-direction:column;align-items:stretch}.resv-right{text-align:left;white-space:normal;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:10px;margin-left:0;display:flex}.resv-btns{flex-wrap:wrap;flex-basis:100%;margin-top:2px}.resv-btns>button{flex:auto;margin-top:0}.resv-checkin{margin-left:0}}.staff-list{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.staff-row{background:var(--card,#fffdf7);border:1px solid var(--line,#e4dcc8);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;display:flex}.staff-row.left{opacity:.6}.staff-name{color:var(--ink,#2b2620);font-weight:700}.staff-tag{color:#8a8270;background:#eee7d6;border-radius:20px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:700}.staff-meta{color:#5a4f33;text-transform:capitalize;margin-top:4px;font-size:14px;line-height:1.5}.staff-toggle{border:1px solid var(--line,#e4dcc8);color:#6b5f3e;cursor:pointer;background:#fff;border-radius:9px;width:auto;margin:0;padding:8px 14px;font-size:13px;font-weight:600}.staff-add{border:1px solid var(--line,#e4dcc8);background:#faf6ea;border-radius:14px;padding:18px}.add-title{margin-bottom:6px;font-family:Fraunces,serif;font-size:18px}.staff-tag.nologin{color:#8a7f63;background:#ece7da}.staff-left{flex:auto;min-width:0}.staff-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}@media (width<=520px){.staff-row{flex-wrap:wrap}.staff-actions{justify-content:flex-end;width:100%;margin-top:6px}.ghist-row{flex-wrap:wrap}}.staff-edit{color:#5a5340;cursor:pointer;background:#ece7da;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600}.staff-edit:hover{background:#e2dccb}.ghist{flex-direction:column;gap:8px;margin-top:8px;display:flex}.ghist-row{background:#faf8f3;border:1px solid #ece7da;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.ghist-main{color:#3a3526;font-size:14px;font-weight:600}.ghist-sub{color:#8a7f63;margin-top:2px;font-size:12px}.ghist-right{text-align:right}.ghist-amount{color:#3a3526;font-size:14px;font-weight:700}.ghist-paid{color:#5a5346;text-align:right;margin-top:2px;font-size:14px}@media (width<=720px){.topbar{flex-wrap:wrap;gap:8px}.topbar-right{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;gap:8px;min-width:0}.dept-shell .topbar-right{flex:100%}.topbar-right>*{flex:none;max-width:100%}.nav-toggle{-webkit-overflow-scrolling:touch;white-space:nowrap;order:3;gap:6px;width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.nav-toggle::-webkit-scrollbar{height:0}.nav{flex:none}.hotel{display:none}}.date-field{min-width:0;display:inline-flex;position:relative}.date-field>input{width:100%}.date-field>input.is-empty::-webkit-datetime-edit{opacity:0}.date-field-hint{pointer-events:none;color:#a89e88;white-space:nowrap;font-size:14px;font-weight:600;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.dept-tabs{gap:8px;width:100%;max-width:620px;margin:2px auto 12px;display:flex}.dept-tabs>button{cursor:pointer;white-space:nowrap;border-radius:10px;flex:1 1 0;min-width:0;padding:10px 8px;font-family:inherit;font-size:14px;font-weight:700}@media (width<=430px){.dept-tabs{gap:6px}.dept-tabs>button{padding:10px 4px;font-size:12.5px}}.dept-shell .screen{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}.no-spin::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.no-spin::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.no-spin{appearance:textfield}.app-shell{align-items:flex-start;max-width:1460px;margin:0 auto;display:flex}.app-content{flex:1;min-width:0}.app-side{scrollbar-width:thin;scrollbar-color:#dcd2bb transparent;flex:0 0 234px;align-self:stretch;width:234px;max-height:100vh;padding:18px 14px 40px;position:sticky;top:0;overflow-y:auto}.app-side::-webkit-scrollbar{width:7px}.app-side::-webkit-scrollbar-track{background:0 0}.app-side::-webkit-scrollbar-thumb{background:#dcd2bb;border-radius:999px}.app-side::-webkit-scrollbar-thumb:hover{background:#c8bd9c}.app-side::-webkit-scrollbar-button{width:0;height:0;display:none}.snav-item svg{fill:none;stroke:currentColor;opacity:.82;flex-shrink:0;width:17px;height:17px}.snav-item.on svg{opacity:1}.msheet-ic{color:#8a7d5c;flex-shrink:0;justify-content:center;align-items:center;width:20px;display:inline-flex}.msheet-ic svg{fill:none;stroke:currentColor;width:18px;height:18px}.mobile-dock{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:60;-webkit-backdrop-filter:blur(28px)saturate(1.7);backdrop-filter:blur(28px)saturate(1.7);background:#fdfaf28c;border:1px solid #ffffff8c;border-radius:24px;display:flex;position:fixed;overflow:hidden;box-shadow:0 12px 34px -10px #281e0a66,inset 0 1px #ffffffa6}.btab-ic{justify-content:center;align-items:center;line-height:1;display:inline-flex}.btab-ic svg{fill:none;stroke:currentColor;width:27px;height:27px}.recep-sticky{z-index:5;background:#f4efe4;padding-top:10px;position:sticky;top:0;box-shadow:0 8px 8px -8px #3f372224}@media (width<=820px){.recep-sticky{box-shadow:none;padding-top:0;position:static}}.env-badge{z-index:99999;pointer-events:none;position:fixed;bottom:8px;left:8px}@media (width<=820px){.env-badge{bottom:calc(80px + env(safe-area-inset-bottom,0px))}}.snav-sec{margin-bottom:6px}.snav-title{cursor:pointer;letter-spacing:.12em;text-transform:uppercase;color:#b0a58a;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:12px 12px 7px;font-size:11px;font-weight:800;transition:color .12s;display:flex}.snav-title:hover{color:#8a7d5c}.snav-caret{font-size:9px;transition:transform .16s}.snav-caret.closed{transform:rotate(-90deg)}.snav-item{text-align:left;color:#6b6149;cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:14px;font-weight:600;transition:background .12s,color .12s;display:flex;position:relative}.snav-item:hover{background:#f3ecda}.snav-item.on{color:#5a4a1f;background:#ece2c8;font-weight:700}.snav-item.on:before{content:"";background:#c49234;border-radius:3px;width:3px;position:absolute;top:8px;bottom:8px;left:3px}.snav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.snav-dot{color:#fff;background:#c0392b;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:800;display:inline-flex}.dash-band{background:linear-gradient(135deg,#21503780 0%,#2e6b46 55%,#35794f 100%),#2e6b46;border-radius:20px;align-items:center;gap:28px;margin-bottom:16px;padding:22px 28px;display:flex;box-shadow:0 14px 34px -20px #215037d9}.dash-band .greet h1{color:#fff;letter-spacing:-.01em;margin:0;font-size:24px;font-weight:800}.dash-band .greet .sum{color:#dceee3;margin-top:7px;font-size:14.5px;font-weight:600}.dash-band .greet .date{color:#a9cdb7;margin-top:3px;font-size:12.5px}.dash-panel{background:#fff;border:1px solid #e6ddc9;border-radius:16px;margin-bottom:16px;padding:16px 18px 14px;box-shadow:0 1px 2px #3f37220d}.dash-panel .ph{letter-spacing:.06em;text-transform:uppercase;color:#a89e88;margin-bottom:14px;font-size:12px;font-weight:800}.chart{align-items:flex-end;gap:10px;display:flex}.chart .col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:5px;display:flex}.chart .cnt{color:#3f3722;min-height:14px;font-size:11.5px;font-weight:800}.chart .bar{background:linear-gradient(#3f855b,#2e6b46);border-radius:6px 6px 3px 3px;width:100%;max-width:30px;transition:height .7s cubic-bezier(.22,.61,.36,1)}.chart .col.today .bar{background:linear-gradient(#d8af49,#c49234)}.chart .lbl{color:#8a7d5c;font-size:11px}.mix{background:#efe7d3;border-radius:999px;height:18px;display:flex;overflow:hidden}.mix span{height:100%;transition:width .7s cubic-bezier(.22,.61,.36,1);display:block}.mix-legend{flex-wrap:wrap;gap:12px 22px;margin-top:14px;display:flex}.mix-legend .li{color:#6b6149;align-items:center;gap:8px;font-size:13px;display:flex}.mix-legend .li .d{border-radius:999px;flex-shrink:0;width:9px;height:9px}.mix-legend .li b{color:#2b2620;font-weight:800}.dash-hero{background:#fff;border:1px solid #e6ddc9;border-radius:18px;align-items:center;gap:24px;margin-bottom:16px;padding:20px 24px;display:flex;box-shadow:0 1px 2px #3f37220d}.dash-hero .k{color:#8a7d5c;font-size:12.5px;font-weight:600}.dash-hero .big{color:#2b2620;margin-top:5px;font-size:23px;font-weight:800;line-height:1.15}.dash-hero .small{color:#a89e88;margin-top:5px;font-size:13px}.dash-sec-title{letter-spacing:.06em;text-transform:uppercase;color:#a89e88;margin:24px 0 11px;font-size:12px;font-weight:800}.dash-ring text{fill:#2b2620}@media (width<=820px){.app-shell{display:block}.dash-hero{gap:18px;padding:18px}.dash-band{gap:18px;padding:18px 20px}.dash-band .greet h1{font-size:21px}}@media (width<=520px){.dash-band{text-align:center;flex-direction:column;gap:14px;padding:20px 18px}.dash-band>svg{width:92px;height:92px}.dash-band .greet h1{font-size:20px}.screen{padding:18px 14px 60px}}.dash{grid-template-columns:216px 1fr;align-items:start;gap:30px;margin-top:22px;display:grid}.dash-side{position:sticky;top:14px}.dash-side h4{letter-spacing:.13em;text-transform:uppercase;color:#b0a58a;padding:0 12px 9px;font-size:11px;font-weight:800}.dash-nav{flex-direction:column;gap:3px;display:flex}.dash-navi{text-align:left;color:#6b6149;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:11px;width:100%;padding:10px 12px;font-size:14px;font-weight:600;transition:background .13s,color .13s;display:flex;position:relative}.dash-navi:hover{background:#efe8d7}.dash-navi.on{color:#235338;background:#e9f2ec;font-weight:700}.dash-navi.on:before{content:"";background:#2e6b46;border-radius:3px;width:3px;position:absolute;top:9px;bottom:9px;left:4px}.dash-navi svg{stroke:currentColor;opacity:.85;flex-shrink:0;width:18px;height:18px}.dash-navi .dot{color:#fff;background:#c0392b;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex}.dash-sep{background:#e6ddc9;height:1px;margin:14px 10px}.dash-links{flex-direction:column;gap:3px;display:flex}.dash-link{text-align:left;color:#8a7d5c;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:13.5px;font-weight:600;transition:background .13s,color .13s;display:flex}.dash-link:hover{color:#5a4f33;background:#efe8d7}.dash-link .arr{color:#c3b892;margin-left:auto;font-weight:700}.dash-main{min-width:0}.dash-h{color:#2b2620;margin:0;font-size:22px;font-weight:800}.dash-hsub{color:#8a8270;margin:4px 0 20px;font-size:13.5px}.dash-jump{display:none}.dash-jump button{color:#5a4f33;cursor:pointer;background:#fffdf7;border:1px solid #e2d6b4;border-radius:999px;padding:10px 15px;font-size:13px;font-weight:700}.dash-cards{grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:14px;display:grid}.dash-card{background:#fff;border:1px solid #e6ddc9;border-radius:16px;padding:18px 18px 16px;box-shadow:0 1px 2px #3f37220d}.dash-card.tap{cursor:pointer;transition:transform .13s,box-shadow .13s,border-color .13s}.dash-card.tap:hover{border-color:#d8cbac;transform:translateY(-2px);box-shadow:0 14px 28px -16px #3f372273}.dash-card .k{color:#8a7d5c;letter-spacing:.01em;align-items:center;gap:7px;font-size:12.5px;font-weight:600;display:flex}.dash-card .k .dot{border-radius:999px;flex-shrink:0;width:8px;height:8px}.dash-card .v{color:#2b2620;font-variant-numeric:tabular-nums;margin-top:8px;font-size:30px;font-weight:800;line-height:1}.dash-card .s{color:#a89e88;margin-top:7px;font-size:12px}.rs-card{background:#fff;border:1px solid #e6ddc9;border-radius:16px;margin-bottom:20px;overflow:hidden;box-shadow:0 1px 2px #3f37220d}.ph-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.ph-row button{color:#2e6b46;cursor:pointer;text-transform:none;letter-spacing:0;background:0 0;border:none;font-size:12.5px;font-weight:700}.tg-row{text-align:left;cursor:pointer;background:0 0;border:none;border-top:1px solid #f2ead8;border-radius:8px;align-items:flex-start;gap:12px;width:100%;padding:12px 4px;display:flex}.tg-row:first-child{border-top:none}.tg-row:hover{background:#faf6ea}.tg-rank{text-align:center;color:#b8923a;flex-shrink:0;width:24px;padding-top:1px;font-size:15px;font-weight:800}.tg-main{flex:1;min-width:0}.tg-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.tg-name{text-overflow:ellipsis;white-space:nowrap;color:#3f3722;min-width:0;font-weight:700;overflow:hidden}.tg-amt{color:#2e6b46;font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:800}.tg-bar{background:#efe7d3;border-radius:6px;height:6px;margin:7px 0 4px;overflow:hidden}.tg-bar>div{border-radius:6px;height:100%;transition:width 1.6s cubic-bezier(.22,.61,.36,1)}.tg-sub{color:#8a7d5c;font-size:11.5px}.rs-head{text-align:left;background:0 0;border:none;align-items:center;gap:13px;width:100%;padding:17px 18px;display:flex}button.rs-head{cursor:pointer}.rs-head.warn{background:linear-gradient(#fdf4ee,#fff)}.rs-head.ok{background:linear-gradient(#eef7ef,#fff)}.rs-head.open{border-bottom:1px solid #f0e2d5}.rs-caret{color:#a6552e;margin-left:4px;font-size:12px;transition:transform .16s}.rs-caret.open{transform:rotate(180deg)}.rs-ic{border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.rs-ic svg{width:21px;height:21px}.rs-ic.warn{color:#b5561f;background:#fbe3d4}.rs-ic.ok{color:#24713f;background:#d6ecda}.rs-htext{min-width:0}.rs-title{color:#2b2620;font-size:16px;font-weight:800}.rs-sub{color:#8a7d5c;margin-top:2px;font-size:12.5px}.rs-right{flex-shrink:0;align-items:center;gap:10px;margin-left:auto;display:flex}.rs-tag{border-radius:999px;flex-shrink:0;padding:5px 11px;font-size:12px;font-weight:800}.rs-tag.warn{color:#a6552e;background:#fbeae3;border:1px solid #e7c3b3}.rs-tag.ok{color:#24713f;background:#eaf5ec;border:1px solid #cfe6d4}.rs-body{padding:4px 18px 12px}.rs-dept{letter-spacing:.07em;text-transform:uppercase;color:#a89e88;margin:14px 0 2px;font-size:11px;font-weight:800}.rs-row{border-bottom:1px solid #f4eddc;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.rs-row:last-child{border-bottom:none}.rs-name{color:#3f3722;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14.5px;overflow:hidden}.rs-name .u{color:#b3a888;font-weight:500}.rs-pill{white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;padding:4px 11px;font-size:12px;font-weight:800}.rs-pill.low{color:#a6552e;background:#fbeae3;border:1px solid #e7c3b3}.rs-pill.out{color:#b23b3b;background:#fbe6e6;border:1px solid #e7b3b3}.rs-foot{border-top:1px solid #f0e9d8;justify-content:flex-end;padding:12px 18px;display:flex}.rs-foot button{color:#2e6b46;cursor:pointer;background:0 0;border:none;font-size:13.5px;font-weight:700}.rs-clickable{cursor:pointer}.rs-totop{right:18px;bottom:calc(86px + env(safe-area-inset-bottom,0px));z-index:90;color:#6b5a2a;cursor:pointer;background:#eccf8f;border:1px solid #dcbf7e;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;line-height:1;display:flex;position:fixed;box-shadow:0 6px 18px -6px #5a461966}@media (width>=821px){.rs-totop{bottom:22px}}.rs-clickable .rs-head{pointer-events:none}.rs-filters{flex-wrap:wrap;gap:7px;padding:13px 18px 3px;display:flex}.rs-fpill{cursor:pointer;color:#6b6149;white-space:nowrap;background:#fff;border:1px solid #e2d6b4;border-radius:999px;padding:5px 13px;font-size:12.5px;font-weight:700}.rs-fpill.on{color:#5a4a1f;background:#ece2c8;border-color:#c49234}.rs-filters-wrap{position:relative}@media (width<=820px){.rs-filters{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.rs-filters::-webkit-scrollbar{height:0}.rs-fpill{flex:none}.rs-filters-wrap:after{content:"";pointer-events:none;background:linear-gradient(90deg,#fff0,#fff);width:34px;position:absolute;top:0;bottom:3px;right:0}.dash{grid-template-columns:1fr;gap:16px;margin-top:14px}.dash-side{position:static}.dash-side h4{display:none}.dash-nav{-webkit-overflow-scrolling:touch;flex-direction:row;gap:8px;padding-bottom:4px;overflow-x:auto}.dash-navi{background:#fff;border:1px solid #e6ddc9;border-radius:999px;flex:none;padding:9px 15px}.dash-navi.on:before,.dash-sep,.dash-links{display:none}.dash-jump{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}}
