:root{--maroon: #2563eb;--maroon-700: #1d4ed8;--sidebar: #1e2a48;--sidebar-700: #172038;--amber: #7aa7f0;--amber-soft: #e8f0fe;--bg: #f4f6fa;--card: #ffffff;--ink: #1f2430;--ink-soft: #6b7280;--line: #e3e6eb;--ok-bg: #e6f4ea;--ok-ink: #1f7a3d;--err-bg: #fbe7e7;--err-ink: #b02a2a;--sel: #e8f0fe}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}kbd{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:11px;background:#0000000f;border:1px solid rgba(0,0,0,.12);border-radius:4px;padding:1px 5px;white-space:nowrap}.layout{display:flex;height:100vh}.sidebar{width:240px;flex-shrink:0;background:var(--sidebar);color:#dfe5f0;display:flex;flex-direction:column;padding:18px 0;height:100vh;overflow:hidden}.brand{padding:0 20px 18px;border-bottom:1px solid var(--sidebar-700);flex-shrink:0}.brand-main{display:block;font-size:20px;font-weight:700;letter-spacing:.3px}.brand-sub{display:block;font-size:12px;color:var(--amber);margin-top:2px}.sidebar nav{display:flex;flex-direction:column;padding:10px 0;gap:1px;flex:1 1 auto;overflow-y:auto}.menu-item{display:flex;align-items:center;justify-content:space-between;background:none;border:none;color:#e8dccd;padding:9px 20px;font-size:14px;cursor:pointer;text-align:left;border-left:3px solid transparent}.menu-item:hover{background:var(--sidebar-700)}.menu-item.active{background:var(--sidebar-700);border-left-color:var(--amber);color:#fff}.menu-item kbd{background:#ffffff1a;border-color:#ffffff26;color:#f0e6d8}.help-link{margin:auto 16px 4px;background:none;border:1px solid var(--sidebar-700);color:#e8dccd;border-radius:6px;padding:8px;cursor:pointer;display:flex;gap:8px;align-items:center;justify-content:center}.help-link kbd{background:#ffffff1f;border-color:#fff3;color:#fff}.content{flex:1;overflow:auto;padding:28px 34px}.screen-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.screen-head h2{margin:0;font-size:22px}.actions{display:flex;gap:8px}button{font:inherit;cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:6px;padding:7px 12px;display:inline-flex;gap:7px;align-items:center;color:var(--ink)}button:hover{border-color:var(--amber)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--maroon);color:#fff;border-color:var(--maroon)}button.primary:hover{background:var(--maroon-700)}button.primary kbd{background:#ffffff26;border-color:#ffffff40;color:#fff}.search{width:100%;max-width:420px;padding:9px 12px;border:1px solid var(--line);border-radius:6px;font:inherit;margin-bottom:14px}.search:focus,.form-card input:focus{outline:2px solid var(--amber);border-color:var(--amber)}.grid{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden}.grid th{text-align:left;background:#f2ece2;padding:10px 14px;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-soft)}.grid td{padding:10px 14px;border-top:1px solid var(--line)}.grid tbody tr{cursor:pointer}.grid tbody tr:hover{background:#fbf6ee}.grid tbody tr.selected{background:var(--sel)}.grid td.empty{color:var(--ink-soft);text-align:center;padding:26px}.msg{padding:9px 14px;border-radius:6px;margin-bottom:14px;font-size:13px}.msg.ok{background:var(--ok-bg);color:var(--ok-ink)}.msg.error{background:var(--err-bg);color:var(--err-ink)}.placeholder{color:var(--ink-soft);max-width:520px}.placeholder h2{color:var(--ink)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#281e1966;display:flex;align-items:center;justify-content:center;z-index:50}.form-card,.help-card{background:var(--card);border-radius:10px;padding:22px 24px;width:430px;box-shadow:0 16px 48px #00000040}.form-card h3,.help-card h3{margin:0 0 14px}.form-card label{display:block;font-size:12px;color:var(--ink-soft);margin-bottom:5px}.form-card input{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:6px;font:inherit}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px}.help-card{width:420px}.help-grid{display:flex;flex-direction:column;gap:4px;max-height:60vh;overflow:auto}.help-section{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--amber);margin:12px 0 4px;font-weight:700}.help-row{display:flex;justify-content:space-between;align-items:center;padding:4px 2px}.help-foot{color:var(--ink-soft);font-size:12px;margin:14px 0 0}@media (prefers-reduced-motion: no-preference){.form-card,.help-card{animation:pop .12s ease-out}@keyframes pop{0%{transform:scale(.97);opacity:.6}to{transform:scale(1);opacity:1}}}.ss{position:relative}.ss-input{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:6px;font:inherit}.ss-input:focus{outline:2px solid var(--amber);border-color:var(--amber)}.ss-list{position:absolute;left:0;right:auto;top:calc(100% + 4px);z-index:40;min-width:100%;width:max-content;max-width:min(420px,60vw);background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px #00000029;max-height:220px;overflow:auto}.ss-row{padding:8px 12px;cursor:pointer}.ss-row.hl{background:var(--sel)}.ss-create{color:var(--maroon);font-weight:600;border-top:1px solid var(--line)}.ss-empty{padding:10px 12px;color:var(--ink-soft)}.form-card.wide{width:560px;max-height:86vh;overflow:auto}.form-section{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--maroon);font-weight:700;margin:18px 0 8px;padding-bottom:5px;border-bottom:1px solid var(--line)}.form-section .muted{text-transform:none;letter-spacing:0;font-weight:400;color:var(--ink-soft)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.form-grid .full{grid-column:1 / -1}.form-grid label{display:block;font-size:12px;color:var(--ink-soft);margin-bottom:4px}.form-grid input{width:100%;padding:8px 11px;border:1px solid var(--line);border-radius:6px;font:inherit}.form-grid input:focus{outline:2px solid var(--amber);border-color:var(--amber)}.select{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:6px;font:inherit;background:#fff}.select:focus{outline:2px solid var(--amber);border-color:var(--amber)}.week{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.week-days{display:flex;gap:6px}.week-day{width:42px;padding:7px 0;text-align:center;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink-soft);cursor:pointer;font-size:13px}.week-day.on{background:var(--maroon);color:#fff;border-color:var(--maroon)}.week-quick{display:flex;gap:6px}.week-quick button{padding:6px 10px;font-size:12px}.danger{margin-left:auto;background:#fff;color:var(--err-ink);border-color:#e9b8b8}.danger:hover{background:var(--err-bg);border-color:var(--err-ink)}.overlay.top{z-index:80;background:#281e1980}.cal-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.cal-nav{display:flex;align-items:center;gap:8px}.cal-nav button{padding:6px 11px}.cal-title{font-weight:600;min-width:150px;text-align:center}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-wd{text-align:center;font-size:12px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.4px;padding-bottom:4px}.cal-cell{min-height:74px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:6px 8px;cursor:pointer;display:flex;flex-direction:column;gap:4px}.cal-cell:hover{border-color:var(--amber)}.cal-cell.empty{background:transparent;border:none;cursor:default}.cal-cell.today{border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber)}.cal-cell.closed{background:var(--maroon);border-color:var(--maroon);color:#fff}.cal-day{font-size:13px;font-weight:600}.cal-reason{font-size:11px;line-height:1.2;opacity:.95;word-break:break-word}.cal-applyall{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:13px;color:var(--ink);cursor:pointer}.cal-applyall input{width:auto}.cal-cell.sel{outline:3px solid var(--amber);outline-offset:-3px}.cal-cell.closed.sel{outline-color:#ffd98a}.cal-selbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:var(--amber-soft);border:1px solid var(--amber);border-radius:8px;padding:8px 12px;margin-bottom:12px;font-size:14px}.grid-wrap:focus{outline:none}.grid-wrap{overflow-x:auto}.seva-grid{overflow:visible}.seva-grid td{vertical-align:middle}.seva-grid .ss-list{max-width:min(420px,46vw)}.grid-wrap:focus-within .grid,.grid-wrap:focus .grid{box-shadow:0 0 0 2px var(--amber-soft)}.vip-badge{display:inline-block;background:var(--amber);color:#3a2a10;font-size:11px;font-weight:700;padding:1px 8px;border-radius:10px;letter-spacing:.3px}.mini{padding:3px 9px;font-size:12px}.fam-row{display:flex;gap:8px;align-items:flex-start;background:#faf6ef;border:1px solid var(--line);border-radius:8px;padding:10px;margin-bottom:8px}.fam-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px 10px;flex:1}.fam-grid label{display:block;font-size:11px;color:var(--ink-soft);margin-bottom:3px}.fam-grid input,.fam-grid .select{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:6px;font:inherit}.fam-remove{flex-shrink:0;background:#fff;border:1px solid #e9b8b8;color:var(--err-ink);border-radius:6px;padding:6px 9px;cursor:pointer}.fam-remove:hover{background:var(--err-bg)}.masa-chips{display:flex;flex-wrap:wrap;gap:6px}.masa-chip{padding:6px 11px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink-soft);cursor:pointer;font-size:13px}.masa-chip.on{background:var(--maroon);color:#fff;border-color:var(--maroon)}.bk-panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:14px}.bk-info{margin-top:10px;background:var(--amber-soft);border-radius:8px;padding:8px 12px;font-size:14px}.bk-range{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bk-range input{padding:7px 9px;border:1px solid var(--line);border-radius:6px;font:inherit}.bk-cell.blocked{opacity:.45;cursor:not-allowed;background:#f3efe9}.bk-cell.blocked.closed{opacity:1}.bk-skipped{background:var(--err-bg);color:var(--err-ink);border-radius:8px;padding:8px 12px;font-size:13px;margin:6px 0}.receipt-box{background:#e8f6ec;border:1px solid #b6dcc2;color:#1d5b32;border-radius:10px;padding:12px 16px;margin-bottom:14px}.bk-cols{display:flex;gap:16px;align-items:flex-start}.bk-left{flex:1 1 46%;min-width:0}.bk-right{flex:1 1 54%;min-width:0;position:sticky;top:8px}@media (max-width: 900px){.bk-cols{flex-direction:column}.bk-right{position:static}}.bk-range{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.bk-range label{display:block;font-size:11px;color:var(--ink-soft);margin-bottom:3px}.bk-cell.past{opacity:.35;cursor:not-allowed}.bk-cell.dim{opacity:.4;cursor:pointer}.bk-cell.inrange{background:var(--amber-soft);border-color:var(--amber)}.bk-cell.endpoint{background:var(--amber);color:#3a2a10;border-color:var(--amber)}.bk-cell.closed.inrange,.bk-cell.closed.endpoint{background:var(--maroon);color:#fff}.bk-savebar{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin-top:4px;box-shadow:0 -2px 10px #0000000d}.bk-total{font-size:15px}.stepper{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.step{display:flex;align-items:center;gap:7px;padding:6px 12px;border-radius:20px;background:#f1ece4;color:var(--ink-soft);font-size:13px}.step .step-n{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#d9cfc0;color:#5b5247;font-size:12px;font-weight:700}.step.active{background:var(--maroon);color:#fff}.step.active .step-n{background:var(--amber);color:#3a2a10}.step.done{background:#e3f4e8;color:#1d5b32}.step.done .step-n{background:#2f9e54;color:#fff}.bk-muted{opacity:.55}.bk-summary .sum-row{display:flex;justify-content:space-between;gap:10px;padding:4px 0;font-size:14px;border-bottom:1px dashed var(--line)}.bk-summary .sum-row span{color:var(--ink-soft)}.bk-summary .sum-row.total{border-bottom:none;font-size:16px;margin-top:4px}.chip-wrap{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chip{font-size:12px;padding:3px 9px;border-radius:12px}.chip.ok{background:#e3f4e8;color:#1d5b32}.chip.skip{background:#fbe6e6;color:var(--err-ink)}.bk-cell.bk-ok{background:#e3f4e8;border-color:#7bc090;color:#1d5b32}.bk-cell.bk-skip{background:#fbe6e6;border-color:#e2a0a0;color:var(--err-ink)}.bk-cell.bk-ok.endpoint,.bk-cell.bk-skip.endpoint{box-shadow:inset 0 0 0 2px var(--amber)}.leg{padding:0 6px;border-radius:8px;font-weight:600}.leg.ok{background:#e3f4e8;color:#1d5b32}.leg.skip{background:#fbe6e6;color:var(--err-ink)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:2000;padding:12px 20px;border-radius:10px;font-size:14px;font-weight:500;color:#fff;box-shadow:0 6px 24px #00000038;animation:toastin .18s ease-out;max-width:90%}.toast.error{background:#b4453a}.toast.ok{background:#2f9e54}@keyframes toastin{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.prasadam-box{background:var(--amber-soft);border-radius:8px;padding:10px 12px;font-size:14px;margin-bottom:6px}.qty-stepper{display:flex;align-items:center;gap:10px;margin-top:8px}.qty-stepper .mini{width:30px;height:30px;padding:0;font-size:18px;line-height:1}.qty-val{min-width:28px;text-align:center;font-weight:700;font-size:16px}.bk-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 12px}.bk-fields label{display:block;font-size:11px;color:var(--ink-soft);margin-bottom:3px}.bk-fields input,.bk-fields .select{width:100%}.dates-chosen{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:15px}.bk-left{flex:1 1 60%}.bk-right{flex:1 1 40%}.bk-cal{max-width:460px;max-height:92vh;overflow-y:auto}.bk-cal .cal-cell{min-height:40px;padding:3px 4px;border-radius:6px}.bk-cal .cal-day{font-size:12px}.bk-cal .cal-reason{font-size:9px;line-height:1.1}.bk-cal .cal-wd{font-size:11px;padding-bottom:2px}.bk-cal .cal-grid{gap:4px}.sum-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.sum-grid .sum-row.total{grid-column:1 / -1}@media (max-width: 700px){.sum-grid{grid-template-columns:1fr}}.bk-fields{grid-template-columns:repeat(3,1fr);gap:14px 18px}@media (max-width: 1100px){.bk-fields{grid-template-columns:repeat(2,1fr)}}@media (max-width: 700px){.bk-fields{grid-template-columns:1fr}}.bk-fields label{font-size:12px;color:var(--ink);font-weight:500;margin-bottom:5px}.bk-fields input,.bk-fields .select,.bk-fields select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:7px;font:inherit;background:#fff}.bk-fields .ss{width:100%}.bk-form .bk-panel{padding:16px 18px}.bk-modal-look{max-width:1180px;margin:0 auto;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 34px #00000017;padding:0 30px;max-height:calc(100vh - 100px);overflow-y:auto;overflow-x:hidden}.bk-modal-head{position:sticky;top:0;z-index:3;background:#fff;display:flex;align-items:center;justify-content:space-between;margin:0 -24px;padding:16px 24px 10px;border-bottom:1px solid var(--line)}.bk-modal-head h3{margin:0;font-size:20px;font-weight:700;letter-spacing:.2px}.bk-modal-hint{font-size:12px;color:var(--ink-soft)}.bk-modal-look kbd{background:#eef1f6;border:1px solid #d7dce4;border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-family:inherit;font-size:11px}.bk-sec{display:flex;align-items:center;gap:12px;margin:18px 0 2px}.bk-modal-look .bk-fields{grid-template-columns:repeat(3,1fr)}.bk-sec-gap{height:8px}.bk-modal-look .bk-fields>div,.bk-modal-look input,.bk-modal-look select,.bk-modal-look .ss,.bk-modal-look .ss-input,.bk-modal-look .field-box,.bk-modal-look .ptable-row{scroll-margin-top:84px;scroll-margin-bottom:86px}@media (max-width: 1000px){.bk-modal-look .bk-fields{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.bk-modal-look .bk-fields{grid-template-columns:1fr}}.bk-sec span{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:#8a94a6;font-weight:700;white-space:nowrap}.bk-sec:after{content:"";height:1px;background:var(--line);flex:1}.bk-modal-look .bk-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);margin:18px -24px 0;padding:14px 24px;border-radius:0 0 14px 14px;display:flex;align-items:center;gap:10px;z-index:3}.bk-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 22px}.bk-sec{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}.bk-sec:last-of-type{border-bottom:none;padding-bottom:0;margin-bottom:0}.sec-head{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--maroon);margin-bottom:14px}.field-box{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:#fff;cursor:pointer;min-height:21px;box-sizing:border-box}.field-box:hover{border-color:var(--amber)}.field-box:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 2px #d99a2b40}.muted-box{color:var(--ink-soft);cursor:default;background:#faf8f5}.field-with-btn{display:flex;gap:8px;align-items:stretch}.field-with-btn>:first-child{flex:1;min-width:0}.field-with-btn .mini{white-space:nowrap}.bk-actions{display:flex;align-items:center;gap:10px;padding-top:4px}.bk-actions .bk-total{font-size:14px;color:var(--ink-soft)}.cfg-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer}.cfg-row:last-of-type{border-bottom:none}.cfg-row input[type=checkbox]{margin-top:3px;width:18px;height:18px;flex-shrink:0}.bk-compact .bk-fields{gap:12px 16px}.bk-compact .prasadam-box{margin-bottom:0}.cfg-wrap{max-width:680px;margin:0 auto}.row-click{cursor:pointer}.row-click:hover{background:var(--amber-soft)}.cal-cell.kbd-focus{outline:2px solid var(--maroon);outline-offset:-2px}.sec-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.ptable{border:1px solid var(--line);border-radius:8px;overflow:visible}.ptable-head{border-radius:8px 8px 0 0}.ptable-head,.ptable-row{display:grid;grid-template-columns:30px 1.1fr 1.3fr 1fr 1fr 1fr;gap:8px;align-items:center;padding:7px 10px}.ptable-head{background:var(--amber-soft);font-size:10px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.4px}.ptable-row{border-top:1px solid var(--line)}.ptable .pnum{text-align:center;font-weight:700;color:var(--ink-soft)}.ptable input,.ptable .select,.ptable .ss-input{width:100%;padding:7px 9px;font-size:13px;box-sizing:border-box}@media (max-width: 950px){.ptable-head{display:none}.ptable-row{grid-template-columns:1fr 1fr}.ptable .pnum{grid-column:1 / -1;text-align:left}}.psum{border:1px solid var(--line);border-radius:7px;overflow:hidden;font-size:13px}.psum-head,.psum-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:8px;padding:6px 10px}.psum-head{background:var(--amber-soft);font-size:10px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.4px}.psum-row{border-top:1px solid var(--line)}.psum-row span:first-child{font-weight:600}.rep-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.rep-card{display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.rep-card:hover{border-color:var(--amber)}.report-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.report-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;max-height:62vh}table.report{border-collapse:collapse;font-size:12px;white-space:nowrap;width:100%}table.report th,table.report td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:6px 9px;text-align:left}table.report thead tr:first-child th{background:var(--amber-soft);position:sticky;top:0;cursor:pointer;-webkit-user-select:none;user-select:none;z-index:1}table.report thead tr:first-child th.sorted{color:var(--maroon)}table.report tr:hover td{background:#faf8f5}table.report tr.row-sel td{background:#fbf2dd}.report-filter th{background:#fff}.report-filter input,.report-filter select{width:100%;min-width:90px;padding:4px 6px;font-size:11px;box-sizing:border-box}.rep-check{width:34px;text-align:center}table.report tr.row-total td{background:#f7efdd;font-weight:700;border-top:1px solid var(--maroon, #7a1f2b)}table.report tr.row-total:hover td{background:#f7efdd}table.report tr.row-grand td{background:var(--amber-soft, #f3e9d8);color:var(--maroon, #7a1f2b);font-weight:800;font-size:13px;border-top:2px solid var(--maroon, #7a1f2b);border-bottom:2px solid var(--maroon, #7a1f2b)}table.report tr.row-grand:hover td{background:var(--amber-soft, #f3e9d8)}table.report tr.row-expandable{cursor:pointer}.report-pager{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.rep-card:focus{outline:2px solid var(--maroon);outline-offset:2px;border-color:var(--maroon)}.rep-card:focus-visible{outline:2px solid var(--maroon);outline-offset:2px}.rep-key-row{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.rep-key-row kbd{font-size:11px}.dash-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.stat-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:#fff}.stat-label{font-size:12px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.4px}.stat-value{font-size:26px;font-weight:700;color:var(--maroon)}.dash-quick{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.quick-btn{display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.quick-btn:hover{border-color:var(--amber)}.quick-btn:focus,.quick-btn:focus-visible{outline:2px solid var(--maroon);outline-offset:2px;border-color:var(--maroon)}.dash-cols{display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:start}@media (max-width: 900px){.dash-cols{grid-template-columns:1fr}}.dash-panel{border:1px solid var(--line);border-radius:10px;background:#fff;padding:14px 16px}.upcoming{display:flex;flex-direction:column;gap:8px}.up-row{display:grid;grid-template-columns:110px 1fr 32px;align-items:center;gap:8px;font-size:13px}.up-date{color:var(--ink-soft)}.up-bar{background:var(--amber-soft);border-radius:5px;height:14px;overflow:hidden}.up-fill{display:block;height:100%;background:var(--amber);border-radius:5px;min-width:2px}.up-count{text-align:right;font-weight:600}.stat-btn{cursor:pointer;text-align:left}.stat-btn:hover{border-color:var(--amber)}.stat-btn:focus,.stat-btn:focus-visible{outline:2px solid var(--maroon);outline-offset:2px;border-color:var(--maroon)}.stat-btn.stat-on{border-color:var(--maroon)}.stat-hint{font-size:11px;color:var(--ink-soft)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--amber-soft)}.login-card{width:340px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px 26px;box-shadow:0 8px 30px #5b233314}.login-card h3{margin:0 0 12px;color:var(--maroon)}.login-card label{display:block;font-size:12px;color:var(--ink-soft);margin-bottom:4px}.login-card input{width:100%;box-sizing:border-box;padding:9px 11px}.login-err{color:#b3261e;font-size:13px;margin:10px 0 0}.sidebar-user{margin-top:auto;padding:12px 14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.su-name{font-weight:600;font-size:13px}.su-role{font-size:11px;color:var(--ink-soft);text-transform:capitalize;margin-bottom:6px}.row-inactive td{color:var(--ink-soft);background:#fafafa}.role-pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700}.role-admin{background:#f5d9d9;color:#8a1f1f}.role-manager{background:#f3e9d8;color:#7a5a14}.role-counter{background:#dceae0;color:#1f5a3a}.ss-row.ss-locked{color:#b9b3a7;cursor:not-allowed;background:#faf8f4}.ss-row.ss-locked.hl{background:#faf8f4}.perm-block{margin-top:22px}.perm-block h3{margin:0 0 8px;color:var(--maroon);display:flex;align-items:center;gap:8px}.perm-grid th:not(:first-child),.perm-grid td.perm-cell{text-align:center;width:90px}.perm-grid td.perm-cell input{width:17px;height:17px;cursor:pointer}.perm-grid td.perm-cell input:disabled{cursor:not-allowed;opacity:.45}.perm-sel{padding:4px 6px;font-size:12px;min-width:96px}.perm-grid .perm-cell{padding:4px 6px}.don-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:6px 0 10px}.don-date{font-size:12px;color:var(--ink-soft);display:flex;align-items:center;gap:6px}.don-date input{font-size:13px}.don-summary{margin:4px 0 12px;font-size:14px}.don-byfund{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:-4px 0 12px}.byfund-title{font-size:12px;color:var(--ink-soft)}.byfund-chip{background:var(--amber-soft);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:12px}.don-history{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.don-history-head{font-size:13px;margin-bottom:8px}.pan-nav{display:flex;align-items:center;gap:12px;margin:6px 0 12px}.pan-nav strong{min-width:160px;text-align:center;color:var(--maroon)}.pan-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.pan-wd{text-align:center;font-size:12px;font-weight:700;color:var(--ink-soft);padding:4px 0}.pan-cell{min-height:84px;border:1px solid var(--line);border-radius:8px;padding:5px 6px;cursor:pointer;background:var(--card);transition:box-shadow .1s;overflow:hidden}.pan-cell:hover{box-shadow:0 0 0 2px var(--amber-soft)}.pan-cell.empty{background:transparent;border:none;cursor:default}.pan-cell.has{background:#fffdf7}.pan-d{font-weight:700;font-size:13px}.pan-info{margin-top:2px;font-size:10.5px;line-height:1.3}.pan-tithi{color:var(--ink)}.pan-nak{color:var(--maroon)}.pan-flags{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}.pan-flag{font-size:9px;padding:1px 5px;border-radius:999px;font-weight:700}.pan-flag.ek{background:#e3e7f7;color:#2a4a8a}.pan-flag.am{background:#ece6f2;color:#5a3a7a}.pan-flag.pu{background:#f7eede;color:#8a6a14}.pan-cal:focus{outline:none}.pan-cell.sel{box-shadow:0 0 0 2px var(--maroon);border-color:var(--maroon)}.rec-pill{font-size:11px;padding:2px 9px;border-radius:999px;font-weight:700}.rec-active{background:#e3f3e3;color:#2a7a3a}.rec-paused{background:#f7eede;color:#8a6a14}.rec-cancelled{background:#f0e3e3;color:#9a3a3a}.rec-person{display:flex;gap:6px;align-items:center;margin-bottom:6px}.rec-person>input,.rec-person>.select,.rec-person>select{flex:1 1 0;min-width:0;width:auto}.rec-person>input{flex:2 1 0}.rec-person>.fam-remove{flex:0 0 auto}.rec-typetabs{display:flex;gap:10px;margin:4px 0 12px;flex-wrap:wrap}.rec-typetabs label{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:7px 12px;cursor:pointer;font-size:13px}.rec-typetabs label.on{border-color:var(--maroon);background:var(--amber-soft);font-weight:600}.chips-label{display:block;font-size:12px;color:var(--ink-soft);margin:8px 0 4px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.chip{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:4px 11px;font-size:12px;cursor:pointer;color:var(--ink)}.chip:hover{border-color:var(--maroon)}.chip.on{background:var(--maroon);border-color:var(--maroon);color:#fff;font-weight:600}.rec-preview{margin:10px 0 4px;padding:10px 12px;border:1px dashed var(--line);border-radius:8px;background:#fffdf7}.rec-preview-head{font-size:12px;color:var(--ink-soft);margin-bottom:6px;font-weight:600}.row-blackout{background:#fbf2f2}.booknow-summary{display:flex;flex-direction:column;gap:6px;margin:8px 0}.booknow-summary>div{display:flex;justify-content:space-between;gap:16px;font-size:14px;border-bottom:1px dashed var(--line);padding-bottom:5px}.booknow-summary span{color:var(--ink-soft)}.booknow-schedule{margin-top:10px;padding-top:8px;border-top:1px dashed var(--line)}.rem-panel{border:1px solid var(--line);border-left:4px solid var(--maroon, #7a1f2b);border-radius:10px;background:#fffdf7;padding:12px 14px;margin-bottom:16px}.rem-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;flex-wrap:wrap}.rem-actions{display:flex;gap:8px}.rem-list{display:flex;flex-direction:column;gap:4px}.rem-row{display:grid;grid-template-columns:110px 1.4fr 1.6fr 110px;gap:10px;align-items:center;padding:5px 6px;border-radius:6px;font-size:14px}.rem-row:nth-child(odd){background:#00000006}.rem-blackout{background:#fbf2f2}.rem-date{font-weight:600}.rem-flag{text-align:right}.rem-warn{color:#a3431a;font-weight:600}@media (max-width: 720px){.rem-row{grid-template-columns:90px 1fr}.rem-seva,.rem-flag{grid-column:2;text-align:left}}.dash-panel:focus{outline:none}.grid tbody tr.row-sel{background:#f3e6c9!important;box-shadow:inset 3px 0 0 var(--maroon, #7a1f2b)}.pan-strip{margin-top:6px;padding:6px 10px;border:1px dashed var(--line);border-radius:8px;background:#fffdf7;font-size:13px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pan-strip-date{font-weight:600;color:var(--maroon, #7a1f2b)}.pan-strip-body{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.pan-flag{background:#f3e6c9;border-radius:10px;padding:1px 8px;font-size:11px;font-weight:600;color:#7a4a12}.dc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:900px}.dc-card{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fff}.dc-title{font-weight:600;margin-bottom:6px}.dc-table{width:100%;border-collapse:collapse;font-size:14px}.dc-table td{padding:4px 6px;border-bottom:1px dotted #e5e5e5}.dc-table .num{text-align:right;white-space:nowrap;font-weight:600}.dc-table .c{text-align:center;width:16%;color:#666}.dc-table .dc-sub td{border-top:1px solid #ccc;border-bottom:none}.dc-grand{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;background:#fffdf7;border-left:4px solid var(--maroon, #7a1f2b);font-size:18px}.dc-grand strong{font-size:22px;color:var(--maroon, #7a1f2b)}@media (max-width: 700px){.dc-grid{grid-template-columns:1fr}}.dc-row{cursor:pointer}.dc-row:hover{background:#faf6ec}.dc-table tr.row-sel td{background:#f3e6c9}.dc-table tr.row-sel td:first-child{box-shadow:inset 3px 0 0 var(--maroon, #7a1f2b)}.filter-pick{position:relative}.filter-pick-input{width:100%}.filter-pick-x{position:absolute;right:2px;top:50%;transform:translateY(-50%);border:0;background:transparent;cursor:pointer;font-size:14px;line-height:1;padding:0 3px;color:#888}.filter-pick-x:hover{color:#222}.filter-pick-list{position:absolute;z-index:40;left:0;top:100%;min-width:100%;max-height:240px;overflow-y:auto;background:#fff;border:1px solid #cfc6b4;border-radius:4px;box-shadow:0 6px 18px #00000026;font-weight:400;text-align:left}.filter-pick-list .opt{padding:4px 8px;cursor:pointer;white-space:nowrap}.filter-pick-list .opt.hi{background:#1f4e79;color:#fff}.filter-pick-list .opt.muted{color:#888;cursor:default}.filter-num{display:flex;gap:3px}.filter-num select{flex:0 0 auto;width:auto}.filter-num input{min-width:0}.filter-date select{width:100%}.grid tr.row-warn td{background:#fff4f4}.form-card.wide-sm{width:min(540px,92vw)}.form-card.wide-lg{width:min(940px,94vw);max-height:88vh;overflow-y:auto}.form-card .field{margin-bottom:12px}.form-card .field>label{display:block;font-size:12px;color:var(--ink-soft);margin-bottom:5px}.form-card .hint{display:block;font-size:12px;color:var(--ink-soft);margin-top:4px}.form-card .muted{color:var(--ink-soft);font-weight:400}.form-card .placeholder{margin:0 0 14px;font-size:13px}.form-card select,.form-card input[type=time],.form-card input[type=number]{padding:9px 12px;border:1px solid var(--line);border-radius:6px;font:inherit}.form-card button:focus-visible{outline:2px solid var(--amber);outline-offset:1px}.grid tr.row-expandable{cursor:pointer}.grid tr.row-expandable:hover td{background:#f5f1ea}.topbar,.nav-scrim{display:none}@media (max-width: 1024px){.layout{height:100vh;height:100dvh;flex-direction:column}.topbar{display:flex;align-items:center;gap:12px;background:var(--sidebar);color:#fff;padding:10px 12px;flex-shrink:0;position:sticky;top:0;z-index:40}.topbar-title{flex:1;font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-out{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:6px;padding:8px 12px;font-size:13px;min-height:40px}.topbar-out:hover{border-color:#fff6}.hamburger{background:none;border:none;padding:8px;width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;gap:5px;flex-shrink:0}.hamburger span{display:block;height:2px;width:22px;background:#fff;border-radius:2px}.hamburger:hover{border-color:transparent}.sidebar{position:fixed;top:0;left:0;bottom:0;width:270px;max-width:82vw;height:100%;z-index:50;transform:translate(-100%);transition:transform .22s ease;box-shadow:2px 0 18px #00000040}.sidebar.open{transform:translate(0)}.nav-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:45}.menu-item kbd,.help-link kbd,.topbar-out kbd,.help-link{display:none}.menu-item{padding:13px 20px;font-size:15px;min-height:48px}.content{padding:16px 14px}.screen-head{flex-wrap:wrap;gap:10px}.screen-head h2{font-size:19px}.actions{flex-wrap:wrap}.content table{min-width:100%}input,select,textarea{font-size:16px}button,input,select{min-height:42px}button.mini{min-height:34px}.overlay{padding:10px}.help-card{max-height:88vh;max-height:88dvh;overflow-y:auto;width:100%}}@media (max-width: 640px){.content{padding:12px 10px}.screen-head h2{font-size:17px}.actions{width:100%}.actions button{flex:1 1 auto}.topbar-title{font-size:15px}}@media (hover: none){button:hover{border-color:var(--line)}.menu-item:hover{background:none}.menu-item.active:hover{background:var(--sidebar-700)}}@media (max-width: 1024px){html,body{overflow-x:hidden;max-width:100%}.layout,.content{max-width:100%;overflow-x:hidden}.grid-wrap,.report-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}button kbd,.mini kbd{display:none}.bk-modal-look{padding:0 10px;max-height:none;border:none;box-shadow:none;border-radius:0}.seva-grid .ss-list{max-width:90vw}.card{border-radius:8px}}@media (max-width: 640px){.seva-grid th,.seva-grid td{padding:8px 6px}.seva-grid .mini{flex-shrink:0;min-height:36px;padding:6px 10px}}
