:root{color:var(--text);background:var(--bg-app);font-family:Segoe UI,Arial,sans-serif;font-size:13px;--bg-app: #d7d7d7;--surface: #ffffff;--surface-raised: #f8f8f8;--surface-sunken: #eeeeee;--surface-hover: #dddddd;--surface-muted: #ececec;--surface-header: #f3f3f3;--zebra: #f5f5f5;--row-hover: #e0f0ff;--row-selected: #2f6fed;--border: #999999;--border-strong: #777777;--border-faint: #bbbbbb;--border-input: #aaaaaa;--text: #222222;--text-muted: #666666;--text-faint: #999999;--text-on-fill: #ffffff;--accent: #1565c0;--accent-soft: #dbe9f7;--accent-hover: #e3f0fd;--accent-active: #bbdefb;--success: #2e7d32;--success-soft: #e8f5e9;--danger: #b00020;--danger-soft: #fdecea;--warning: #f9a825;--warning-soft: #fff8e1;--neutral: #9e9e9e;--neutral-soft: #f0f0f0;--gradient-titlebar: linear-gradient(#f8f8f8, #e8e8e8);--gradient-btn: linear-gradient(#ffffff, #dddddd)}[data-theme=dark]{--bg-app: #0b1220;--surface: #151e2e;--surface-raised: #1d2739;--surface-sunken: #0e1523;--surface-hover: #242f46;--surface-muted: #1d2739;--surface-header: #1d2739;--zebra: #0e1523;--row-hover: #1d2739;--row-selected: #2f6fed;--border: #26314a;--border-strong: #3a4966;--border-faint: #1e2a42;--border-input: #26314a;--text: #f3f6fb;--text-muted: #9fadc2;--text-faint: #8593ab;--text-on-fill: #ffffff;--accent: #4c9aff;--accent-soft: rgba(76, 154, 255, .14);--accent-hover: rgba(76, 154, 255, .2);--accent-active: rgba(76, 154, 255, .28);--success: #2fbf71;--success-soft: rgba(47, 191, 113, .16);--danger: #f4525c;--danger-soft: rgba(244, 82, 92, .16);--warning: #ffc42e;--warning-soft: rgba(255, 196, 46, .14);--neutral: #7a8aa3;--neutral-soft: #1d2739;--gradient-titlebar: linear-gradient(#1d2739, #151e2e);--gradient-btn: linear-gradient(#1d2739, #151e2e)}*{box-sizing:border-box}[hidden]{display:none!important}html,body,#root{width:100%;height:100%;margin:0}button,input,select,textarea{font:inherit}input,select,textarea{background:var(--surface);color:var(--text);border:1px solid var(--border-input);border-radius:3px;padding:6px 8px}.portal-primary{background:var(--accent);color:var(--text-on-fill);border:1px solid var(--accent);border-radius:4px;padding:7px 14px;cursor:pointer}.portal-primary:hover:not(:disabled){filter:brightness(1.08)}.portal-primary:disabled{opacity:.55;cursor:default}.portal-secondary{background:var(--gradient-btn);color:var(--text);border:1px solid var(--border-input);border-radius:4px;padding:6px 12px;cursor:pointer}.portal-secondary:hover:not(:disabled){background:var(--surface-hover)}.portal-secondary:disabled{opacity:.55;cursor:default}.login-page{min-height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-app);padding:24px}.login-card{width:min(360px,100%);background:var(--surface);border:1px solid var(--border-faint);border-radius:8px;padding:28px;display:flex;flex-direction:column;gap:8px}.login-card h1{margin:0;font-size:22px}.login-card__subtitle{margin:0 0 12px;color:var(--text-muted)}.login-card label{margin-top:6px;color:var(--text-muted)}.login-card__error{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger);border-radius:4px;padding:8px 10px}.login-card .portal-primary{margin-top:14px}.portal-shell{min-height:100%;display:flex;flex-direction:column;background:var(--bg-app)}.portal-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;background:var(--gradient-titlebar);border-bottom:1px solid var(--border-faint)}.portal-topbar__brand{display:flex;align-items:baseline;gap:12px;font-size:15px}.portal-topbar__company{color:var(--text-muted)}.portal-topbar__user{display:flex;align-items:center;gap:10px}.portal-main{flex:1;padding:20px;overflow:auto}.portal-page{background:var(--surface);border:1px solid var(--border-faint);border-radius:8px;padding:24px;max-width:960px}.portal-page h1{margin-top:0;font-size:20px}.portal-page__muted{color:var(--text-muted)}.spend-summary{background:var(--surface-raised);border:1px solid var(--border-faint);border-radius:8px;padding:14px 18px;margin:12px 0;display:inline-block}.spend-summary h2{margin:0 0 6px;font-size:15px}.spend-summary__amount{margin:0;font-size:26px;font-weight:600}.portal-topbar__nav{display:flex;gap:8px;margin-left:16px}.admin-page-head{display:flex;align-items:center;gap:14px;margin-bottom:10px}.admin-page-head h1,.admin-page-head h2{margin:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal--form{width:min(480px,100%)}.modal--wide{width:min(760px,100%)}.modal--fullscreen{width:96vw;height:92vh}.modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--gradient-titlebar);border-bottom:1px solid var(--border-faint)}.modal__title{font-weight:600}.modal__close{background:var(--gradient-btn);color:var(--text);border:1px solid var(--border-input);border-radius:4px;padding:4px 10px;cursor:pointer}.modal__body{padding:14px;overflow:auto}.modal-form{display:flex;flex-direction:column;gap:10px}.modal-form__actions{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}.stand-form__fields{display:flex;flex-direction:column;gap:6px}.stand-form__fields label{color:var(--text-muted)}.cr-table-wrap{overflow-x:auto}.cr-table{width:100%;border-collapse:collapse}.cr-table th,.cr-table td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--border-faint)}.cr-table thead th{background:var(--surface-header)}.cr-table tbody tr:nth-child(2n){background:var(--zebra)}.cr-table tbody tr:hover{background:var(--row-hover)}.cr-mono{font-family:Consolas,monospace}.stand-form__message{border-radius:4px;padding:8px 10px;margin:8px 0}.stand-form__message--error{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger)}.stand-form__message--ok{background:var(--success-soft);color:var(--success);border:1px solid var(--success)}.dispatch-status--ok{color:var(--success)}.dispatch-status--error{color:var(--danger)}
