:root{
  --bg:#f5f3ee;--bg-card:#ffffff;--bg-soft:#ebe7df;
  --ink:#1a1a1a;--ink-soft:#4a4a4a;--ink-muted:#8a857c;
  --accent:#7a3b2e;--accent-soft:#a85a4a;--gold:#b8995a;
  --line:#d8d3c8;--green:#5a7a4a;--amber:#c89a4a;--red:#a64132;
  --radius:12px;--mono:"JetBrains Mono",monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:"Manrope",-apple-system,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink);
  font-size:14px;line-height:1.55;min-height:100vh;
}
h1,h2,h3,.serif{font-family:"Cormorant Garamond",Georgia,serif}
.app-shell{display:flex;min-height:100vh}

.sidebar{
  width:260px;background:var(--ink);color:#e8e6e1;flex-shrink:0;
  padding:24px 16px;position:sticky;top:0;height:100vh;overflow-y:auto;
}
.sidebar .brand{font-family:"Cormorant Garamond",serif;font-size:19px;font-weight:600;color:#fff;margin-bottom:28px;padding:0 8px}
.sidebar .brand small{display:block;font-family:"Manrope",sans-serif;font-size:11px;color:#a39d8f;font-weight:400;margin-top:2px}
.nav-section{margin-bottom:18px}
.nav-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7d786b;padding:0 10px;margin-bottom:6px}
.nav-item{
  display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer;
  font-size:13px;color:#cfcabe;transition:.15s;border-left:2px solid transparent;
}
.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}
.nav-item.active{background:rgba(255,255,255,.08);color:#fff;border-left-color:var(--gold)}
.nav-icon{width:16px;text-align:center;opacity:.85}

.main{flex:1;padding:32px 40px;max-width:980px}
.card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:28px 32px;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.card-sm{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:0 1px 4px rgba(0,0,0,.06)}

.btn{
  display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:8px;
  font-size:13px;font-weight:700;cursor:pointer;border:none;font-family:inherit;
  transition:.15s;letter-spacing:-.01em;
}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{opacity:.88}
.btn-ghost{background:transparent;border:1.5px solid var(--line);color:var(--ink-soft)}
.btn-ghost:hover{border-color:var(--ink-muted);background:var(--bg-soft)}
.btn-gold{background:var(--gold);color:#fff}
.btn-gold:hover{opacity:.88}

.stat-tile{background:var(--bg-soft);border-radius:var(--radius);padding:14px 16px;text-align:center}
.stat-tile .val{font-size:24px;font-weight:700;color:var(--ink);font-family:"Cormorant Garamond",serif}
.stat-tile .lbl{font-size:11px;color:var(--ink-muted);margin-top:2px}

.progress-bar{height:6px;background:var(--bg-soft);border-radius:3px;overflow:hidden}
.progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .4s ease}

.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700}

input[type=text],input[type=password],input[type=file],textarea,select{
  width:100%;padding:10px 13px;border:1.5px solid var(--line);border-radius:8px;
  font-size:13px;font-family:inherit;color:var(--ink);background:#fff;
}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}
label{font-size:12px;font-weight:700;color:var(--ink-soft);display:block;margin-bottom:5px}

table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;padding:8px 10px;color:var(--ink-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line)}
td{padding:10px 10px;border-bottom:1px solid var(--line)}

@media(max-width:860px){.sidebar{display:none}.main{padding:18px}.card{padding:18px 20px}}
