@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,700&family=DM+Sans:wght@300;400;500;600&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:DM Sans,sans-serif;background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}img{display:block;max-width:100%}:root{--cream: #ece4d9;--cream-dk: #e4dace;--teal: oklch(40% .1 195);--teal-lt: oklch(50% .09 195);--burgundy: oklch(32% .1 12);--amber: oklch(72% .16 60);--ink: oklch(18% .04 60);--ink-lt: oklch(38% .04 60);--purple: oklch(45% .14 290);--red: oklch(50% .2 15);--border: oklch(82% .018 72);--sidebar-w: 220px}.topbar{display:none;position:fixed;top:0;left:0;right:0;z-index:100;height:52px;padding:0 16px;background:var(--ink);align-items:center;justify-content:space-between}.topbar h1{font-family:Playfair Display,serif;font-size:17px;font-weight:700;color:#fff;letter-spacing:-.01em}.admin-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--ink);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:90;overflow-y:auto;transition:transform .3s ease}.sidebar-logo{padding:28px 24px 20px;border-bottom:1px solid rgba(255,255,255,.07)}.sidebar-logo h1{font-family:Playfair Display,serif;font-size:20px;font-weight:700;color:#fff;letter-spacing:-.01em}.sidebar-logo p{font-size:11px;color:#ffffff59;margin-top:4px;text-transform:uppercase;letter-spacing:.1em}.sidebar-nav{flex:1;padding:16px 0;display:flex;flex-direction:column}.sidebar-nav a{display:flex;align-items:center;gap:12px;padding:12px 24px;color:#ffffff80;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,color .15s;text-decoration:none;border-left:3px solid transparent}.sidebar-nav a:hover{background:#ffffff0f;color:#ffffffd9}.sidebar-nav a.active{background:#ffffff14;color:#fff;border-left-color:var(--amber)}.sidebar-footer{padding:20px 24px;border-top:1px solid rgba(255,255,255,.07)}.main-content{flex:1;margin-left:var(--sidebar-w);padding:36px 40px;min-height:100vh;background:#f6f1eb}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:100;background:#fff;border-top:1px solid var(--border)}.bottom-nav nav{display:flex;align-items:stretch}.bottom-nav nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 4px 12px;font-size:10px;font-weight:500;color:var(--ink-lt);cursor:pointer;text-align:center;transition:color .15s;border-top:2px solid transparent}.bottom-nav nav a.active{color:var(--teal);border-top-color:var(--teal)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:12px}.page-header h2{font-family:Playfair Display,serif;font-size:24px;font-weight:700;color:var(--ink)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:36px}.stat-card{background:#fff;border-radius:4px;padding:22px 20px;box-shadow:0 2px 8px #281c1412}.stat-icon{color:var(--teal);margin-bottom:12px}.stat-val{font-family:Playfair Display,serif;font-size:28px;font-weight:700;color:var(--ink);margin-bottom:4px}.stat-label{font-size:12px;color:var(--ink-lt);text-transform:uppercase;letter-spacing:.08em}.table-wrap{background:#fff;border-radius:4px;box-shadow:0 2px 8px #281c1412;overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;font-size:14px}thead th{text-align:left;padding:14px 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-lt);border-bottom:1px solid var(--border);white-space:nowrap}tbody tr{border-bottom:1px solid oklch(93% .012 72)}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:#f9f4ef}tbody td{padding:13px 16px;vertical-align:middle}.td-truncate{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{display:inline-block;padding:3px 10px;border-radius:2px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.badge-teal{background:#b6f2f1;color:#003737;color:oklch(30% .1 195)}.badge-amber{background:#ffe6d3;background:oklch(94% .08 60);color:#6b3900;color:oklch(40% .12 60)}.badge-gray{background:#e9e4dd;color:var(--ink-lt)}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 20px;border-radius:2px;font-size:13px;font-weight:600;font-family:DM Sans,sans-serif;cursor:pointer;border:none;transition:background .15s,opacity .15s;letter-spacing:.02em;white-space:nowrap}.btn:disabled{opacity:.65;cursor:not-allowed}.btn-primary{background:var(--teal);color:#fff}.btn-primary:hover:not(:disabled){background:#004647;background:oklch(35% .1 195)}.btn-secondary{background:#fff;color:var(--ink);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--cream-dk)}.btn-danger{background:#b9003d;color:#fff}.btn-danger:hover:not(:disabled){background:#9c0032;background:oklch(44% .2 15)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:3px;border:none;background:transparent;cursor:pointer;color:var(--ink-lt);transition:background .15s,color .15s}.icon-btn:hover{background:var(--cream-dk);color:var(--ink)}.icon-btn.danger:hover{background:#ffe7e8;background:oklch(95% .06 15);color:#b9003d}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:#fff;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;border-radius:4px;box-shadow:0 24px 64px #00000040;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-header h3{font-family:Playfair Display,serif;font-size:18px;font-weight:700}.modal-body{padding:24px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border);flex-shrink:0}.confirm-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:300;display:flex;align-items:center;justify-content:center;padding:16px}.confirm-box{background:#fff;padding:32px;border-radius:4px;width:100%;max-width:380px;box-shadow:0 16px 48px #0003}.confirm-box h3{font-family:Playfair Display,serif;font-size:18px;font-weight:700;margin-bottom:10px}.confirm-box p{font-size:14px;color:var(--ink-lt);line-height:1.6;margin-bottom:24px}.confirm-actions{display:flex;justify-content:flex-end;gap:10px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-lt)}.field input,.field textarea,.field select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:2px;font-size:14px;font-family:DM Sans,sans-serif;color:var(--ink);background:#fff;transition:border-color .15s;outline:none;-webkit-appearance:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--teal)}.field textarea{resize:vertical;min-height:80px}.field-row{display:flex;gap:14px}.field-row .field{flex:1;min-width:0}.toggle-row{display:flex;align-items:center;gap:12px}.toggle{position:relative;width:40px;height:22px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:11px;background:var(--border);cursor:pointer;transition:background .2s}.toggle-slider:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .2s;box-shadow:0 1px 4px #0003}.toggle input:checked+.toggle-slider{background:var(--teal)}.toggle input:checked+.toggle-slider:after{transform:translate(18px)}.toast{position:fixed;bottom:80px;right:20px;z-index:400;padding:12px 20px;border-radius:3px;font-size:14px;font-weight:500;font-family:DM Sans,sans-serif;box-shadow:0 8px 24px #0000002e;animation:slideUp .25s ease}.toast.success{background:var(--ink);color:#fff}.toast.error{background:#b9003d;color:#fff}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.subcat-toggle{display:flex;align-items:center;gap:8px;padding:8px 0;background:none;border:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-lt);font-family:DM Sans,sans-serif;transition:color .15s}.subcat-toggle:hover{color:var(--ink)}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.main-content{padding:28px}.sidebar{width:64px}.sidebar-logo{padding:20px 0;display:flex;align-items:center;justify-content:center}.sidebar-logo h1,.sidebar-logo p{display:none}.sidebar-nav a{padding:14px 0;justify-content:center;gap:0;font-size:0;border-left:none;border-right:3px solid transparent}.sidebar-nav a span{width:22px!important;height:22px!important}.sidebar-nav a.active{border-right-color:var(--amber);border-left:none}.sidebar-footer{padding:16px 0;display:flex;justify-content:center}.sidebar-footer button span:last-child{display:none}.sidebar-footer button{padding:0!important;justify-content:center}.main-content{margin-left:64px}.field-row{flex-direction:column;gap:16px}}@media(max-width:768px){.topbar{display:flex}.sidebar{width:240px;transform:translate(-100%);top:52px}.sidebar.open{transform:translate(0)}.sidebar-logo{padding:20px 24px;display:block}.sidebar-logo h1,.sidebar-logo p{display:block}.sidebar-nav a{padding:13px 24px;justify-content:flex-start;gap:12px;font-size:14px;border-left:3px solid transparent;border-right:none}.sidebar-nav a.active{border-left-color:var(--amber);border-right:none}.sidebar-footer{padding:20px 24px;display:block}.sidebar-footer button span:last-child{display:inline}.sidebar-footer button{gap:10px!important}.admin-layout{padding-top:52px}.main-content{margin-left:0;padding:20px 16px 90px}.bottom-nav{display:block}.toast{bottom:72px;right:12px;left:12px;text-align:center}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:16px 14px}.stat-val{font-size:22px}.page-header{margin-bottom:20px}.page-header h2{font-size:20px}.field-row{flex-direction:column;gap:16px}.modal-bg{align-items:flex-end;padding:0}.modal{max-width:100%;max-height:92vh;border-radius:12px 12px 0 0}.confirm-box{padding:24px 20px}}@media(max-width:400px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-val{font-size:20px}.btn{padding:9px 14px;font-size:12px}}
