.page-toolbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-toolbar h1{color:var(--color-ink);letter-spacing:.01em;margin:0 0 6px;font-size:21px;font-weight:600}.page-toolbar p{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.5}.page-toolbar__action .btn-primary,.btn-primary{background:var(--color-brand);color:#fff;cursor:pointer;min-height:36px;box-shadow:var(--shadow-brand);border:none;border-radius:8px;justify-content:center;align-items:center;padding:0 16px;font-size:14px;font-weight:600;transition:filter .15s,box-shadow .15s,transform .1s;display:inline-flex}.page-toolbar__action .btn-primary:hover:not(:disabled),.btn-primary:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 4px 14px #ff7f3266}.page-toolbar__action .btn-primary:active:not(:disabled),.btn-primary:active:not(:disabled){transform:translateY(1px)}.page-toolbar__action .btn-primary:disabled,.btn-primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.btn-secondary{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:34px;color:var(--color-text);cursor:pointer;background:#fff;justify-content:center;align-items:center;padding:0 12px;font-size:13px;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.btn-secondary:hover:not(:disabled){color:var(--color-brand);background:#ff7f320a;border-color:#ff7f3259}.btn-secondary:disabled{opacity:.55;cursor:not-allowed}.btn-danger{background:var(--color-danger);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;min-height:36px;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex;box-shadow:0 2px 8px #dc26263d}.btn-danger:hover:not(:disabled){filter:brightness(1.04)}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:20px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid label{color:var(--color-text-muted);flex-direction:column;gap:8px;font-size:14px;display:flex}.form-grid label>span,.form-grid>label{color:var(--color-text);font-size:13px;font-weight:500}.form-actions{gap:12px;margin-top:20px;display:flex}.form-error{border-radius:var(--radius-sm);color:var(--color-danger);background:#dc262614;margin-bottom:12px;padding:10px 12px;font-size:14px;line-height:1.5}.form-success{border-radius:var(--radius-sm);color:var(--color-success);background:#16a34a14;margin-bottom:12px;padding:10px 12px;font-size:14px;line-height:1.5}.pagination-bar{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;font-size:13px;display:flex}.pagination-bar__actions{align-items:center;gap:10px;display:flex}.modal-root{z-index:1000;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-mask{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:pointer;background:#0c11176b;border:0;position:absolute;inset:0}.modal-card{z-index:1;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid #ffffffb8;width:min(760px,100%);max-height:min(86vh,720px);padding:22px;position:relative;overflow:auto;box-shadow:0 24px 70px #0c11173d}.modal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.modal-header h3{color:var(--color-ink);margin:0 0 6px;font-size:18px;font-weight:600}.modal-header p{color:var(--color-text-muted);margin:0;font-size:13px}.modal-close{border:1px solid var(--color-border);width:30px;height:30px;color:var(--color-text-muted);cursor:pointer;background:#fff;border-radius:999px;font-size:20px;line-height:1}.modal-close:hover{color:var(--color-brand);background:#ff7f320a;border-color:#ff7f3259}.modal-actions{justify-content:flex-end}.confirm-dialog{width:min(420px,100%)}.confirm-dialog__input{resize:vertical;width:100%;min-height:96px}.app-shell{height:100vh;min-height:100vh;max-height:100vh;display:flex;overflow:hidden}.app-shell__sidebar{width:var(--sider-width);background:var(--color-sider-bg);color:var(--color-sider-text);flex-direction:column;flex-shrink:0;transition:width .18s,opacity .18s;display:flex;overflow:hidden}.app-shell.is-sidebar-collapsed .app-shell__sidebar{opacity:0;width:0}.app-shell__brand{border-bottom:1px solid var(--color-sider-divider);align-items:center;gap:10px;min-height:52px;padding:14px 16px;display:flex}.app-shell__brand-text{flex-direction:column;gap:2px;min-width:0;display:flex}.app-shell__brand-title{color:#f8fafcf2;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;line-height:1.35;overflow:hidden}.app-shell__brand-sub{color:var(--color-sider-text-dim);font-size:11px}.app-shell__nav{flex-direction:column;gap:2px;padding:12px 10px;display:flex;overflow-y:auto}.app-shell__nav-item{border-radius:var(--radius-sm);color:var(--color-sider-text);padding:10px 12px 10px 14px;font-size:14px;transition:background .15s,color .15s;position:relative}.app-shell__nav-item:hover{background:var(--color-sider-hover);color:#f8fafcf2}.app-shell__nav-item.is-active{background:var(--color-sider-active);color:#fff;font-weight:600}.app-shell__nav-item.is-active:before{content:"";background:var(--color-sider-accent);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:0}.app-shell__content{background:var(--color-bg);flex-direction:column;flex:1;min-width:0;display:flex}.app-shell__topbar{min-height:var(--topbar-height);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;justify-content:space-between;align-items:center;gap:16px;padding:0 18px;display:flex}.app-shell__topbar-left,.app-shell__topbar-actions{align-items:center;gap:12px;display:flex}.app-shell__menu-toggle{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:#fff;flex-direction:column;justify-content:center;gap:4px;width:34px;height:34px;display:inline-flex}.app-shell__menu-toggle span{background:var(--color-text);border-radius:2px;width:16px;height:2px;margin:0 auto;display:block}.app-shell__menu-toggle:hover,.app-shell__topbar-button:hover{color:var(--color-brand);background:#ff7f320a;border-color:#ff7f3259}.app-shell__menu-toggle:hover span{background:var(--color-brand)}.app-shell__account{border-radius:var(--radius-sm);min-height:34px;color:var(--color-text);background:#16a34a0f;border:1px solid #16a34a2e;align-items:center;gap:8px;padding:0 12px;font-size:13px;display:inline-flex}.app-shell__account strong{color:var(--color-success);font-weight:600}.app-shell__topbar-button{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:34px;color:var(--color-text);cursor:pointer;background:#fff;padding:0 14px;font-size:12px;transition:border-color .15s,color .15s,background .15s}.app-shell__logout{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;background:#fff;padding:8px 14px;font-size:13px;transition:border-color .15s,color .15s,background .15s}.app-shell__logout:hover{color:var(--color-brand);background:#ff7f320a;border-color:#ff7f3259}.app-shell__main{flex:1;min-height:0;overflow:hidden}.app-shell__page-scroll{height:100%;padding:24px 28px 32px;overflow:auto}.app-shell__password-modal{width:min(520px,100%)}.app-shell__password-grid{grid-template-columns:1fr}.data-table{border-collapse:separate;border-spacing:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;box-shadow:var(--shadow-sm);overflow:hidden}.data-table th,.data-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;padding:12px 14px;font-size:14px}.data-table th{color:var(--color-text-muted);white-space:nowrap;background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);font-size:13px;font-weight:600}.data-table tbody tr:nth-child(2n) td{background:#fafbfc}.data-table tbody tr:hover td{background:#fff7f0}.data-table tr:last-child td{border-bottom:none}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.data-table .btn-secondary{min-height:30px;padding:0 10px;font-size:12px}.status-tag{color:#3730a3;background:#eef2ff;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.status-tag.is-active{color:#166534;background:#dcfce7}.status-tag.is-inactive{color:#6b7280;background:#f3f4f6}.users-page__danger-action{color:#b91c1c;box-shadow:none;background:#fff;border-color:#dc26262e}.users-page__danger-action:hover:not(:disabled){color:#991b1b;background:#dc26260a;border-color:#dc262652}.users-page__danger-action:disabled{border-color:var(--color-border);color:var(--color-text-muted);background:#fff}.users-page__row-action{min-height:30px;padding:0 10px}.dashboard{gap:22px;display:grid}.dashboard-hero{background:radial-gradient(circle at 100% 0,#ff7f3233,#0000 34%),linear-gradient(135deg,#fff 0%,#fff7f1 48%,#fff 100%);border:1px solid #ff7f3224;border-radius:22px;justify-content:space-between;align-items:flex-start;gap:18px;padding:26px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 48px #10182814}.dashboard-hero:after{content:"";background:#ff7f3214;border-radius:999px;width:240px;height:240px;position:absolute;bottom:-92px;right:-72px}.dashboard-hero__eyebrow{color:var(--color-brand);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:700;display:inline-flex}.dashboard-hero h1{color:var(--color-ink);letter-spacing:-.03em;margin:0 0 8px;font-size:30px;font-weight:750}.dashboard-hero p{max-width:680px;color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.7}.dashboard-hero__actions{z-index:1;flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex;position:relative}.dashboard__grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.dashboard__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;flex-direction:column;gap:8px;padding:20px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 30px #1018280f}.dashboard__card:before{content:"";background:var(--color-brand);opacity:.8;width:4px;position:absolute;inset:0 auto 0 0}.dashboard__card:hover{border-color:#ff7f3247;transform:translateY(-2px);box-shadow:0 18px 42px #1018281a}.dashboard__card--success:before{background:#16a34a}.dashboard__card--warning:before{background:#f59e0b}.dashboard__card-title{color:var(--color-text-muted);font-size:13px;font-weight:650}.dashboard__card-value{color:var(--color-ink);font-variant-numeric:tabular-nums;font-size:28px;font-weight:760;line-height:1.2}.dashboard__card-hint{color:var(--color-text-muted);font-size:13px}.dashboard__main{grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr);gap:16px;display:grid}.dashboard__main--bottom{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr)}.dashboard-panel{border:1px solid var(--color-border);background:#ffffffeb;border-radius:20px;padding:20px;box-shadow:0 14px 34px #10182812}.dashboard-panel__header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.dashboard-panel__header h2{color:var(--color-ink);margin:0 0 4px;font-size:17px;font-weight:720}.dashboard-panel__header p{color:var(--color-text-muted);margin:0;font-size:13px}.dashboard-pill{min-height:28px;color:var(--color-brand);background:#ff7f321a;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.dashboard-pill--success{color:#15803d;background:#16a34a1a}.dashboard-pill--warning{color:#b45309;background:#f59e0b1f}.dashboard-pill--muted{color:#64748b;background:#64748b1a}.dashboard-progress{gap:10px;margin-bottom:18px;display:grid}.dashboard-progress__track{background:#eef2f7;border-radius:999px;height:12px;overflow:hidden}.dashboard-progress__track span{border-radius:inherit;background:linear-gradient(90deg, var(--color-brand), #ffb36e);height:100%;transition:width .35s;display:block}.dashboard-progress__meta{align-items:baseline;gap:8px;display:flex}.dashboard-progress__meta strong{color:var(--color-ink);font-size:22px}.dashboard-progress__meta span{color:var(--color-text-muted);font-size:13px}.dashboard-stats{grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin-bottom:16px;display:grid}.dashboard-stats div,.dashboard-status-list div{border:1px solid var(--color-border);background:#fafafa;border-radius:14px;padding:12px}.dashboard-stats span,.dashboard-status-list span{color:var(--color-text-muted);margin-bottom:5px;font-size:12px;display:block}.dashboard-stats strong,.dashboard-status-list strong{color:var(--color-ink);font-variant-numeric:tabular-nums;font-size:18px}.dashboard-status-list{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.dashboard-action-list{gap:10px;display:grid}.dashboard-action,.dashboard-months a{border:1px solid var(--color-border);color:inherit;background:#fff;border-radius:16px;justify-content:space-between;gap:12px;padding:14px;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.dashboard-action{flex-direction:column}.dashboard-action:hover,.dashboard-months a:hover{border-color:#ff7f3257;transform:translateY(-1px);box-shadow:0 12px 24px #10182814}.dashboard-action strong,.dashboard-months span{color:var(--color-ink);font-weight:700}.dashboard-action span,.dashboard-months em{color:var(--color-text-muted);font-size:13px;font-style:normal}.dashboard-months{gap:10px;display:grid}.dashboard-insight{background:linear-gradient(135deg,#ff7f321f,#fff9),#fff;border-radius:18px;gap:10px;min-height:112px;padding:18px;display:grid}.dashboard-insight strong{color:var(--color-ink);font-size:20px}.dashboard-insight span{color:var(--color-text-muted);line-height:1.7}.dashboard-report{gap:18px;display:grid}.dashboard-report__metrics{grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px;display:grid}.dashboard-report__metrics div{background:radial-gradient(circle at 100% 0,#ff7f321a,#0000 45%),#fff;border:1px solid #ff7f3224;border-radius:16px;padding:16px;position:relative;overflow:hidden}.dashboard-report__metrics span{color:var(--color-text-muted);margin-bottom:8px;font-size:12px;display:block}.dashboard-report__metrics strong{color:var(--color-ink);font-variant-numeric:tabular-nums;font-size:22px;font-weight:760}.dashboard-report__rankings{grid-template-columns:1fr 1fr;gap:14px;display:grid}.dashboard-report__rankings>div{border:1px solid var(--color-border);background:#fff;border-radius:18px;padding:16px}.dashboard-report__rankings h3{color:var(--color-ink);margin:0 0 12px;font-size:15px}.dashboard-ranking-row{border-top:1px solid var(--color-border);grid-template-columns:28px minmax(80px,1fr) minmax(100px,1fr) auto;align-items:center;gap:10px;padding:10px 0;display:grid}.dashboard-ranking-row:first-of-type{border-top:0}.dashboard-ranking-row span{width:24px;height:24px;color:var(--color-brand);background:#ff7f321a;border-radius:999px;place-items:center;font-size:12px;font-weight:700;display:inline-grid}.dashboard-ranking-row strong{color:var(--color-ink)}.dashboard-ranking-row em{color:var(--color-text-muted);font-size:12px;font-style:normal}.dashboard-ranking-row b{color:var(--color-ink);font-variant-numeric:tabular-nums}.dashboard-report__empty{background:#ff7f320a;border:1px dashed #ff7f3252;border-radius:18px;gap:8px;padding:18px;display:grid}.dashboard-report__empty strong{color:var(--color-ink)}.dashboard-report__empty span{color:var(--color-text-muted)}@media (width<=1100px){.dashboard__grid,.dashboard__main,.dashboard__main--bottom,.dashboard-stats,.dashboard-report__metrics,.dashboard-report__rankings{grid-template-columns:1fr 1fr}}@media (width<=760px){.dashboard-hero,.dashboard__grid,.dashboard__main,.dashboard__main--bottom,.dashboard-stats,.dashboard-report__metrics,.dashboard-report__rankings{grid-template-columns:1fr}.dashboard-hero{flex-direction:column}}.login-page{background:linear-gradient(165deg, #fff9f5 0%, #f3f5f8 38%, var(--color-bg) 72%, #eef1f5 100%);flex-direction:column;min-height:100vh;display:flex}.login-page__main{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:28px;padding:24px;display:flex}.login-page__values{color:var(--color-brand);font-family:var(--font-brand-values);letter-spacing:.2em;text-align:center;text-shadow:0 8px 26px #ff7f322e;margin:0;font-size:clamp(28px,3.2vw,40px);font-weight:700;line-height:1.4;animation:2.5s .5s both login-values-fade-in}@keyframes login-values-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.login-page__values{animation:none}}.login-card{background:var(--color-surface);border-radius:var(--radius-lg);width:min(400px,100%);box-shadow:var(--shadow-card);border:1px solid #ff7f321f;padding:32px 28px 28px}.login-card__brand{text-align:center;flex-direction:column;align-items:center;gap:14px;margin-bottom:16px;display:flex}.login-card__logo{object-fit:contain;width:auto;max-width:132px;height:46px;display:block}.login-card__brand h1{color:var(--color-ink);letter-spacing:.02em;margin:0;font-size:17px;font-weight:600;line-height:1.35}.login-card__domain{color:var(--color-text-muted);margin:3px 0 0;font-size:12px}.login-card__subtitle{color:var(--color-text-muted);margin:0 0 18px;font-size:13px}.login-form{flex-direction:column;gap:16px;display:flex}.login-form label{flex-direction:column;gap:8px;display:flex}.login-form label>span{color:var(--color-text);font-size:13px;font-weight:500}.login-form__error{border-radius:var(--radius-sm);color:var(--color-danger);background:#dc262614;padding:10px 12px;font-size:13px;line-height:1.5}.login-form__submit{background:var(--color-brand);color:#fff;letter-spacing:.06em;cursor:pointer;width:100%;min-height:44px;box-shadow:var(--shadow-brand);border:none;border-radius:8px;justify-content:center;align-items:center;margin-top:4px;padding:0 16px;font-size:15px;font-weight:600;transition:filter .15s,box-shadow .15s,transform .1s;display:flex}.login-form__submit:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 4px 14px #ff7f3266}.login-form__submit:active:not(:disabled){transform:translateY(1px)}.login-form__submit:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.login-page__footer{text-align:center;color:var(--color-text-muted);flex-shrink:0;padding:16px 24px 20px;font-size:12px;line-height:1.5}.login-page__footer a{color:var(--color-text-muted);text-decoration:none}.login-page__footer a:hover{color:var(--color-link-edit);text-decoration:underline}.cashier-page__filters{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-wrap:wrap;gap:16px;margin-bottom:18px;padding:16px;display:flex}.cashier-page__filters label{min-width:180px;color:var(--color-text-muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.cashier-page__filters select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;height:38px;padding:0 12px}.cashier-page__detail-bar{justify-content:flex-end;margin-bottom:12px;display:flex}.cashier-page__actions{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.cashier-table tbody tr{--row-bg:#fff}.cashier-table tbody tr:nth-child(2n){--row-bg:#f8fafc}.cashier-table tbody tr:hover{--row-bg:#fff7f0}.cashier-table tbody tr.is-partial{--row-bg:#fff7d6}.cashier-table tbody tr.is-partial:nth-child(2n){--row-bg:#fff1bd}.cashier-table tbody tr.is-paid{--row-bg:#e7f8ee}.cashier-table tbody tr.is-paid:nth-child(2n){--row-bg:#d9f2e4}.cashier-table tbody tr.is-partial:hover{--row-bg:#ffedaa}.cashier-table tbody tr.is-paid:hover{--row-bg:#caecd9}.cashier-table tr.is-pending td,.cashier-table tr.is-partial td,.cashier-table tr.is-paid td{background:var(--row-bg)}.cashier-table .status-tag.is-pending{color:#4b5563;background:#f3f4f6}.cashier-table .status-tag.is-partial{color:#92400e;background:#fef3c7}.cashier-table .status-tag.is-paid{color:#065f46;background:#d1fae5}.reports-page__toolbar-actions{flex-wrap:wrap;gap:8px;display:flex}.reports-page__control-panel{background:linear-gradient(#fffffff5 0%,#f8fafcfa 100%);border:1px solid #e2e8f0e6;border-radius:18px;margin-bottom:18px;padding:18px;box-shadow:0 12px 34px #0f172a0f}.reports-page__control-row{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.reports-page__control-row--top{border-bottom:1px solid #edf2f7;margin-bottom:16px;padding-bottom:16px}.reports-page__eyebrow{color:#64748b;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:700}.reports-page__mode-switch{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:4px;display:inline-flex}.reports-page__mode-option{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:999px;height:32px;padding:0 16px;font-size:13px;font-weight:600}.reports-page__mode-option.is-active{color:var(--color-brand);background:#fff;box-shadow:0 8px 22px #0f172a14}.reports-page__filters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.reports-page__filters label{color:#475569;flex-direction:column;gap:7px;min-width:0;font-size:13px;font-weight:600;display:flex}.reports-page__filters select{width:100%;height:40px;color:var(--color-text);background:#fff;border:1px solid #dbe3ee;border-radius:10px;outline:none;padding:0 12px;box-shadow:0 1px 2px #0f172a08}.reports-page__filters select:focus{border-color:#ff7f328c;box-shadow:0 0 0 3px #ff7f321a}.reports-page__tabs{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px;padding:4px;display:inline-flex}.reports-page__tab{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:9px;height:32px;padding:0 13px;font-size:13px;font-weight:600}.reports-page__tab.is-active{color:var(--color-brand);background:#ff7f321a}.reports-page__rank-options{color:var(--color-text-muted);border-top:1px solid #edf2f7;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding-top:14px;font-size:13px;display:flex}.reports-page__rank-options span{color:#475569;margin-right:2px;font-weight:700}.reports-page__rank-option{color:#64748b;cursor:pointer;background:#fff;border:1px solid #dbe3ee;border-radius:999px;height:28px;padding:0 12px;font-size:12px;font-weight:600}.reports-page__rank-option.is-active{color:var(--color-brand);background:#ff7f321a;border-color:#ff7f3259}.reports-page__loading,.reports-page__empty{color:var(--color-text-muted);text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;padding:30px}.reports-page__print-area{min-width:0}.reports-page__print-header{margin-bottom:12px;display:none}.reports-page__print-header h2{margin:0 0 8px;font-size:20px}.reports-page__print-header p{color:var(--color-text-muted);margin:0 0 4px;font-size:13px}.reports-page__ranking-grid{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:16px;display:grid}.reports-page__dashboard-section,.reports-page__ranking-section{background:radial-gradient(circle at 0 0,#ff7f3214,#0000 26%),linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0e6;border-radius:22px;margin-bottom:22px;padding:20px;box-shadow:0 18px 46px #0f172a14}.reports-page__metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:16px;display:grid}.reports-page__metric-card{background:linear-gradient(#fffffffa 0%,#f8fafcf5 100%);border:1px solid #e2e8f0f2;border-radius:18px;min-width:0;padding:16px 18px;box-shadow:0 12px 30px #0f172a0d}.reports-page__metric-card span,.reports-page__metric-card em{color:#64748b;font-size:12px;font-style:normal;font-weight:700;line-height:1.35;display:block}.reports-page__metric-card strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:8px;font-size:22px;font-weight:850;line-height:1.12;display:block;overflow:hidden}.reports-page__metric-card em{color:var(--color-brand);margin-top:8px;font-size:11px}.reports-page__dashboard-panel{background:#fff;border:1px solid #e2e8f0eb;border-radius:20px;margin-top:14px;transition:border-color .18s,box-shadow .18s;overflow:hidden;box-shadow:0 12px 30px #0f172a0f}.reports-page__dashboard-panel:hover{border-color:#ff7f3242;box-shadow:0 18px 40px #0f172a17}.reports-page__dashboard-panel.is-expanded{border-color:#ff7f3261}.reports-page__dashboard-panel-trigger{width:100%;min-height:92px;color:inherit;text-align:left;cursor:pointer;background:linear-gradient(135deg,#0f172a06 0%,#ff7f320e 100%);border:0;border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.reports-page__dashboard-panel-trigger span{color:#64748b;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:800;display:block}.reports-page__dashboard-panel-trigger h3{color:#0f172a;letter-spacing:-.02em;margin:0;font-size:17px;font-weight:800;line-height:1.25}.reports-page__dashboard-panel-trigger p{color:#64748b;margin:7px 0 0;font-size:12px;line-height:1.45}.reports-page__dashboard-panel-metric{text-align:right;white-space:nowrap;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.reports-page__dashboard-panel-metric span{color:#64748b;letter-spacing:0;text-transform:none;margin:0;font-size:12px;font-weight:600}.reports-page__dashboard-panel-metric strong{color:#0f172a;font-variant-numeric:tabular-nums;font-size:21px;font-weight:850;line-height:1.15}.reports-page__dashboard-panel-metric em{color:var(--color-brand);font-size:12px;font-style:normal;font-weight:700}.reports-page__dashboard-panel-body{padding:0}.reports-page__dashboard-panel-body .data-table{box-shadow:none;border:0;border-radius:0}.reports-page__dashboard-panel-body .data-table th,.reports-page__dashboard-panel-body .data-table td{font-size:12px}.reports-page__section-title{border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 16px;padding-bottom:12px;display:flex}.reports-page__section-title h3{color:#0f172a;margin:0;font-size:17px;font-weight:700}.reports-page__section-title span{color:var(--color-text-muted);font-size:13px}.reports-page__ranking-card{background:#fff;border:1px solid #e2e8f0eb;border-radius:20px;min-width:0;transition:border-color .18s,box-shadow .18s,transform .18s;overflow:hidden;box-shadow:0 12px 30px #0f172a0f}.reports-page__ranking-card:hover{border-color:#ff7f3247;transform:translateY(-1px);box-shadow:0 18px 40px #0f172a1a}.reports-page__ranking-card.is-expanded{border-color:#ff7f3261}.reports-page__ranking-card-trigger{width:100%;min-height:90px;color:inherit;text-align:left;cursor:pointer;background:linear-gradient(135deg,#0f172a08 0%,#ff7f320f 100%);border:0;border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.reports-page__ranking-card-trigger h3{color:#0f172a;letter-spacing:-.02em;margin:0;font-size:17px;font-weight:800;line-height:1.25}.reports-page__ranking-card-kicker{color:#64748b;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:800;display:block}.reports-page__ranking-card-metric{text-align:right;white-space:nowrap;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.reports-page__ranking-card-metric span{color:#64748b;font-size:12px;font-weight:600}.reports-page__ranking-card-metric strong{color:#0f172a;font-variant-numeric:tabular-nums;font-size:21px;font-weight:800;line-height:1.15}.reports-page__ranking-card-metric em{color:var(--color-brand);font-size:12px;font-style:normal;font-weight:700}.reports-page__ranking-preview{gap:0;padding:4px 18px 16px;display:grid}.reports-page__ranking-preview-row{background:0 0;border-bottom:1px solid #eef2f7;grid-template-columns:34px minmax(0,1fr) minmax(76px,auto);align-items:center;gap:14px;min-height:56px;padding:8px 0;display:grid}.reports-page__ranking-preview-row:last-child{border-bottom:0}.reports-page__ranking-medal{box-sizing:border-box;color:#94a3b8;letter-spacing:-.02em;text-align:center;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:0;justify-content:center;justify-self:center;align-items:center;width:30px;height:36px;font-size:13px;font-weight:800;line-height:1;display:flex}.reports-page__ranking-preview-row:first-child .reports-page__ranking-medal{color:#ea580c;font-size:15px}.reports-page__ranking-preview-row strong,.reports-page__ranking-preview-row span,.reports-page__ranking-preview-row em{display:block}.reports-page__ranking-preview-row>div{min-width:0}.reports-page__ranking-preview-row strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:750;line-height:1.25;overflow:hidden}.reports-page__ranking-preview-row span{color:#64748b;margin-top:4px;font-size:12px;line-height:1.2}.reports-page__ranking-preview-row em{color:#111827;text-align:right;font-variant-numeric:tabular-nums;justify-self:end;font-size:14px;font-style:normal;font-weight:750;line-height:1.2}.reports-page__ranking-empty{color:#94a3b8;text-align:center;padding:28px 16px;font-size:13px}.reports-page__ranking-card .data-table{box-shadow:none;border:0;border-radius:0}.reports-page__ranking-card .data-table th,.reports-page__ranking-card .data-table td{padding:10px 12px;font-size:12px}.reports-page__ranking-card .data-table th:first-child,.reports-page__ranking-card .data-table td:first-child{color:#94a3b8;text-align:center;width:42px}.reports-page__ranking-card .data-table tbody tr:nth-child(2n) td{background:#fbfdff}.reports-page__jump-points h3,.reports-page__trend-block h3,.reports-page__compare-block h3{margin:18px 0 10px;font-size:15px}.reports-page__trend-block,.reports-page__compare-block{margin-top:18px}.reports-page__compare-trends{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-top:16px;display:grid}.data-table .num.is-negative{color:var(--color-danger)}.data-table .num.is-positive{color:var(--color-success);font-weight:600}.reports-page__ranking-footer{color:var(--color-text-muted);background:#fbfdff;border-top:1px solid #edf2f7;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:flex}.reports-page__expand{color:var(--color-brand);cursor:pointer;background:#fff;border:1px solid #ff7f3247;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:600}@media (width<=980px){.reports-page__control-row{flex-direction:column}.reports-page__tabs{width:100%}}@media (width<=520px){.reports-page__control-panel,.reports-page__ranking-section{border-radius:14px;padding:14px}.reports-page__ranking-grid{grid-template-columns:1fr}}@media print{html,body,#root{width:100%;min-width:0;margin:0;padding:0;background:#fff!important}.app-shell{display:block!important}.app-shell__sidebar,.app-shell__topbar,.page-toolbar,.reports-page__filters,.reports-page__tabs,.reports-page__loading,.form-error{display:none!important}.app-shell__content,.app-shell__main{background:#fff!important;width:auto!important;min-width:0!important;height:auto!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.reports-page{background:#fff!important;width:auto!important;margin:0!important;padding:0!important;overflow:visible!important}.reports-page__print-header{display:block!important}.reports-page__print-area{width:100%;transform:scale(var(--reports-print-scale,.95));transform-origin:0 0;break-inside:avoid;page-break-inside:avoid}.reports-page__ranking-grid{grid-template-columns:1fr;gap:12px}.data-table{font-size:11px}}.month-upload__grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:16px;display:grid}.month-upload__zone{border:2px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;background:var(--color-surface);padding:20px;transition:border-color .15s,background .15s}.month-upload__zone:hover,.month-upload__zone--drag{border-color:var(--color-brand);background:color-mix(in srgb, var(--color-brand) 6%, var(--color-surface))}.month-upload__zone-title{margin-bottom:8px;font-weight:600}.month-upload__zone-hint{color:var(--color-text-muted);margin-bottom:12px;font-size:13px;line-height:1.5}.month-upload__zone input[type=file]{display:none}.month-summary__grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px;display:grid}.month-summary__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 16px}.month-summary__label{color:var(--color-text-muted);margin-bottom:4px;font-size:13px}.month-summary__value{font-size:22px;font-weight:600}.month-import-alert{border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-warning,#d97706) 12%, var(--color-surface));border:1px solid color-mix(in srgb, var(--color-warning,#d97706) 35%, var(--color-border));flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.salary-fill-page{--sticky-index-left:0px;--sticky-name-left:62px;--sticky-level-left:160px}.salary-fill-summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:18px;padding:18px}.salary-fill-prefill-notice{border:1px solid color-mix(in srgb, var(--color-brand) 35%, var(--color-border));border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-brand) 8%, #fff);color:var(--color-text);flex-direction:column;gap:6px;margin-bottom:12px;padding:14px 16px;font-size:14px;line-height:1.5;display:flex}.salary-fill-prefill-notice strong{color:var(--color-brand)}.salary-fill-prefill-notice__reason{color:var(--color-text-muted);font-size:13px}.salary-fill-summary__grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:16px;display:grid}.salary-fill-summary label{color:var(--color-text-muted);flex-direction:column;gap:8px;font-size:13px;display:flex}.salary-fill-summary input{border:1px solid var(--color-border);border-radius:var(--radius-sm);height:38px;color:var(--color-text);background:#fff;padding:0 12px}.salary-fill-number-input{text-align:right;font-variant-numeric:tabular-nums}.salary-fill-number-input.is-required{border-color:var(--color-brand);background:var(--color-brand-soft);box-shadow:0 0 0 2px var(--color-brand-ring)}.salary-fill-required-tip{color:var(--color-brand);font-size:12px;font-weight:600;line-height:1.4}.salary-fill-summary input[readonly]{font-variant-numeric:tabular-nums;background:#f8fafc}.salary-fill-toolbar{z-index:8;border:1px solid var(--color-border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--color-text-muted);background:#f5f7faf5;grid-template-columns:108px 1fr;align-items:center;gap:12px;margin-bottom:8px;padding:10px 12px;font-size:13px;display:grid;position:sticky;top:0}.salary-fill-top-scroll{height:18px;overflow:auto hidden}.salary-fill-top-scroll>div{height:1px}.salary-fill-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:calc(100vh - 285px);box-shadow:var(--shadow-sm);overflow:auto}.salary-fill-table{border-collapse:separate;border-spacing:0;table-layout:fixed;background:var(--color-surface);font-size:13px}.salary-fill-table th,.salary-fill-table td{box-sizing:border-box;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);white-space:nowrap;vertical-align:top;min-height:44px;padding:8px 10px}.salary-fill-table th{z-index:5;color:#4b5563;text-align:center;vertical-align:middle;white-space:normal;word-break:keep-all;background:#f8fafc;height:48px;font-weight:600;line-height:1.25;position:sticky;top:0}.salary-fill-header-label{white-space:normal;flex-direction:column;justify-content:center;align-items:center;gap:1px;line-height:1.15;display:inline-flex}.salary-fill-table td:not(:last-child){vertical-align:middle}.salary-fill-table thead th.num{text-align:center}.salary-fill-table td{color:var(--color-text);background:#fff;position:relative}.salary-fill-table td:hover{z-index:20}.salary-fill-table tbody tr:nth-child(odd) td{background:#fff}.salary-fill-table tbody tr:nth-child(2n) td{background:#dfeefa}.salary-fill-table tbody tr:hover td{background:#cfe3ff}.salary-fill-table .num{text-align:right;font-variant-numeric:tabular-nums}.salary-fill-table th:first-child,.salary-fill-table td:first-child{text-align:center;width:64px}.salary-fill-table th:nth-child(2),.salary-fill-table td:nth-child(2){width:102px}.salary-fill-table th:nth-child(3),.salary-fill-table td:nth-child(3){width:88px}.salary-fill-table th:nth-child(n+4),.salary-fill-table td:nth-child(n+4){width:112px}.salary-fill-table th:last-child,.salary-fill-table td:last-child{width:280px}.salary-fill-table .sticky-col{z-index:6;background:#fff;position:sticky;overflow:hidden}.salary-fill-table th.sticky-col{z-index:9;background:#f8fafc}.salary-fill-table .col-index{left:var(--sticky-index-left);border-left:0;min-width:64px;max-width:64px}.salary-fill-table .col-name{left:var(--sticky-name-left);border-left:1px solid var(--color-border);min-width:102px;max-width:102px}.salary-fill-table .col-level{left:var(--sticky-level-left);border-left:1px solid var(--color-border);border-right:2px solid #94a3b8;min-width:88px;max-width:88px;box-shadow:12px 0 16px #0f172a38}.salary-fill-table tbody tr:nth-child(odd) .sticky-col{background:#fff}.salary-fill-table tbody tr:nth-child(2n) .sticky-col{background:#dfeefa}.salary-fill-table tbody tr:hover .sticky-col{background:#cfe3ff}.salary-fill-input{width:100%;height:30px;color:var(--color-text);background:#fff;border:1px solid #cbd5e1;border-radius:4px;outline:none;padding:0 8px;transition:border-color .15s,box-shadow .15s,background .15s}.salary-fill-input:focus{box-shadow:0 0 0 2px var(--color-brand-ring);border-color:#ff7f32a6}.salary-fill-input:disabled{color:var(--color-text-muted);cursor:not-allowed;background:#f3f4f6}.salary-fill-input--number{text-align:right;font-variant-numeric:tabular-nums;appearance:textfield}.salary-fill-input--number::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.salary-fill-input--number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.salary-fill-summary input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.salary-fill-summary input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.salary-fill-input--remark{resize:none;white-space:pre-wrap;overflow-wrap:anywhere;text-align:left;min-width:220px;height:auto;min-height:38px;padding-top:6px;padding-bottom:6px;line-height:1.45;overflow:hidden}.salary-fill-changed-field{display:block;position:relative}.salary-fill-changed-field .salary-fill-input{background:#fff7ed;border-color:#f97316;box-shadow:0 0 0 1px #f9731629}.salary-fill-change-badge{z-index:16;color:#c2410c;white-space:nowrap;background:#fed7aa;border-radius:999px;padding:1px 5px;font-size:11px;font-weight:600;line-height:1.35;position:absolute;top:-7px;right:-6px;box-shadow:0 1px 3px #7c2d122e}.salary-fill-floating-tooltip{z-index:9999;color:#7c2d12;text-align:left;white-space:pre-line;pointer-events:none;background:#fff7ed;border:1px solid #fdba74;border-radius:8px;min-width:240px;max-width:340px;padding:10px 12px;font-size:12px;line-height:1.7;position:fixed;transform:translate(-50%,-100%);box-shadow:0 14px 30px #0f172a3d}.salary-fill-floating-tooltip:after{content:"";background:#fff7ed;border-bottom:1px solid #fdba74;border-right:1px solid #fdba74;width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.salary-fill-print-options{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);margin-bottom:14px;padding:12px}.salary-fill-print-options__header{color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:13px;display:flex}.salary-fill-print-options__header strong{color:var(--color-text);font-size:14px}.salary-fill-print-options__header>div{gap:8px;display:flex}.salary-fill-print-options__grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px 12px;display:grid}.salary-fill-print-options__grid label{color:var(--color-text);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.salary-fill-print-footer{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);grid-template-columns:repeat(5,minmax(120px,1fr));gap:18px;margin-top:18px;padding:16px 18px;display:none}.salary-fill-print-footer__item{color:var(--color-text);white-space:nowrap;grid-template-columns:auto 1fr;align-items:end;gap:10px;font-size:14px;display:grid}.salary-fill-print-footer__item strong{border-bottom:1px solid var(--color-text);text-align:center;min-height:26px;font-weight:600;line-height:26px;display:block}.salary-fill-actions{background:linear-gradient(180deg, #f5f7fa00, var(--color-bg) 35%);gap:12px;margin-top:14px;padding:12px 0;display:flex;position:sticky;bottom:0}.salary-fill-actions .btn-primary{background:var(--color-brand);color:#fff;cursor:pointer;box-shadow:var(--shadow-brand);border:0;border-radius:8px;padding:10px 18px;font-weight:600}.salary-fill-actions .btn-primary:disabled{opacity:.7;cursor:not-allowed}@page{size:A4 landscape;margin:4mm}@media print{html,body,#root{width:100%;min-width:0;margin:0;padding:0;background:#fff!important;overflow:hidden!important}.app-shell{display:block!important}.app-shell__sidebar,.app-shell__topbar,.page-toolbar,.salary-fill-print-options,.salary-fill-toolbar,.salary-fill-actions,.salary-fill-floating-tooltip,.form-error{display:none!important}.app-shell__content,.app-shell__main{background:#fff!important;width:auto!important;min-width:0!important;height:auto!important;margin:0!important;padding:0!important;display:block!important;overflow:hidden!important}.salary-fill-page,.salary-fill-print-area{background:#fff!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;overflow:hidden!important}.salary-fill-summary{box-shadow:none;border:1px solid #cbd5e1;border-radius:0;margin-bottom:6px;padding:5px 6px}.salary-fill-summary__grid{grid-template-columns:repeat(4,1fr);gap:4px}.salary-fill-summary label{gap:2px;font-size:12px}.salary-fill-summary input{background:0 0;border:0;height:20px;padding:0 3px;font-size:12px}.salary-fill-required-tip{display:none!important}.salary-fill-table-wrap{box-shadow:none;border:1px solid #cbd5e1;border-radius:0;width:100%!important;max-height:none!important;overflow:hidden!important}.salary-fill-table-wrap::-webkit-scrollbar{display:none!important}.salary-fill-top-scroll::-webkit-scrollbar{display:none!important}.salary-fill-table{font-size:12px;table-layout:fixed!important;width:100%!important;min-width:0!important;max-width:100%!important}.salary-fill-print-hidden{display:none!important}.salary-fill-table th,.salary-fill-table td,.salary-fill-table .sticky-col,.salary-fill-table .col-index,.salary-fill-table .col-name,.salary-fill-table .col-level{white-space:normal;overflow-wrap:anywhere;word-break:break-word;border-color:#cbd5e1;height:21px;min-height:21px;padding:2px 1px;line-height:1.2;width:auto!important;min-width:0!important;max-width:none!important;box-shadow:none!important;position:static!important;top:auto!important;left:auto!important}.salary-fill-table th:first-child,.salary-fill-table td:first-child{width:32px!important}.salary-fill-table th:nth-child(2),.salary-fill-table td:nth-child(2){width:52px!important}.salary-fill-table th:nth-child(3),.salary-fill-table td:nth-child(3){width:44px!important}.salary-fill-header-label{gap:0;line-height:1.05}.salary-fill-input{box-sizing:border-box;resize:none;background:0 0;border:0;border-radius:0;width:100%;height:auto;min-height:0;padding:0;font-size:12px;line-height:1.2;overflow:visible}.salary-fill-input--remark{min-height:0;line-height:1.2}.salary-fill-change-badge{display:none!important}.salary-fill-print-footer{box-sizing:border-box;width:100%;box-shadow:none;break-inside:avoid;page-break-inside:avoid;border:0;border-radius:0;gap:10px;margin-top:6px;padding:6px 0 0;display:grid}.salary-fill-print-footer__item{font-size:12px}.salary-fill-print-footer__item strong{min-height:22px;line-height:22px}}:root{--color-brand:#ff7f32;--color-brand-hover:#f07024;--color-brand-soft:#ff7f321f;--color-brand-ring:#ff7f3224;--color-sider-bg:#0a0e14;--color-sider-elevated:#101620;--color-sider-text:#f8fafcd1;--color-sider-text-dim:#f8fafc7a;--color-sider-hover:#ffffff0e;--color-sider-active:#ffffff0f;--color-sider-divider:#ffffff0f;--color-sider-accent:#ff7f32f2;--color-bg:#eceff3;--color-surface:#fff;--color-border:#e1e5ea;--color-border-strong:#0c111714;--color-text:#1a1f26;--color-text-muted:#64748b;--color-ink:#0c1117;--color-primary:#1e3a5f;--color-primary-hover:#16304f;--color-accent:#2563eb;--color-success:#16a34a;--color-warning:#ca8a04;--color-danger:#dc2626;--color-partial:#fef3c7;--color-paid:#dcfce7;--color-link-edit:#2563eb;--sider-width:220px;--topbar-height:52px;--input-height:38px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 4px 24px #0c11170f;--shadow-card:0 4px 24px #0c11170f, 0 0 0 1px #fffc inset;--shadow-brand:0 2px 8px #ff7f3259;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif;--font-brand-values:"LiSu", "隶书", "STLiti", "华文隶书", serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;margin:0}body:has(.app-shell){height:100%;overflow:hidden}#root:has(.app-shell){height:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:var(--input-height);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);background:#fafbfc;padding:8px 12px;transition:border-color .15s,box-shadow .15s,background .15s}input:not([type=checkbox]):not([type=radio]):hover,select:hover,textarea:hover{background:#fff;border-color:#cfd5de}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{box-shadow:0 0 0 3px var(--color-brand-ring);background:#fff;border-color:#ff7f32a6;outline:none}.page-loading{min-height:40vh;color:var(--color-text-muted);place-items:center;font-size:14px;display:grid}.brand-logo{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.brand-logo img,.brand-logo svg{object-fit:contain;width:auto;display:block}
