.ui-btn{border:none;border-radius:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s ease,opacity .15s ease,background .15s ease}.ui-btn:hover:not(:disabled){transform:translateY(-1px)}.ui-btn:disabled{opacity:.45;cursor:not-allowed}.ui-btn-md{padding:10px 18px;font-size:.9rem}.ui-btn-sm{padding:7px 12px;font-size:.8rem}.ui-btn-lg{padding:12px 22px;font-size:.95rem}.ui-btn-primary{background:var(--brand);color:#fff}.ui-btn-primary:hover:not(:disabled){background:var(--brand-dark)}.ui-btn-secondary{background:#111;color:#fff}.ui-btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.ui-btn-light{background:#fff;color:#111}.ui-field{display:grid;gap:6px;width:100%}.ui-label{font-size:.82rem;font-weight:600;color:var(--text-soft)}.ui-input{width:100%;border:1px solid var(--border);background:#fff;border-radius:14px;padding:11px 14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.ui-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.ui-input.is-error{border-color:var(--brand)}.ui-field-error{color:var(--brand);font-size:.78rem}.ui-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#666 50%),linear-gradient(135deg,#666 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 12px) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.ui-card{background:var(--surface);border-radius:12px;box-shadow:none;border:1px solid var(--border);padding:14px}.ui-card-dark{background:var(--surface);color:var(--text);border:1px solid var(--border)}.ui-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.ui-card-title-wrap{display:flex;gap:10px;align-items:center}.ui-card-title-wrap h3{margin:0;font-size:.95rem;font-weight:650}.ui-card-title-wrap p{margin:2px 0 0;color:var(--text-soft);font-size:.78rem}.ui-card-dark .ui-card-title-wrap p{color:var(--text-soft)}.ui-card-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.ui-card-dark .ui-card-icon{background:var(--brand-soft);color:var(--brand)}.ghost-icon{border:none;background:transparent;color:inherit;opacity:.55;padding:4px}.stat-value{font-size:1.55rem;font-weight:700;letter-spacing:-.03em;margin-bottom:2px}.stat-subtitle{color:var(--text-soft);font-size:.8rem;margin-bottom:10px}.ui-card-dark .stat-subtitle{color:var(--text-soft)}.ui-search{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:10px 14px;min-width:min(360px,100%)}button.ui-search{font:inherit;color:inherit}.ui-search input{border:none;outline:none;width:100%;background:transparent}.ui-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:650}.ui-badge-brand{background:var(--brand-soft);color:var(--brand)}.ui-badge-success{background:#2f9e441f;color:var(--success)}.ui-badge-muted{background:#efeff3;color:#555}.ui-avatar{border-radius:50%;object-fit:cover}.ui-avatar-fallback{display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:700;font-size:.8rem}.ui-table{width:100%;border-collapse:collapse}.ui-table th,.ui-table td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--border);font-size:.86rem}.ui-table th{color:var(--text-soft);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.ui-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:14px;color:var(--text-soft);font-size:.85rem}.ui-pagination-actions{display:flex;gap:8px}.ui-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0c8c;display:grid;place-items:center;padding:16px;z-index:50}.ui-modal{width:min(520px,100%);background:#fff;border-radius:22px;padding:18px;box-shadow:0 30px 80px #0000004d}.ui-modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ui-modal-head h3{margin:0}.ui-modal-body{display:grid;gap:12px}.ui-modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.notify-card{background:linear-gradient(145deg,#a0001c,#6e0014);color:#fff;border-radius:22px;padding:16px;display:grid;gap:12px}.notify-icon{width:48px;height:48px;border-radius:16px;background:#ffffff26;display:grid;place-items:center}.notify-copy strong{display:block;margin-bottom:4px}.notify-copy p{margin:0;font-size:.82rem;opacity:.9}.notify-actions{display:flex;gap:8px;flex-wrap:wrap}.notify-actions .ui-btn-primary,.notify-actions .ui-btn-light{background:#fff;color:#111}.notify-actions .ui-btn-ghost{border-color:#ffffff59;color:#fff}.update-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff;color:var(--text);border:1px solid var(--border);border-radius:16px;padding:12px 14px;margin-bottom:16px}.sidebar{background:var(--sidebar);color:var(--text);padding:16px 12px;display:flex;flex-direction:column;gap:12px;min-height:100%;border-right:1px solid var(--border)}.sidebar-top{display:flex;align-items:flex-start;justify-content:space-between;padding:0 4px 4px}.brand{display:grid;gap:6px;flex:1;min-width:0}.brand-logo{width:min(100%,168px);height:auto;max-height:52px;object-fit:contain;object-position:left center;display:block}.brand-caption{margin:0;font-size:.68rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}.sidebar-close{display:none;border:none;background:transparent;color:inherit}.sidebar-nav{display:grid;gap:2px;flex:1;align-content:start}.nav-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;color:var(--text-soft);position:relative;font-size:.86rem;line-height:1.2;min-height:36px}.nav-item svg{width:18px;height:18px;flex-shrink:0}.nav-item:hover{background:var(--sidebar-soft);color:var(--text)}.nav-item.is-active{background:var(--brand-soft);color:var(--brand);font-weight:650}.nav-item.is-active:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;border-radius:999px;background:var(--brand)}.nav-dot{width:6px;height:6px;border-radius:50%;background:var(--success);margin-left:auto}.sidebar-bottom{display:grid;gap:10px;margin-top:auto}.logout-btn{display:flex;align-items:center;gap:8px;width:100%;border:1px solid var(--border);background:transparent;color:var(--text-soft);border-radius:8px;padding:8px 10px;font-size:.86rem}.logout-btn:hover{color:var(--brand);border-color:#a0001c59;background:var(--brand-soft)}.app-footer{margin-top:24px;padding:18px 4px 8px;text-align:center;color:var(--text-soft);font-size:.82rem}.sidebar-backdrop{display:none}@media(max-width:900px){.sidebar{position:fixed;inset:0 auto 0 0;width:min(280px,86vw);z-index:40;transform:translate(-105%);transition:transform .25s ease;box-shadow:8px 0 30px #1a1a1e1a}.sidebar.is-open{transform:translate(0)}.sidebar-backdrop.is-open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a1e47;z-index:35}.sidebar-close{display:grid;place-items:center}}.notif-list{display:grid;gap:8px;max-height:min(52vh,420px);overflow:auto}.notif-row{width:100%;text-align:left;border:1px solid var(--border);background:#fff;border-radius:12px;padding:12px;display:grid;gap:4px;cursor:pointer}.notif-row:hover{border-color:#a0001c4d;background:var(--brand-soft)}.notif-row-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.notif-row strong{font-size:.92rem}.notif-row p{margin:0;color:var(--text);font-size:.86rem;line-height:1.4}.notif-row span{color:var(--text-soft);font-size:.74rem}.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;flex-wrap:wrap;background:#f5f6f8f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.header-left,.header-right{display:flex;align-items:center;gap:12px}.header-search-btn{cursor:pointer;text-align:left;color:var(--text-soft);min-width:min(360px,100%)}.header-search-btn span{flex:1;font-size:.9rem}.header-search-btn kbd{font-size:.7rem;border:1px solid var(--border);border-radius:6px;padding:2px 6px;background:#f5f6f8;color:var(--text-soft)}.header-title strong{display:block;font-size:1.05rem;letter-spacing:-.03em;line-height:1.15}.header-title span{display:block;color:var(--text-soft);font-size:.78rem;margin-top:2px}.menu-btn{display:none;border:none;background:transparent;color:inherit}.user-chip{display:flex;align-items:center;gap:10px}.user-chip strong{display:block;font-size:.92rem}.user-chip span{display:block;color:var(--text-soft);font-size:.76rem}.date-chip{background:#fff;border:1px solid var(--border);border-radius:12px;padding:9px 12px;font-size:.82rem;color:var(--text-soft)}.bell-btn{position:relative;width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:#fff;display:grid;place-items:center}@media(max-width:900px){.menu-btn{display:grid;place-items:center}.app-header{padding:12px 16px}.user-chip span{display:none}}.gs-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#14141873;display:grid;place-items:center;padding:16px}.gs-modal{width:min(640px,100%);max-height:min(72vh,560px);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 28px 80px #14141847;display:flex;flex-direction:column;animation:gs-in .18s ease both}.gs-input-wrap{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.gs-input-wrap input{flex:1;border:none;outline:none;font-size:1rem;background:transparent}.gs-input-wrap kbd{font-size:.72rem;color:var(--text-soft);border:1px solid var(--border);border-radius:6px;padding:3px 6px;background:#f5f6f8}.gs-results{overflow:auto;padding:8px}.gs-group{margin-bottom:8px}.gs-group p{margin:6px 8px;font-size:.72rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft)}.gs-item{width:100%;text-align:left;border:none;background:transparent;border-radius:10px;padding:10px 12px;display:grid;gap:2px;cursor:pointer}.gs-item strong{font-size:.92rem;color:var(--text)}.gs-item span{font-size:.78rem;color:var(--text-soft)}.gs-item .gs-loc{font-size:.86rem;font-weight:650;color:var(--brand);line-height:1.35}.gs-item .gs-meta{font-size:.72rem;color:var(--text-soft)}.gs-item.is-active,.gs-item:hover{background:var(--brand-soft)}.gs-item.is-active strong,.gs-item.is-active .gs-loc{color:var(--brand)}.gs-empty{padding:28px 12px;text-align:center;color:var(--text-soft);font-size:.9rem}@keyframes gs-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.login-stage{height:100vh;max-height:100dvh;overflow:hidden;display:grid;place-items:center;padding:clamp(12px,2.2vh,24px);background:radial-gradient(circle at 12% 18%,rgba(160,0,28,.08),transparent 42%),linear-gradient(160deg,#f3f4f8,#e9ecf2)}.login-card{width:min(980px,100%);height:min(620px,calc(100vh - 28px));max-height:calc(100dvh - 28px);display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 24px 70px #1a1a1e1f;animation:login-in .55s ease both}.login-form-side{display:flex;flex-direction:column;justify-content:center;padding:clamp(22px,3.5vh,42px) clamp(22px,3vw,44px);min-height:0}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:clamp(16px,3vh,28px)}.login-brand img{height:38px;width:auto;object-fit:contain}.login-brand span{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}.login-head{margin-bottom:clamp(14px,2.4vh,22px)}.login-head h1{margin:0;font-size:clamp(1.55rem,3.2vh,2rem);letter-spacing:-.04em;font-weight:750;color:#17171b}.login-head p{margin:8px 0 0;color:var(--text-soft);font-size:.9rem}.login-form-side .form-stack{gap:12px}.login-form-side .ui-input{border-radius:12px;padding:12px 14px}.login-submit{width:100%;margin-top:6px;border-radius:12px!important;padding-top:12px!important;padding-bottom:12px!important}.login-remember{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.86rem;color:var(--text);font-weight:550;-webkit-user-select:none;user-select:none}.login-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:46px;height:26px;border-radius:999px;background:#d7d8df;position:relative;cursor:pointer;transition:background .2s ease;flex-shrink:0}.login-switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0000002e;transition:transform .2s ease}.login-switch:checked{background:var(--brand)}.login-switch:checked:after{transform:translate(20px)}.login-foot{margin:clamp(14px,2.5vh,22px) 0 0;color:var(--text-soft);font-size:.76rem}.login-visual{position:relative;min-height:0;background:#a0001c}.login-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#14141800,#14141814 42%,#14141873 72%,#141418b8)}.login-visual img{width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block;animation:login-ken 14s ease-out forwards}.login-visual-copy{position:absolute;left:24px;right:24px;bottom:28px;z-index:1;color:#fff;text-shadow:0 10px 28px rgba(0,0,0,.35);animation:login-rise .7s ease .15s both}.login-visual-copy h2{margin:0 0 8px;font-size:clamp(1.15rem,2.4vh,1.55rem);line-height:1.2;letter-spacing:-.03em}.login-visual-copy p{margin:0;font-size:.86rem;opacity:.92}@keyframes login-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes login-ken{0%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes login-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:860px){.login-card{grid-template-columns:1fr;height:auto;max-height:calc(100dvh - 24px);overflow:auto}.login-visual{min-height:180px;max-height:34vh;order:-1}.login-visual-copy h2{font-size:1.1rem}.login-form-side{padding:20px 18px 22px}}.hbar-list{display:grid;gap:14px}.hbar-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px;font-size:.86rem}.hbar-meta span{color:var(--text-soft)}.hbar-track{height:8px;border-radius:999px;background:#ececf1;overflow:hidden}.hbar-fill{height:100%;border-radius:999px;transition:width .45s ease}.ui-card-dark .hbar-track{background:#ececf1}.ui-card-dark .hbar-meta span{color:var(--text-soft)}.ui-card-dark .hbar-meta strong{color:var(--text)}.vbar-wrap{width:100%}.vbar-chart{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:end;gap:10px;min-height:180px;padding-top:8px}.vbar-col{display:grid;justify-items:center;gap:8px;height:180px;align-content:end}.vbar-bar{width:min(34px,70%);border-radius:10px 10px 4px 4px;transition:height .4s ease,background .3s ease}.vbar-bar.is-muted{background:repeating-linear-gradient(-45deg,#a0001c2e,#a0001c2e 4px,#a0001c0f 4px,#a0001c0f 8px)}.vbar-bar.is-active{background:#a0001c;box-shadow:0 8px 20px #a0001c38}.vbar-col span{font-size:.72rem;color:var(--text-soft)}.inv-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.inv-stat{border:1px solid var(--border);background:#fff;border-radius:12px;padding:10px 12px;text-align:left;display:grid;gap:4px;cursor:default}.inv-stat:disabled{opacity:1;cursor:default}.inv-stat:not(:disabled){cursor:pointer}.inv-stat span{font-size:.72rem;color:var(--text-soft);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.inv-stat strong{font-size:1.35rem;line-height:1;letter-spacing:-.03em;color:var(--text)}.inv-stat.is-warn strong{color:var(--brand)}.inv-stat.is-active{border-color:var(--brand);background:var(--brand-soft)}.inv-filters{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(120px,1fr)) auto auto;gap:8px;align-items:center;margin-bottom:14px}.inv-filters .ui-search,.inv-filters .ui-field{margin:0;min-width:0}.inv-filters .ui-select,.inv-filters .ui-input{width:100%}.inv-filters .inv-create,.inv-filters .inv-chip{white-space:nowrap}@media(max-width:1100px){.inv-filters{grid-template-columns:1fr 1fr}.inv-search{grid-column:1 / -1}.inv-create{justify-self:end}}@media(max-width:720px){.inv-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.inv-filters{grid-template-columns:1fr}.inv-create,.inv-chip{width:100%}}:root{--brand: #a0001c;--brand-dark: #7a0015;--brand-soft: rgba(160, 0, 28, .1);--brand-glow: rgba(160, 0, 28, .16);--sidebar: #ffffff;--sidebar-soft: #f7f7f9;--bg: #f5f6f8;--surface: #ffffff;--text: #1a1a1e;--text-soft: #6b6b75;--border: #e6e7ec;--success: #2f9e44;--warning: #f59f00;--danger: #a0001c;--radius: 16px;--radius-sm: 12px;--shadow: 0 8px 22px rgba(26, 26, 30, .05);--font: "Poppins", system-ui, sans-serif;--sidebar-width: 260px}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}.app-shell{min-height:100vh;padding:0;background:var(--bg)}.app-frame{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;background:var(--bg);overflow:hidden}.main-area{display:flex;flex-direction:column;min-width:0;min-height:100%}.main-scroll{flex:1;padding:24px 28px 12px;overflow:auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-head h1{margin:0;font-size:1.85rem;font-weight:700;letter-spacing:-.03em}.page-head p{margin:6px 0 0;color:var(--text-soft);font-size:.92rem}.grid-dashboard{display:grid;grid-template-columns:1.35fr .85fr 1fr;gap:18px;margin-bottom:18px}.grid-side{display:grid;gap:18px}.grid-bottom{display:grid;gap:18px;margin-bottom:18px}.toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;align-items:center}.table-wrap{overflow:auto}.empty-state{text-align:center;padding:40px 16px;color:var(--text-soft)}.form-stack{display:grid;gap:14px}.form-error{background:var(--brand-soft);color:var(--brand);border-radius:12px;padding:10px 12px;font-size:.88rem}.form-ok{background:#2f9e441f;color:#1f7a32;border-radius:12px;padding:10px 12px;font-size:.88rem}.pwd-hint{margin:0;color:var(--text-soft);font-size:.9rem;line-height:1.45}@media(max-width:1100px){.grid-dashboard{grid-template-columns:1fr 1fr}}@media(max-width:900px){.app-frame,.grid-dashboard{grid-template-columns:1fr}}@media(max-width:640px){.main-scroll{padding:16px}.page-head h1{font-size:1.45rem}}
