@font-face{font-family:Roadstore;src:url(/fonts/Roadstore.otf) format("opentype"),url(/fonts/Roadstore.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--primary: #48533d;--primary-dim: #3a4332;--primary-mid: #5a6648;--primary-soft: #eef1e8;--accent: #a28557;--accent-dim: #8a7048;--accent-soft: color-mix(in srgb, var(--accent) 16%, #fffff0);--bg: #fffff0;--bg-elevated: #ffffff;--bg-card: #ffffff;--bg-muted: #ecebe9;--bg-soft: #f3f4ee;--border: #e0e4d8;--border-strong: #cfd5c4;--text: #2c3226;--text-secondary: #3d4536;--text-muted: #6b7265;--text-faint: #8a9080;--success: #3d8f5a;--danger: #c44b4b;--sidebar: #2c3820;--sidebar-hover: #3d4f28;--sidebar-muted: #7a9060;--sidebar-text: #a0ba7a;--sidebar-active-border: #8fb84a;--radius: 12px;--radius-lg: 16px;--radius-xl: 20px;--font: "Poppins", system-ui, sans-serif;--font-heading: "Roadstore", "Poppins", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--shadow-sm: 0 1px 2px rgba(44, 50, 38, .05);--shadow: 0 4px 16px rgba(44, 50, 38, .06);color-scheme:light}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.45;-webkit-font-smoothing:antialiased}::selection{background:color-mix(in srgb,var(--primary) 22%,white)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;letter-spacing:.02em;color:var(--primary);margin:0}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-dim)}button,input,select,textarea{font:inherit}.admin-root{min-height:100vh;display:grid;grid-template-columns:15rem 1fr;background:var(--bg)}.side-nav{background:var(--sidebar);color:#fff;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh;overflow-y:auto}.side-nav-brand{padding:1.15rem 1.15rem 1rem;border-bottom:1px solid var(--sidebar-hover);display:flex;align-items:center;gap:.65rem}.side-nav-brand img{width:2.35rem;height:2.35rem;object-fit:contain;border-radius:.45rem;flex-shrink:0}.side-nav-brand strong{font-family:var(--font-heading);font-weight:400;font-size:1.05rem;letter-spacing:.03em;color:ivory;display:block;line-height:1.15}.side-nav-brand .sub{font-size:.65rem;font-weight:500;color:var(--sidebar-muted);margin-top:.1rem}.side-nav-user{padding:.85rem 1.15rem;border-bottom:1px solid var(--sidebar-hover);font-size:.75rem;color:var(--sidebar-text)}.side-nav-user .name{color:ivory;font-weight:600;font-size:.8rem}.side-nav-links{flex:1;padding:.65rem 0;display:flex;flex-direction:column}.side-nav a{display:flex;align-items:center;gap:.65rem;padding:.65rem 1.15rem;font-size:.875rem;color:var(--sidebar-text);border-left:2px solid transparent;transition:background .15s ease,color .15s ease}.side-nav a:hover{color:ivory;background:color-mix(in srgb,var(--sidebar-hover) 60%,transparent)}.side-nav a.active{background:var(--sidebar-hover);color:ivory;font-weight:500;border-left-color:var(--sidebar-active-border)}.side-nav-footer{padding:1rem 1.15rem;border-top:1px solid var(--sidebar-hover)}.side-nav-footer .btn{width:100%;background:transparent;border-color:color-mix(in srgb,var(--sidebar-text) 40%,transparent);color:var(--sidebar-text)}.side-nav-footer .btn:hover{background:var(--sidebar-hover);color:ivory;border-color:var(--sidebar-text)}.admin-main{padding:1.5rem;max-width:72rem;width:100%}.page-header{margin-bottom:1.25rem}.page-header h1,.page-header h2{font-family:var(--font);font-weight:600;font-size:1.5rem;letter-spacing:-.02em;color:var(--text)}.page-header p{margin:.25rem 0 0;font-size:.875rem;color:var(--text-muted)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm)}.card h2,.card h3{margin:0 0 .75rem;font-family:var(--font);font-weight:600;letter-spacing:-.01em;color:var(--text);font-size:1.05rem}.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.stack{display:flex;flex-direction:column;gap:.75rem}.row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}label{display:flex;flex-direction:column;gap:.4rem;font-size:.875rem;font-weight:500;color:var(--text-secondary)}input,select,textarea{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:.75rem;color:var(--text);padding:.65rem .85rem;font-size:.875rem}input:focus,select:focus,textarea:focus{outline:none;border-color:transparent;box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 45%,transparent)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);border-radius:.65rem;padding:.6rem 1rem;cursor:pointer;font-weight:600;font-size:.875rem;transition:background .15s ease,border-color .15s ease,color .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.btn:hover{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 30%,var(--border))}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary-dim);color:ivory}.btn-primary:hover{background:var(--primary-dim);color:ivory}.btn-lg{padding:.85rem 1.25rem;font-size:.95rem;border-radius:.75rem}.btn-success{background:color-mix(in srgb,var(--success) 12%,white);border-color:color-mix(in srgb,var(--success) 35%,var(--border));color:var(--success)}.btn-danger{background:color-mix(in srgb,var(--danger) 10%,white);border-color:color-mix(in srgb,var(--danger) 35%,var(--border));color:var(--danger)}.badge{display:inline-flex;border-radius:999px;padding:.2rem .6rem;font-size:.7rem;font-weight:600;border:1px solid var(--border);background:var(--bg-soft);color:var(--text-muted)}.badge.success{color:var(--success);background:color-mix(in srgb,var(--success) 10%,white);border-color:color-mix(in srgb,var(--success) 30%,var(--border))}.muted{color:var(--text-muted)}.error{color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,white);border:1px solid color-mix(in srgb,var(--danger) 25%,var(--border));border-radius:.75rem;padding:.65rem .85rem;font-size:.875rem}.success-box{color:var(--success);background:color-mix(in srgb,var(--success) 8%,white);border:1px solid color-mix(in srgb,var(--success) 25%,var(--border));border-radius:.75rem;padding:.65rem .85rem;font-size:.875rem}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th,.table td{text-align:left;padding:.7rem .5rem;border-bottom:1px solid var(--border)}.table th{color:var(--text-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.mono{font-family:var(--mono);font-size:.9em}.login-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:var(--bg)}.login-wrap{width:min(28rem,100%)}.login-brand{text-align:center;margin-bottom:2rem}.login-brand img{width:5rem;height:5rem;object-fit:contain;margin:0 auto 1rem;display:block;border-radius:.75rem}.login-brand h1{font-family:var(--font);font-weight:600;font-size:1.5rem;letter-spacing:-.02em;color:var(--text);margin:0}.login-brand p{margin:.35rem 0 0;font-size:.875rem;color:var(--text-muted)}.login-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-sm)}.login-card .btn-primary{width:100%}.stat{display:flex;flex-direction:column;gap:.2rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.15rem;box-shadow:var(--shadow-sm)}.stat .value{font-size:1.6rem;font-weight:700;font-family:var(--mono);color:var(--primary)}.stat .label{color:var(--text-muted);font-size:.8rem;font-weight:500}.task-row{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.85rem 0;border-bottom:1px solid var(--border)}.nested-block{border:1px solid var(--border);border-radius:var(--radius);padding:.9rem;background:var(--bg-soft)}.color-swatch{display:inline-block;width:1rem;height:1rem;border-radius:4px;border:1px solid var(--border);vertical-align:middle}a.btn{display:inline-flex;align-items:center;color:var(--text-secondary);font-weight:600}a.btn-primary{color:ivory}@media(max-width:800px){.admin-root{grid-template-columns:1fr}.side-nav{position:static;height:auto;min-height:0}.side-nav-links{flex-direction:row;flex-wrap:wrap;padding:.5rem}.side-nav a{border-left:none;border-radius:.5rem;padding:.5rem .75rem}.side-nav a.active{border-left:none;background:var(--sidebar-hover)}.admin-main{padding:1rem}}
