
:root{
  --ink:#161412;--muted:#4D4742;--line:#D2C8BA;--paper:#FFFFFF;--surface:#FFFFFF;
  --plum:#161412;--plum2:#2B2723;--pink:#ECC1E9;--pink2:#DDA6D7;--rose:#F3EDE4;
  --mauve:#E2D8C7;--lilac:#F8EDF7;--sage:#4F7B68;--sagebg:#EEF5F1;--amber:#A66B28;
  --amberbg:#FBF1E3;--danger:#A94C62;--dangerbg:#F9ECEF;--shadow:0 10px 30px rgba(22,20,18,.055);
  --radius:18px;--small:12px;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{min-height:100vh}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit}
.app{min-height:100vh;display:grid;grid-template-columns:250px 1fr;background:
radial-gradient(circle at 85% 0%,rgba(236,193,233,.10),transparent 28%),
linear-gradient(180deg,#FFFFFF 0%,#F8F4EE 100%)}
.sidebar{position:sticky;top:0;height:100vh;padding:26px 18px 18px;border-right:1px solid var(--line);background:rgba(255,255,255,.93);backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:18px;overflow:auto}
.logo-wrap{padding:0 12px 8px}.logo-wrap img{display:block;width:170px;max-width:100%;height:auto}
.workspace{display:flex;align-items:center;gap:10px;padding:10px 12px}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--plum);color:#fff;display:grid;place-items:center;font-weight:700;font-size:12px}
.workspace .meta{min-width:0;flex:1}.workspace strong{display:block;font-size:13px}.workspace span{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.nav-group-title{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#8B8178;padding:6px 12px 4px}
.nav{display:flex;flex-direction:column;gap:4px}
.nav a{appearance:none;border:0;background:transparent;width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:#302C28;text-align:left;text-decoration:none}
.nav a:hover{background:#F3EDE4}.nav a.active{background:linear-gradient(90deg,#F3EDE4,#FAF6F0);color:var(--plum);font-weight:700}
.nav svg{width:17px;height:17px;stroke:currentColor;flex:0 0 auto}
.badge{margin-left:auto;min-width:22px;height:22px;padding:0 7px;border-radius:11px;border:1px solid var(--line);display:grid;place-items:center;font-size:11px;background:#fff}
.side-card{margin-top:auto;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#F3EDE4);border-radius:16px;padding:14px}
.side-card .kicker{font-size:11px;color:var(--muted)}.side-card strong{display:block;font-family:Georgia,serif;font-size:16px;margin:6px 0 2px}.side-card p{font-size:12px;margin:0 0 12px;color:var(--muted)}
.profile{display:flex;align-items:center;gap:10px;padding:8px 6px 4px}.profile .photo{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#E2D8C7,#F8EDF7);display:grid;place-items:center;color:var(--plum);font-weight:700}.profile strong{font-size:12px;display:block}.profile span{font-size:11px;color:var(--muted)}.profile button{margin-left:auto;border:0;background:transparent;color:var(--muted);font-size:18px}
.main{min-width:0;padding:20px 28px 36px}
.topbar{display:flex;align-items:center;gap:14px;margin-bottom:18px}.global-search{flex:1;max-width:620px;position:relative}.global-search input{width:100%;height:42px;border:1px solid var(--line);background:#fff;border-radius:13px;padding:0 44px 0 42px;outline:none;box-shadow:0 8px 24px rgba(66,31,54,.04)}.global-search input:focus{border-color:#DDA6D7;box-shadow:0 0 0 3px rgba(236,193,233,.22)}.global-search .sicon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#7A716A}.kbd{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:11px;color:#7A716A;border:1px solid var(--line);border-radius:7px;padding:3px 6px;background:#fdfafb}
.spacer{flex:1}.icon-btn{width:40px;height:40px;border:1px solid transparent;background:transparent;border-radius:11px;display:grid;place-items:center;position:relative;color:#302C28}.icon-btn:hover{background:#fbf1f5}.notif-dot{position:absolute;right:4px;top:2px;width:16px;height:16px;border-radius:8px;background:var(--plum);color:#fff;font-size:9px;display:grid;place-items:center;border:2px solid #fff}
.btn{border:1px solid var(--line);border-radius:11px;background:#fff;color:#4d4349;padding:10px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}.btn:hover{background:#F8F4EE}.btn.primary{border-color:var(--plum);background:var(--plum);color:#fff;box-shadow:0 8px 20px rgba(79,21,61,.14)}.btn.primary:hover{background:var(--plum2)}.btn.danger{border-color:#f0ccd7;color:var(--danger)}.btn.small{padding:7px 10px;font-size:11px}.btn.ghost{border-color:transparent;background:transparent}
.hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}.hero h1{font-family:Georgia,"Times New Roman",serif;color:var(--plum);font-size:31px;line-height:1.05;margin:0 0 6px}.hero p{margin:0;color:var(--muted);font-size:14px}.hero-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.breadcrumb{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);margin-bottom:12px}.breadcrumb a{color:var(--plum);text-decoration:none}.breadcrumb span{color:#b1a5ac}
.card{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.section{padding:18px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.section-head h2{font-family:Georgia,serif;font-size:18px;margin:0;color:#161412}.section-head p,.section-head span{font-size:11px;color:var(--muted);margin:0}
.grid{display:grid;gap:12px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.76fr);gap:12px}.stack{display:flex;flex-direction:column;gap:12px}
.kpi{padding:15px 16px;min-height:105px;position:relative}.kpi .label{font-size:12px;color:#4f464c}.kpi .value{font-family:Georgia,serif;font-size:27px;margin-top:13px}.kpi .sub{font-size:11px;color:var(--muted);margin-top:7px}.kpi .icon{position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:13px;background:var(--mauve);display:grid;place-items:center;color:var(--plum)}
.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.info{border:1px solid var(--line);border-radius:13px;padding:12px;background:#FFFFFF}.info span{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.info strong{font-size:12px}.info.full{grid-column:1/-1}
.pill{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:10px;white-space:nowrap}.pill.plum{background:#F3EDE4;color:var(--plum)}.pill.pink{background:#F8EDF7;color:#8F3F73}.pill.green{background:var(--sagebg);color:var(--sage)}.pill.amber{background:var(--amberbg);color:var(--amber)}.pill.gray{background:#F3EDE4;color:#6B625B}.pill.red{background:var(--dangerbg);color:var(--danger)}.pill.blue{background:#F8EDF7;color:#7B5277}
.toolbar{padding:14px;margin-bottom:12px}.toolbar-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.searchbox{position:relative;flex:1;min-width:240px}.searchbox input{width:100%;height:40px;border:1px solid var(--line);border-radius:11px;padding:0 12px 0 34px;outline:none;background:#fff}.searchbox .sicon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#8a7f86}.select,input[type="date"],input[type="time"],input[type="text"],input[type="email"],input[type="number"],textarea{border:1px solid var(--line);border-radius:10px;background:#fff;color:#51474d}.select{height:40px;padding:0 12px}.filters{display:none;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding-top:12px;margin-top:12px;border-top:1px solid #EAE2D7}.filters.show{display:grid}
.table-card{overflow:hidden}.table-head{padding:16px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.table-head h2{font-family:Georgia,serif;font-size:18px;margin:0;color:#161412}.table-head span{font-size:11px;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;min-width:950px}th{text-align:left;color:#887e85;font-weight:600;padding:11px 10px;border-bottom:1px solid var(--line);white-space:nowrap;background:#FFFFFF}td{padding:11px 10px;border-bottom:1px solid #EAE2D7;vertical-align:middle}tbody tr:hover{background:#FCFAF7}
.entity{display:flex;align-items:center;gap:9px;min-width:150px}.entity-logo{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#1d1a1c;color:#fff;font-size:8px;font-weight:700;flex:0 0 auto}.entity strong{display:block;font-size:12px}.entity small{display:block;color:#958b91;margin-top:2px}
.actions{display:flex;gap:6px;justify-content:flex-end}.icon-action{width:32px;height:32px;border:1px solid var(--line);background:#fff;border-radius:9px;display:grid;place-items:center;color:#5b5057}.icon-action:hover{background:#fbf1f5}
.tabs{display:flex;gap:5px;background:#F3EDE4;border:1px solid #D2C8BA;border-radius:13px;padding:4px}.tabs button,.tabs a{flex:1;border:0;background:transparent;border-radius:9px;padding:10px;color:#756a71;font-size:11px;text-align:center;text-decoration:none}.tabs button.active,.tabs a.active{background:#fff;color:var(--plum);font-weight:700;box-shadow:0 4px 12px rgba(79,21,61,.06)}
.tab-panel{display:none}.tab-panel.active{display:block}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:11px;color:#6d6269}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}.field input,.field select{height:40px}.field textarea{min-height:110px;resize:vertical}.helper{font-size:10px;color:var(--muted);line-height:1.4}
.note{border:1px solid #eadce4;background:linear-gradient(180deg,#FCFAF7,#F8EDF7);border-radius:15px;padding:14px;font-size:12px;line-height:1.55}
.callout{border:1px solid #eadce4;background:#fcf5f8;border-radius:14px;padding:14px}.callout.warn{background:#FBF1E3;border-color:#E3C9A7}.callout.success{background:#EEF5F1;border-color:#CFE1D7}.callout.danger{background:#F9ECEF;border-color:#E7C7D0}.callout strong{display:block;font-size:12px;margin-bottom:4px}.callout p{font-size:11px;color:var(--muted);margin:0;line-height:1.5}
.timeline{display:flex;flex-direction:column;gap:14px}.event{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:flex-start;position:relative}.event:not(:last-child)::after{content:"";position:absolute;left:16px;top:35px;bottom:-14px;width:1px;background:#eadfe6}.event-icon{width:34px;height:34px;border-radius:11px;background:var(--mauve);display:grid;place-items:center;color:var(--plum);z-index:1}.event strong{display:block;font-size:12px}.event span{display:block;font-size:10px;color:var(--muted);margin-top:3px;line-height:1.45}.event time{font-size:10px;color:#8d8289;white-space:nowrap}
.mail{border:1px solid #EAE2D7;background:#fff;border-radius:13px;padding:13px}.mail .mail-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.mail .mail-head strong{font-size:12px}.mail .mail-head span{font-size:10px;color:var(--muted)}.mail .subject{font-weight:700;font-size:12px;margin-bottom:8px}.mail .body{font-size:11px;color:#4D4742;line-height:1.55}
.progress{display:flex;align-items:center;gap:0;margin-bottom:18px}.step{flex:1;display:flex;align-items:center;gap:8px;color:#8B8178;font-size:10px}.step:after{content:"";height:1px;background:#eadfe6;flex:1}.step:last-child:after{display:none}.step i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#F3EDE4;color:#756a71;font-style:normal;font-size:10px}.step.active{color:var(--plum);font-weight:700}.step.active i,.step.done i{background:var(--plum);color:#fff}.step.done{color:var(--sage)}
.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-head{font-size:10px;color:var(--muted);text-align:center;padding:6px}.day{min-height:96px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:8px;font-size:10px}.day strong{font-size:11px}.day.muted{opacity:.45}.event-chip{display:block;margin-top:7px;padding:6px 7px;border-radius:8px;background:#F3EDE4;color:var(--plum);font-size:9px}.event-chip.pink{background:#F8EDF7;color:#8F3F73}.event-chip.green{background:var(--sagebg);color:var(--sage)}
.mini-list{display:flex;flex-direction:column}.mini-row{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid #EAE2D7}.mini-row:last-child{border-bottom:0}.mini-row strong{font-size:11px}.mini-row span{font-size:10px;color:var(--muted)}
.empty{padding:42px 20px;text-align:center;color:var(--muted)}.empty h3{font-family:Georgia,serif;color:var(--plum);margin:0 0 6px;font-size:20px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;background:#2a2026;color:#fff;padding:10px 14px;border-radius:12px;font-size:12px;box-shadow:0 12px 30px rgba(0,0,0,.16);transition:.2s ease;z-index:99}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.modal-backdrop{position:fixed;inset:0;background:rgba(34,23,29,.28);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:20px;z-index:90}.modal-backdrop.open{display:flex}.modal{width:min(640px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;border:1px solid var(--line);box-shadow:0 30px 80px rgba(63,23,48,.22);padding:20px}.modal h3{font-family:Georgia,serif;color:var(--plum);font-size:24px;margin:0 0 6px}.modal p{margin:0 0 18px;color:var(--muted);font-size:13px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.auth-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:linear-gradient(135deg,#fffdfb,#fbf4f7)}.auth-brand{padding:48px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 20% 10%,rgba(230,139,184,.18),transparent 32%)}.auth-brand img{width:190px}.auth-brand h1{font-family:Georgia,serif;color:var(--plum);font-size:46px;line-height:1.05;max-width:550px;margin:0}.auth-brand p{color:var(--muted);max-width:520px;line-height:1.55}.auth-panel{display:grid;place-items:center;padding:30px}.auth-card{width:min(460px,100%);padding:28px}.auth-card h2{font-family:Georgia,serif;color:var(--plum);font-size:28px;margin:0 0 6px}.auth-card>p{font-size:12px;color:var(--muted);margin:0 0 20px}
@media(max-width:1180px){.app{grid-template-columns:220px 1fr}.sidebar{width:220px}.grid.five{grid-template-columns:repeat(3,1fr)}.grid.four{grid-template-columns:repeat(2,1fr)}.layout{grid-template-columns:1fr}.filters{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.app{display:block}.sidebar{position:relative;width:auto;height:auto;border-right:0;border-bottom:1px solid var(--line)}.nav{display:grid;grid-template-columns:repeat(3,1fr)}.nav-group-title{display:none}.side-card,.profile,.workspace{display:none}.main{padding:18px}.topbar{flex-wrap:wrap}.global-search{order:3;max-width:none;flex-basis:100%}.hero{flex-direction:column}.hero-actions{justify-content:flex-start}.grid.three,.grid.four,.grid.five{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr 1fr}.auth-page{grid-template-columns:1fr}.auth-brand{min-height:38vh;padding:28px}.auth-brand h1{font-size:36px}}
@media(max-width:520px){.nav{grid-template-columns:1fr 1fr}.grid.two,.grid.three,.grid.four,.grid.five,.info-grid,.form-grid,.filters{grid-template-columns:1fr}.hero-actions{width:100%}.hero-actions .btn{flex:1}.auth-brand{min-height:auto}}

/* Client palette V3 */
.btn.primary{
  background:var(--plum);
  border-color:var(--plum);
  color:#fff;
  box-shadow:0 8px 20px rgba(22,20,18,.10);
}
.btn.primary:hover{background:var(--plum2)}
.nav a.active{
  background:var(--mauve);
  color:var(--ink);
}
.nav a.active svg{color:var(--ink)}
.kpi .icon,.event-icon{background:var(--mauve);color:var(--ink)}
.side-card{background:var(--mauve);border-color:var(--line)}
.pill.plum{background:var(--mauve);color:var(--ink)}
.pill.pink{background:var(--lilac);color:#7B5277}
.tabs{background:var(--beige-soft, #F3EDE4)}
.tabs button.active,.tabs a.active{color:var(--ink)}
.hero h1,.section-head h2,.table-head h2,.auth-brand h1,.auth-card h2,.empty h3{color:var(--ink)}
.breadcrumb a{color:var(--ink)}
