:root{--navy:#0F0E0C;--navy-light:#1E1C18;--cream:#F7F1E2;--cream-deep:#F0E8D3;--cream-dark:#E4D9BD;--gold:#B89159;--gold-light:#D4AF75;--slate:#4A4640;--slate-light:#A39B8B;--slate-soft:#D5CEBE;--text-dark:#14120F;--white:#FFFCF3}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text-dark);background:var(--cream);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{font-family:Georgia,Times New Roman,serif;color:var(--navy);font-weight:700}h1{font-size:28px}h2{font-size:20px}h3{font-size:16px}.serif{font-family:Georgia,serif}.shell{display:flex;min-height:100vh}.sidebar{width:240px;background:var(--navy);color:var(--cream);padding:0;display:flex;flex-direction:column;flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:hidden;z-index:10;transition:width .18s ease}.sidebar-collapsed{width:64px}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:20px 16px 16px;border-bottom:1px solid rgba(255,255,255,.08);gap:8px}.brand{flex:1 1;min-width:0;overflow:hidden}.brand .name{font-family:Georgia,serif;font-size:20px;color:var(--cream);white-space:nowrap}.brand .sub{font-size:11px;color:var(--gold-light);letter-spacing:2px;margin-top:4px;white-space:nowrap}.brand-mini{font-family:Georgia,serif;font-size:18px;color:var(--cream);text-align:center;padding:4px 0}.collapse-btn{flex-shrink:0;width:28px;height:28px;border:0;background:rgba(255,255,255,.04);color:var(--slate-light);border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:14px;transition:background .1s,color .1s}.collapse-btn:hover{background:rgba(255,255,255,.1);color:var(--cream)}.sidebar-nav{flex:1 1;overflow-y:auto;overflow-x:hidden;padding:6px 0}.nav-group{margin-bottom:2px}.nav-section-btn{display:flex;align-items:center;gap:6px;width:100%;padding:14px 20px 6px;background:none;border:0;cursor:pointer;font-size:10px;color:var(--slate-light);letter-spacing:1.5px;font-weight:600;text-align:left;text-transform:uppercase}.nav-section-btn:hover{color:var(--cream)}.nav-section-btn .chev{display:inline-block;width:10px;font-size:9px;color:var(--slate);transition:color .1s}.nav-section-btn:hover .chev{color:var(--gold-light)}.nav-items{display:flex;flex-direction:column}.navlink{display:flex;align-items:center;gap:10px;padding:10px 20px;color:var(--slate-light);font-size:13.5px;cursor:pointer;transition:background .1s;white-space:nowrap;overflow:hidden}.navlink:hover{background:rgba(255,255,255,.04);color:var(--cream)}.navlink.active{background:rgba(184,137,58,.15);color:var(--gold-light);border-left:3px solid var(--gold);padding-left:17px}.navlink-icon{flex-shrink:0;width:18px;text-align:center}.navlink-label{overflow:hidden;text-overflow:ellipsis}.sidebar-collapsed .sidebar-head{padding:20px 8px 16px;justify-content:center;flex-direction:column;gap:10px}.sidebar-collapsed .navlink{justify-content:center;padding:10px 0;gap:0}.sidebar-collapsed .navlink.active{padding-left:0;border-left:0;border-right:3px solid var(--gold)}.sidebar-collapsed .navlink-label{display:none}.sidebar-collapsed .nav-items{margin-top:6px}.main{flex:1 1;padding:32px 40px;overflow:auto;min-width:0}.signout{margin-top:auto;padding:16px 20px;border-top:1px solid rgba(255,255,255,.08)}.signout-user{margin-bottom:8px}.signout-name{color:var(--cream);font-size:13px;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.signout-role{font-size:11px;color:var(--slate-light);margin-bottom:2px}.signout-btn{color:var(--slate-light);cursor:pointer;background:none;border:0;font-size:13px;display:inline-flex;align-items:center;gap:6px;padding:0}.signout-btn:hover{color:var(--cream)}.signout-icon{display:none}.sidebar-collapsed .signout{padding:12px 8px;text-align:center}.sidebar-collapsed .signout-user{display:none}.sidebar-collapsed .signout-btn{justify-content:center;width:100%;font-size:16px}.sidebar-collapsed .signout-text{display:none}.sidebar-collapsed .signout-icon{display:inline}.page-head{margin-bottom:28px}.page-head h1{margin-bottom:4px}.page-head .sub{color:var(--slate);font-size:14px}.card{background:var(--white);border:1px solid var(--cream-dark);border-radius:10px;padding:24px;box-shadow:0 1px 3px rgba(11,37,69,.05)}.card h2{margin-bottom:16px;color:var(--navy)}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:0;transition:all .12s;text-decoration:none}.btn-primary{background:var(--navy);color:var(--cream)}.btn-primary:hover{background:var(--navy-light)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-gold{background:var(--gold);color:var(--white)}.btn-gold:hover{background:var(--gold-light)}.btn-ghost{background:transparent;color:var(--slate);border:1px solid var(--cream-dark)}.btn-ghost:hover{background:var(--cream-deep)}.btn-danger{background:#dc2626;color:white}.field{display:block;margin-bottom:14px}.field label{display:block;font-size:12px;font-weight:600;color:var(--slate);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.field input,.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--cream-dark);border-radius:6px;background:var(--white);font-size:14px;transition:border-color .1s}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--gold)}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}th{text-align:left;background:var(--cream-deep);color:var(--slate);font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:700;border-bottom:1px solid var(--cream-dark)}td,th{padding:12px}td{border-bottom:1px solid var(--cream-deep)}tr:hover td{background:var(--cream-deep)}.login-shell{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--navy);padding:20px}.login-card{background:var(--white);border-radius:12px;padding:40px;width:100%;max-width:400px;box-shadow:0 20px 60px rgba(0,0,0,.3)}.login-brand{font-family:Georgia,serif;font-size:28px;color:var(--navy);text-align:center;margin-bottom:4px}.login-sub{text-align:center;color:var(--slate);font-size:12px;letter-spacing:2px;margin-bottom:32px}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600}.badge-admin{background:var(--navy);color:var(--cream)}.badge-user{background:var(--cream-deep);color:var(--navy)}.muted{color:var(--slate)}.small{font-size:12px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-2{margin-bottom:16px}.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}.gap-2{gap:12px}.gap-3{gap:20px}.grid-2{grid-template-columns:1fr 1fr;grid-gap:16px}.grid-2,.grid-3{display:grid;gap:16px}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:16px}.text-center{text-align:center}.text-right{text-align:right}.empty{padding:48px 24px;text-align:center;color:var(--slate)}.error{color:#dc2626;background:#fee2e2}.error,.success{font-size:13px;padding:10px 12px;border-radius:6px;margin-bottom:12px}.success{color:#047857;background:#d1fae5}