:root{--bg-page:#ebe7df;--bg-header:#1a1714;--bg-surface:#fff;--bg-muted:#f4f1eb;--bg-preview:#f8f5ee;--text-primary:#1a1714;--text-secondary:#6b6560;--text-muted:#8a847d;--text-inverse:#fff;--brand-green:#5f6f5f;--brand-green-hover:#4f5d4f;--accent-gold:#d4a853;--accent-cream:#faf6ec;--border-soft:#e4dfd6;--border-strong:#d8d2c8;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--shadow-card:0 8px 24px #1a17140f;--shadow-soft:0 2px 8px #1a17140a;--font-serif:"Playfair Display", Georgia, "Times New Roman", serif;--font-sans:Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}#root{min-height:100vh}h1,h2,h3{font-family:var(--font-serif);color:var(--text-primary);font-weight:600}p{margin:0}button,input,select,textarea{font:inherit}svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.app-shell{flex-direction:column;min-height:100vh;display:flex}.hub-header{background:var(--bg-header);color:var(--text-inverse);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.5rem;display:flex}.hub-header-left,.hub-header-right{align-items:center;gap:.85rem;display:flex}.hub-logo{font-family:var(--font-serif);letter-spacing:.01em;font-size:1.35rem;font-weight:600}.hub-badge{letter-spacing:.12em;text-transform:uppercase;border-radius:var(--radius-pill);color:#ffffffd9;border:1px solid #ffffff40;padding:.3rem .65rem;font-size:.68rem;font-weight:600}.hub-user-name{color:#ffffffe6;font-size:.92rem}.hub-icon-btn,.hub-logout-btn{color:#ffffffe6;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;align-items:center;gap:.45rem;padding:.35rem .5rem;display:inline-flex}.hub-icon-btn:hover,.hub-logout-btn:hover{background:#ffffff14}.hub-body{flex:1;grid-template-columns:260px 1fr;gap:1.5rem;padding:1.5rem;display:grid}.hub-sidebar{background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);height:fit-content;padding:1.25rem 1rem;position:sticky;top:1.5rem}.sidebar-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .85rem .75rem;font-size:.68rem;font-weight:700}.sidebar-nav{gap:.35rem;display:grid}.sidebar-link{border-radius:var(--radius-pill);color:var(--text-secondary);align-items:center;gap:.7rem;padding:.7rem .9rem;font-weight:500;text-decoration:none;transition:background .2s,color .2s;display:flex}.sidebar-link:hover{background:var(--bg-muted);color:var(--text-primary)}.sidebar-link.active{background:var(--brand-green);color:var(--text-inverse)}.hub-main{min-width:0}.page-content{max-width:1120px}.page-header{margin-bottom:1.5rem}.page-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .35rem;font-size:.68rem;font-weight:700}.page-title{letter-spacing:-.01em;margin:0;font-size:clamp(2rem,4vw,2.75rem);line-height:1.15}.page-intro{max-width:62ch;color:var(--text-secondary);margin-top:.65rem}.card{background:var(--bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:1.35rem}.form{gap:1rem;display:grid}.preview-box{background:var(--accent-cream);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);border:1px solid #ead9b8;gap:.65rem;margin-bottom:1rem;padding:1.25rem;display:grid}.preview-box h2{margin:0;font-size:1.15rem}.preview-box output{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-soft);color:var(--text-primary);word-break:break-word;padding:.85rem 1rem;font-family:ui-monospace,Consolas,monospace;font-size:.95rem;display:block}.field{text-align:left;gap:.45rem;display:grid}.field>span{color:var(--text-primary);font-size:.88rem;font-weight:600}.fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.fields-column{gap:1rem;display:grid}.field input,.field select,.history-edit-input,.inline-input,.users-table select{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-surface);width:100%;color:var(--text-primary);padding:.7rem .85rem;transition:border-color .2s,box-shadow .2s}.field input:focus,.field select:focus,.history-edit-input:focus,.inline-input:focus,.users-table select:focus{border-color:var(--brand-green);outline:none;box-shadow:0 0 0 3px #5f6f5f26}.option-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.option-btn{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-soft);border-radius:var(--radius-pill);cursor:pointer;min-width:4.5rem;padding:.55rem .9rem;font-weight:500}.option-btn:hover{border-color:var(--border-strong);background:var(--bg-muted)}.option-btn.active{background:var(--brand-green);color:var(--text-inverse);border-color:var(--brand-green)}.actions{flex-wrap:wrap;gap:.75rem;display:flex}button{border-radius:var(--radius-pill);cursor:pointer;background:var(--brand-green);color:var(--text-inverse);border:0;padding:.7rem 1.15rem;font-weight:600;transition:background .2s,transform .15s}button:hover:not(:disabled){background:var(--brand-green-hover)}button.secondary{background:var(--bg-muted);color:var(--text-primary);border:1px solid var(--border-soft)}button.secondary:hover:not(:disabled){background:#ece7de}button:disabled{opacity:.55;cursor:not-allowed}.feedback{margin:0;font-size:.92rem;font-weight:600}.feedback.error{color:#9f2d2d}.feedback.success{color:#3f6b4a}.legend-box{text-align:left;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-muted);color:var(--text-secondary);padding:.85rem 1rem}.legend-box summary{cursor:pointer;color:var(--text-primary);font-weight:600}.legend-box ul{gap:.35rem;margin:.75rem 0 0;padding-left:1rem;display:grid}.history-list{gap:1rem;display:grid}.history-card{background:var(--bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);gap:.85rem;padding:1.15rem 1.25rem;display:grid}.history-card output{border-radius:var(--radius-sm);background:var(--bg-preview);border:1px solid var(--border-soft);word-break:break-word;padding:.85rem 1rem;font-family:ui-monospace,Consolas,monospace;display:block}.history-meta{color:var(--text-muted);flex-wrap:wrap;gap:.75rem;font-size:.88rem;display:flex}.history-badge{color:#9f2d2d;border-radius:var(--radius-pill);background:#f6e8e8;padding:.2rem .55rem;font-size:.72rem;font-weight:700}.history-edits{border-top:1px dashed var(--border-soft);padding-top:.75rem}.history-edits summary{cursor:pointer;color:var(--text-primary);font-weight:600}.history-edits ul{gap:.75rem;margin:.75rem 0 0;padding-left:0;list-style:none;display:grid}.history-edits li{background:var(--bg-muted);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:.75rem}.history-edits p{color:var(--text-secondary);margin:.25rem 0}.history-edit-meta{color:var(--text-muted);flex-wrap:wrap;gap:.75rem;margin-bottom:.35rem;font-size:.84rem;display:flex}.users-table-wrap{margin-top:.5rem}.users-table-wrap h2{margin:0 0 1rem;font-size:1.25rem}.users-table{border-collapse:collapse;background:var(--bg-surface);border-radius:var(--radius-md);width:100%;box-shadow:var(--shadow-card);overflow:hidden}.users-table th,.users-table td{border-bottom:1px solid var(--border-soft);text-align:left;padding:.85rem 1rem}.users-table th{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);background:var(--bg-muted);font-size:.78rem}.users-table tr:last-child td{border-bottom:0}.auth-shell{background:var(--bg-page);flex-direction:column;min-height:100vh;display:flex}.auth-header{background:var(--bg-header);color:var(--text-inverse);padding:.85rem 1.5rem}.auth-header .hub-logo{font-family:var(--font-serif);font-size:1.35rem}.auth-page{flex:1;place-items:center;padding:2rem 1rem;display:grid}.auth-card{background:var(--bg-surface);border-radius:var(--radius-md);width:min(100%,440px);box-shadow:var(--shadow-card);padding:2rem}.auth-card .page-title{margin-bottom:.35rem;font-size:2rem}.auth-card .form{margin-top:1.25rem}.setup-page{max-width:720px;margin:2rem auto;padding:0 1rem}.setup-page code{background:var(--bg-muted);border-radius:.25rem;padding:.15rem .35rem}@media (width<=960px){.hub-body{grid-template-columns:1fr}.hub-sidebar{position:static}.sidebar-nav{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}@media (width<=860px){.fields-grid{grid-template-columns:1fr}.hub-header{flex-wrap:wrap}}
