@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--color-cream:#efe7d5;--color-cream-soft:#f6f1e4;--color-cream-paper:#faf8f2;--color-navy:#1f2536;--color-navy-soft:#2a3247;--color-navy-deep:#161b29;--color-gold:#c4a574;--color-gold-soft:#d4ba8f;--color-gold-deep:#a88a5c;--color-muted:#8a8273;--bg-app:var(--color-cream-paper);--bg-card:#fff;--bg-card-soft:#fbfaf6;--bg-overlay:#1f25368c;--bg-sidebar:var(--color-navy);--text-primary:#1f2536;--text-secondary:#5f5a4e;--text-tertiary:#9b9382;--text-on-dark:var(--color-cream);--text-on-gold:var(--color-navy);--text-link:var(--color-navy);--border-subtle:#1f25360f;--border-default:#1f25361a;--border-strong:#1f25362e;--border-focus:var(--color-gold);--color-success:#5c8a6a;--color-success-bg:#ecf2ee;--color-success-border:#c8dccf;--color-warning:#c99a52;--color-warning-bg:#fbf3e3;--color-warning-border:#ecd7ad;--color-danger:#b25556;--color-danger-bg:#fbeded;--color-danger-border:#ecc7c8;--color-info:#4f6b8e;--color-info-bg:#ecf0f6;--color-info-border:#cfdaea;--font-display:"Cormorant Garamond", "EB Garamond", Garamond, "Times New Roman", serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-xs:11px;--text-sm:12.5px;--text-base:14px;--text-md:15px;--text-lg:17px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--text-4xl:38px;--text-5xl:48px;--leading-tight:1.2;--leading-snug:1.4;--leading-normal:1.55;--leading-loose:1.75;--tracking-tight:-.01em;--tracking-normal:0;--tracking-wide:.06em;--tracking-wider:.12em;--tracking-widest:.22em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;--shadow-xs:0 1px 2px #1f25360a;--shadow-sm:0 1px 3px #1f25360f, 0 1px 2px #1f25360a;--shadow-md:0 4px 12px #1f25360f, 0 2px 4px #1f25360a;--shadow-lg:0 12px 28px #1f25361a, 0 4px 8px #1f25360d;--shadow-gold:0 8px 20px #c4a57440;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--duration-fast:.14s;--duration-normal:.22s;--duration-slow:.36s;--z-base:1;--z-dropdown:100;--z-sticky:200;--z-overlay:800;--z-modal:900;--z-toast:1000}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg-app);height:100%;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;padding:0}img,svg{max-width:100%;display:block}a{color:var(--text-link);transition:color var(--duration-fast) var(--ease-out);text-decoration:none}a:hover{color:var(--color-gold-deep)}::selection{background:var(--color-gold);color:var(--color-navy)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:var(--tracking-tight);margin:0;font-weight:600}h1{font-size:var(--text-3xl);line-height:var(--leading-tight);font-weight:600}h2{font-size:var(--text-2xl);line-height:var(--leading-tight)}h3{font-size:var(--text-xl);line-height:var(--leading-snug)}h4{font-size:var(--text-lg);line-height:var(--leading-snug)}h5{font-size:var(--text-md);line-height:var(--leading-snug)}h6{font-size:var(--text-sm);line-height:var(--leading-snug)}.h-display,.brand-title{font-family:var(--font-display);letter-spacing:var(--tracking-tight);font-weight:500}.eyebrow{letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-gold);font-size:10px;font-weight:500}.app-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}@media (width<=900px){.app-shell{grid-template-columns:1fr}}.app-main{padding:var(--space-8) var(--space-10);min-width:0}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-6);margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--border-subtle);display:flex}.page-header .breadcrumb{font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-tertiary)}.page-header h1{font-size:var(--text-3xl);margin-top:4px;font-weight:600}.page-header .right{text-align:right;font-size:var(--text-sm);color:var(--text-secondary);letter-spacing:var(--tracking-wide)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#1f25361f;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#1f253638}:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px;border-radius:4px}.btn{border-radius:var(--radius-md);height:38px;font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:.01em;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:500;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn .icon{flex-shrink:0;width:16px;height:16px}.btn-primary{background:var(--color-navy);color:var(--text-on-dark);border-color:var(--color-navy)}.btn-primary:hover:not(:disabled){background:var(--color-navy-soft);border-color:var(--color-navy-soft)}.btn-primary:active{background:var(--color-navy-deep)}.btn-gold{background:var(--color-gold);color:var(--text-on-gold);border-color:var(--color-gold)}.btn-gold:hover:not(:disabled){background:var(--color-gold-soft);border-color:var(--color-gold-soft);box-shadow:var(--shadow-gold)}.btn-gold:active{background:var(--color-gold-deep)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--bg-card-soft);border-color:var(--color-navy)}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){color:var(--text-primary);background:#1f25360a}.btn-danger{background:var(--bg-card);color:var(--color-danger);border-color:var(--color-danger-border)}.btn-danger:hover:not(:disabled){background:var(--color-danger-bg)}.btn-sm{height:30px;font-size:var(--text-xs);border-radius:var(--radius-sm);padding:0 12px}.btn-lg{height:44px;font-size:var(--text-md);padding:0 22px}.btn-icon{width:38px;padding:0}.btn-icon.btn-sm{width:30px}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-body{padding:var(--space-6)}.card-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:12px;display:flex}.card-header h3{font-size:var(--text-md);font-weight:600}.card-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-subtle);background:var(--bg-card-soft)}.stat-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);justify-content:space-between;align-items:center;gap:var(--space-4);transition:transform var(--duration-normal) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out);display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat-card .stat-label{font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-tertiary);margin-bottom:4px;font-weight:500}.stat-card .stat-value{font-size:var(--text-3xl);color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:600;line-height:1}.stat-card .stat-sub{font-size:var(--text-xs);color:var(--text-secondary);margin-top:6px}.stat-card .stat-icon{border-radius:var(--radius-md);background:var(--color-cream-soft);width:38px;height:38px;color:var(--color-gold-deep);justify-content:center;align-items:center;display:flex}.badge{border-radius:var(--radius-pill);font-size:var(--text-xs);letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:4px 10px;font-weight:500;line-height:1;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.badge-success{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-border)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning);border-color:var(--color-warning-border)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-border)}.badge-info{background:var(--color-info-bg);color:var(--color-info);border-color:var(--color-info-border)}.badge-neutral{color:var(--text-secondary);border-color:var(--border-default);background:#1f25360d}.badge-gold{color:var(--color-gold-deep);background:#c4a5741f;border-color:#c4a57459}.input,.select,.textarea{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-card);width:100%;height:38px;color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);padding:0 12px}.textarea{resize:vertical;height:auto;line-height:var(--leading-normal);padding:10px 12px}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-gold);outline:none;box-shadow:0 0 0 3px #c4a5742e}.input::placeholder,.textarea::placeholder{color:var(--text-tertiary)}.input-search{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239b9382' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><path d='m21 21-4.3-4.3'/></svg>");background-position:12px;background-repeat:no-repeat;padding-left:36px}.field-label{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-tertiary);margin-bottom:6px;font-weight:500;display:block}.table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.table thead th{text-align:left;background:var(--bg-card-soft);color:var(--text-tertiary);font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;border-bottom:1px solid var(--border-default);white-space:nowrap;padding:12px 16px;font-weight:500}.table tbody td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle;padding:14px 16px}.table tbody tr:hover{background:var(--bg-card-soft)}.table tbody tr:last-child td{border-bottom:0}.table .col-num{font-variant-numeric:tabular-nums;text-align:right}.table .col-code{font-family:var(--font-mono);color:var(--color-info);font-size:12px}.sidebar{background:var(--bg-sidebar);color:var(--text-on-dark);padding:var(--space-6) var(--space-4) var(--space-4);border-right:1px solid #0003;flex-direction:column;display:flex}.sidebar-brand{margin-bottom:var(--space-5);border-bottom:1px solid #efe7d51a;align-items:center;gap:12px;padding:4px 8px 24px;display:flex}.sidebar-brand .brand-logo{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--color-gold);background:#c4a5741f;justify-content:center;align-items:center;display:flex}.sidebar-brand .brand-name{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:.05em;font-weight:500}.sidebar-brand .brand-sub{letter-spacing:.32em;text-transform:uppercase;color:var(--color-gold);margin-top:2px;font-size:9px}.sidebar-status{margin:0 8px var(--space-5);border-radius:var(--radius-pill);color:#b9d6c2;letter-spacing:.18em;text-transform:uppercase;background:#5c8a6a2e;border:1px solid #5c8a6a52;align-items:center;gap:8px;padding:6px 10px;font-size:10px;font-weight:500;display:inline-flex}.sidebar-status:before{content:"";background:#6fb084;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #6fb08440}.sidebar-section{letter-spacing:.32em;text-transform:uppercase;color:#efe7d566;padding:12px 12px 8px;font-size:9px;font-weight:500}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.sidebar-link{border-radius:var(--radius-md);color:#efe7d5b8;font-size:var(--text-sm);letter-spacing:.01em;cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);text-align:left;width:100%;font-weight:500;font-family:var(--font-sans);background:0 0;border:none;align-items:center;gap:12px;padding:9px 12px;text-decoration:none;display:flex;position:relative}.sidebar-link .icon{opacity:.7;flex-shrink:0;width:18px;height:18px}.sidebar-link:hover{color:var(--color-cream);background:#efe7d50d}.sidebar-link:hover .icon{opacity:1}.sidebar-link.active{color:var(--color-gold);background:#c4a5741f}.sidebar-link.active .icon{opacity:1}.sidebar-link.active:before{content:"";background:var(--color-gold);border-radius:0 2px 2px 0;width:3px;height:18px;position:absolute;top:50%;left:-16px;transform:translateY(-50%)}.sidebar-user{border-radius:var(--radius-md);background:#0000002e;border:1px solid #efe7d514;align-items:center;gap:10px;margin-top:auto;padding:12px;display:flex}.sidebar-user .avatar{background:var(--color-gold);width:32px;height:32px;color:var(--color-navy);letter-spacing:.04em;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.sidebar-user .info .name{font-size:var(--text-sm);color:var(--color-cream);font-weight:500}.sidebar-user .info .role{letter-spacing:.22em;text-transform:uppercase;color:var(--color-gold);font-size:9px}.sidebar-user .logout{color:#efe7d58c;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;margin-left:auto;display:flex}.sidebar-user .logout:hover{color:var(--color-gold);background:#efe7d50d}.tabs{background:var(--bg-card-soft);border:1px solid var(--border-subtle);border-radius:var(--radius-md);gap:2px;padding:4px;display:inline-flex}.tabs .tab{border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:0 0;border:none;padding:6px 14px;font-weight:500}.tabs .tab:hover{color:var(--text-primary)}.tabs .tab.active{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-xs)}.row{align-items:center;gap:12px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.muted{color:var(--text-tertiary)}.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono)}.login-art{color:var(--color-cream);text-align:center;background:radial-gradient(at 30% 0,#c4a5742e 0%,#0000 55%),radial-gradient(at 80% 100%,#c4a5741a 0%,#0000 50%),linear-gradient(165deg,#161b29 0%,#1f2536 50%,#2a3247 100%);flex-direction:column;justify-content:center;align-items:center;gap:56px;padding:56px 64px;display:flex;position:relative;overflow:hidden}.login-art:before,.login-art:after{content:"";pointer-events:none;border:1px solid #c4a57459;width:80px;height:80px;position:absolute}.login-art:before{border-bottom:none;border-right:none;top:28px;left:28px}.login-art:after{border-top:none;border-left:none;bottom:28px;right:28px}.login-art .logo-block{z-index:2;flex-direction:column;align-items:center;display:flex;position:relative}.login-art .logo-block img{filter:drop-shadow(0 6px 24px #00000040);width:100%;max-width:380px;height:auto;display:block}.login-art .quote-block{z-index:2;max-width:420px;position:relative}.login-art .quote{font-family:var(--font-display);color:#efe7d5eb;margin:0;font-size:22px;font-style:italic;font-weight:400;line-height:1.55}.login-art .quote-divider{background:var(--color-gold);width:40px;height:1px;margin:22px auto}.login-art .quote-author{font-family:var(--font-sans);letter-spacing:.32em;text-transform:uppercase;color:var(--color-gold);font-size:10px}.login-form{flex-direction:column;justify-content:center;max-width:480px;padding:60px;display:flex}.login-form .form-eyebrow{letter-spacing:.32em;text-transform:uppercase;color:var(--color-gold);margin-bottom:12px;font-size:10px}.login-form h2{font-family:var(--font-display);margin:0 0 8px;font-size:36px;font-weight:500}.login-form .sub{color:var(--text-secondary);margin-bottom:32px;font-size:14px}.login-form .form-row{margin-bottom:16px}
