:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#16213e;color:#eaeaea;overflow-x:clip}.app-shell{min-height:100vh;min-height:100dvh;padding-bottom:calc(2rem + env(safe-area-inset-bottom,0px));padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.nav{display:flex;flex-wrap:wrap;gap:.5rem;padding:calc(.75rem + env(safe-area-inset-top,0px)) 1rem .75rem;padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px));background:#1a1a2e;border-bottom:1px solid #2a2a4a;position:sticky;top:0;z-index:10}.nav a{color:#b8b8ff;text-decoration:none;padding:.35rem .65rem;border-radius:8px;font-size:.9rem}.nav a:hover{background:#2a2a4a}.main{padding:1rem;max-width:min(560px,100%);margin:0 auto;min-width:0;width:100%}@media(orientation:landscape)and (min-width:568px){.main{max-width:min(900px,100%)}}@media(orientation:landscape)and (min-width:900px){.main{max-width:min(1024px,100%)}}.muted{color:#9aa}.small{font-size:.8rem}.error{color:#f88;padding:1rem}.staff{min-width:0}.top-bar{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;margin-bottom:.5rem;min-width:0}.top-bar .label{display:block;font-size:.75rem;color:#9aa}.top-bar strong{font-size:1.1rem}.kpi-strip{background:#1f2b47;border-radius:10px;padding:.65rem .85rem;margin-bottom:.75rem;font-size:.9rem}.kpi-breakdown{background:#1f2b47;border-radius:10px;padding:.65rem .85rem;margin-bottom:.75rem;font-size:.85rem}.kpi-breakdown-title{font-weight:600;margin-bottom:.5rem;color:#c8c8e6}.kpi-row{padding:.45rem 0;border-bottom:1px solid #2a3a5c}.kpi-row:last-child{border-bottom:none;padding-bottom:0}.kpi-row-head{margin-bottom:.2rem}.kpi-row-body{line-height:1.35;word-break:break-word}.kpi-pct{color:#9cf;font-weight:600}.kpi-forecast{margin-top:.35rem}.policy-hint{margin:0 0 1rem}.amount-block{margin-bottom:1rem}.amount-block label{display:block;font-size:.8rem;color:#9aa;margin-bottom:.35rem}.amount-input{width:100%;font-size:2rem;font-weight:700;padding:.6rem .75rem;border-radius:12px;border:2px solid #3d4f7a;background:#0f1629;color:#fff;text-align:right}.cat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1rem}.cat-btn{padding:.85rem .5rem;border-radius:12px;border:2px solid #3d4f7a;background:#1f2b47;color:#eaeaea;font-size:.95rem}.cat-btn.active{border-color:#7c5cff;background:#2a2250}.save-btn{width:100%;padding:1rem;font-size:1.1rem;font-weight:600;border:none;border-radius:14px;background:linear-gradient(135deg,#7c5cff,#5c8cff);color:#fff;cursor:pointer;transition:transform .12s ease,filter .12s ease}.save-btn:disabled{opacity:.6;cursor:not-allowed}.save-btn:not(:disabled):active{transform:scale(.98)}.save-btn.saving{filter:brightness(1.1)}.flash-msg{text-align:center;margin:.75rem 0;color:#8f8;font-size:.9rem}.recent h2{font-size:1rem;margin:1.5rem 0 .5rem;color:#9aa}.recent ul{list-style:none;padding:0;margin:0}.recent-row{background:#1f2b47;border-radius:10px;padding:.65rem;margin-bottom:.5rem}.recent-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.85rem;margin-bottom:.5rem}.recent-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.edit-input{flex:1;min-width:100px;padding:.35rem .5rem;border-radius:8px;border:1px solid #3d4f7a;background:#0f1629;color:#fff}button.mini{padding:.35rem .55rem;font-size:.8rem;border-radius:8px;border:1px solid #3d4f7a;background:#2a3a5c;color:#eaeaea;cursor:pointer}button.mini.danger{border-color:#844;background:#4a2222}.admin-dash h1,.admin-settings h1,.admin-staff h1{font-size:1.25rem;margin-top:0}.chart-wrap{background:#1f2b47;border-radius:12px;padding:.5rem;margin:1rem 0;min-width:0;width:100%;min-height:240px}@media(orientation:landscape)and (max-height:480px){.chart-wrap{min-height:200px}}.chart-tooltip{background:#0f1629;border:1px solid #3d4f7a;border-radius:8px;padding:.5rem .65rem;font-size:.8rem;box-shadow:0 4px 12px #00000059}.chart-tooltip-label{color:#9aa;margin-bottom:.25rem}.chart-tooltip-sum{color:#eaeaea;font-weight:600}.export-row{display:flex;gap:.5rem;margin:1rem 0}.link-btn{padding:.5rem 1rem;border-radius:10px;border:1px solid #5c8cff;background:#1f2b47;color:#b8c8ff;cursor:pointer;font-size:.9rem}.settings-form{display:flex;flex-direction:column;gap:1rem;max-width:400px}.settings-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.settings-form input[type=number]{padding:.5rem;border-radius:8px;border:1px solid #3d4f7a;background:#0f1629;color:#fff}.settings-form label.check{flex-direction:row;align-items:flex-start;gap:.5rem}.settings-form button[type=submit]{padding:.65rem;border-radius:10px;border:none;background:#7c5cff;color:#fff;font-weight:600;cursor:pointer}.period-box{background:#1f2b47;border-radius:12px;padding:1rem;margin-bottom:1rem}.period-box input{margin-right:.5rem;margin-bottom:.5rem;padding:.4rem;border-radius:8px;border:1px solid #3d4f7a;background:#0f1629;color:#fff;max-width:100%}.period-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.35rem;align-items:center}.period-actions button,.period-box>button{padding:.5rem .85rem;border-radius:10px;border:none;background:#7c5cff;color:#fff;font-weight:600;cursor:pointer;font-size:.9rem}.secondary-btn{background:transparent!important;border:1px solid #5c8cff!important;color:#b8c8ff!important}.period-closed-list{margin-top:.65rem;line-height:1.4}.staff-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:.5rem}.staff-hint{margin:0 0 .5rem;line-height:1.35}.staff-action-btns{display:flex;flex-direction:column;gap:.3rem;min-width:7.5rem}.staff-actions-cell{vertical-align:top}.staff-table{width:100%;border-collapse:collapse;font-size:.8rem;min-width:440px}.staff-table th,.staff-table td{border-bottom:1px solid #2a3a5c;padding:.4rem;text-align:left;vertical-align:middle}.staff-table input.narrow,.staff-table select{max-width:120px;padding:.25rem;border-radius:6px;border:1px solid #3d4f7a;background:#0f1629;color:#fff}.loading{padding:1rem}.dev-gate{padding:1rem;max-width:520px;margin:0 auto}.dev-gate h2{margin-top:0;font-size:1.15rem}.dev-gate h3{font-size:1rem;margin:0 0 .5rem}.dev-gate-block{background:#1f2b47;border-radius:12px;padding:1rem;margin-bottom:1rem}.dev-gate-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.dev-gate input[type=text]{flex:1;min-width:160px;padding:.5rem;border-radius:8px;border:1px solid #3d4f7a;background:#0f1629;color:#fff}.dev-gate textarea{width:100%;margin:.5rem 0;padding:.5rem;border-radius:8px;border:1px solid #3d4f7a;background:#0f1629;color:#fff;font-family:ui-monospace,monospace;font-size:.75rem}.dev-gate button{padding:.5rem 1rem;border-radius:8px;border:none;background:#7c5cff;color:#fff;font-weight:600;cursor:pointer}.dev-gate code{font-size:.85em;background:#0f1629;padding:.1rem .25rem;border-radius:4px}.report-nav{margin-bottom:.75rem}.report-nav a{color:#b8b8ff;font-size:.9rem}.history-report h1{font-size:1.25rem;margin:0 0 1rem}.filter-grid{display:flex;flex-direction:column;gap:.65rem;margin-bottom:.75rem}.filter-grid label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:#9aa}.filter-grid input,.filter-grid select{padding:.45rem .5rem;border-radius:8px;border:1px solid #3d4f7a;background:#0f1629;color:#fff;max-width:100%;width:100%;min-width:0}.preset-btns{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem}.totals-box{display:grid;grid-template-columns:1fr;gap:.65rem;background:#1f2b47;border-radius:10px;padding:.75rem 1rem;margin-bottom:1rem}.totals-box .label{display:block;font-size:.75rem;color:#9aa}.table-scroll{overflow-x:auto;margin-top:.5rem}.history-table{width:100%;border-collapse:collapse;font-size:.8rem}.history-table th,.history-table td{border-bottom:1px solid #2a2a4a;padding:.4rem .35rem;text-align:left;vertical-align:top}.history-table th{color:#9aa;font-weight:600}.history-table .staff-cell{max-width:11rem;word-break:break-word;font-size:.78rem;line-height:1.3}.history-cards{display:none;flex-direction:column;gap:.5rem;margin-top:.5rem}.history-card{background:#1f2b47;border-radius:10px;padding:.65rem .75rem;font-size:.85rem;min-width:0}.history-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.35rem}.history-card-badge{font-size:.72rem;text-transform:uppercase;letter-spacing:.02em;color:#9cf;background:#0f1629;padding:.2rem .45rem;border-radius:6px}.history-card-badge-tma{color:#c9b8ff}.history-card-amt{font-weight:700;font-size:.95rem;text-align:right;flex-shrink:0}.history-card-row{margin:.2rem 0;line-height:1.35;word-break:break-word}.history-card-meta{margin-top:.4rem;font-size:.78rem;color:#9aa;line-height:1.35}@media(max-width:639px){.history-cards{display:flex}.history-table-desktop{display:none!important}}@media(min-width:640px){.history-cards{display:none!important}.history-table-desktop{display:block}}.check-inline{display:flex;align-items:center;justify-content:center}.admin-kpi h1{font-size:1.25rem}@media(max-width:380px){.nav a{font-size:.82rem;padding:.35rem .5rem}}.kpi-section{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #2a2a4a}.admin-kpi .kpi-section.card-like{background:#1f2b47;border-radius:12px;padding:1rem;border-bottom:none;margin-bottom:1rem}.kpi-section h2{font-size:1rem;margin:0 0 .65rem}.kpi-list{list-style:none;padding:0;margin:.75rem 0 0}.kpi-list li{padding:.35rem 0;border-bottom:1px solid #2a2a4a}button.mini.danger{background:transparent;color:#f88;border:1px solid #633}
