:root{--espresso:#241C15;--coffee:#33281E;--gold:#B8935A;--gold2:#C7A16B;--cream:#F7F4EF;--white:#FFFDF9;--line:#E4DDD3;--muted:#81776D;--ink:#18130F;--danger:#9B5C55;--sans:'Archivo',sans-serif;--serif:'Fraunces',serif}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,#b8935a1f,transparent 35%),var(--espresso)}
.login-card{width:min(430px,100%);background:var(--white);padding:34px;border-radius:14px;box-shadow:0 28px 80px #0003}.login-brand{display:flex;gap:10px;align-items:center;margin-bottom:28px}.login-brand span,.logo span{width:38px;height:38px;border:1px solid #b8935a88;border-radius:50%;display:grid;place-items:center;font-family:var(--serif)}.login-brand div{font-weight:500}.login-brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:.2em;text-transform:uppercase;margin-top:2px}.eyebrow{font-size:9px;letter-spacing:.22em;color:var(--gold);font-weight:600}.login-card h1{font-size:30px;font-weight:300;margin:9px 0 4px}.login-card p{color:var(--muted);margin:0 0 18px}.login-card label,.modal-box label{display:block;font-size:11px;color:var(--muted);margin:12px 0}.login-card input,.modal-box input,.modal-box select,.modal-box textarea{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid var(--line);border-radius:7px;background:#fffefa;color:var(--ink)}.primary{border:0;border-radius:7px;padding:11px 15px;background:var(--gold);color:var(--espresso);font-weight:600;font-size:12px}.primary:hover{background:var(--gold2)}.primary.full{width:100%;margin-top:8px}.forgot-link{display:block;text-align:center;margin-top:12px;color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:3px}.error{color:var(--danger);font-size:11px;min-height:18px;margin-top:8px}
.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--espresso);color:#f5eee6;padding:24px 18px;display:flex;flex-direction:column}.logo{display:flex;gap:10px;align-items:center;padding:0 8px 22px;border-bottom:1px solid #ffffff18}.logo div{font-weight:500}.logo small,.user small{display:block;color:#b8aa9b;font-size:9px;letter-spacing:.18em;text-transform:uppercase;margin-top:2px}.sidebar nav{padding-top:20px;display:grid;gap:6px}.nav{border:0;background:none;color:#cfc5b9;text-align:left;padding:11px 12px;border-radius:8px}.nav.active,.nav:hover{background:#b8935a22;color:#f8ecdc}.user{margin-top:auto;border-top:1px solid #ffffff18;padding:18px 8px 0}.user b{font-size:12px}.logout{margin-top:10px;width:100%;padding:9px;border:1px solid #ffffff22;background:transparent;color:#cfc5b9;border-radius:7px}.topbar{margin-left:250px;height:84px;background:var(--white);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.topbar small{color:var(--gold);font-size:9px;letter-spacing:.22em;font-weight:600}.topbar h1{margin:4px 0 0;font-size:25px;font-weight:400}.menu{display:none;border:0;background:none;font-size:22px}#content{margin-left:250px;padding:28px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat,.panel,.lead{background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 32px #241c1508}.stat{padding:19px}.stat small{color:var(--muted);text-transform:uppercase;letter-spacing:.15em;font-size:9px}.stat strong{display:block;font-size:30px;font-weight:300;margin-top:6px}.panel{margin-top:16px}.panel-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.panel-head b{font-size:14px}.panel-head span{font-size:11px;color:var(--muted)}table{width:100%;border-collapse:collapse}th,td{padding:12px 16px;text-align:left;border-bottom:1px solid #eee8df;font-size:12px}th{font-size:9px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}.badge{padding:5px 8px;border-radius:999px;font-size:10px;background:#efeae3}.badge.ok{background:#e7efe8;color:#44634d}.view{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}.view h2{margin:0;font-size:23px;font-weight:400}.view p{margin:4px 0 0;color:var(--muted)}.leads{display:grid;gap:10px}.lead{padding:15px;display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:12px;align-items:center}.lead b{font-size:12px}.lead small{display:block;color:var(--muted);margin-top:3px}.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;overflow:auto}.col{background:#eee8df;padding:10px;border-radius:10px;min-width:220px}.col h3{font-size:11px;margin:4px 3px 10px}.card{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:12px;margin-bottom:8px;font-size:11px}.modal{position:fixed;inset:0;background:#140f0a80;display:none;align-items:center;justify-content:center;padding:18px;z-index:20}.modal.open{display:flex}.modal-box{width:min(760px,100%);max-height:90vh;overflow:auto;background:var(--white);padding:24px;border-radius:14px;position:relative}.close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:24px;color:var(--muted)}.modal-box h2{font-size:26px;font-weight:400;margin:8px 0 18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-box textarea{min-height:100px}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.secondary{border:1px solid var(--line);border-radius:7px;padding:11px 15px;background:transparent;color:var(--ink)}
@media(max-width:900px){.sidebar{left:-270px;transition:.2s;z-index:30}.sidebar.open{left:0}.topbar{margin-left:0;padding:0 16px}.menu{display:block}#content{margin-left:0;padding:18px}.stats{grid-template-columns:1fr 1fr}.lead{grid-template-columns:1fr auto}.lead>:nth-child(3){display:none}.kanban{grid-template-columns:repeat(4,230px)}}@media(max-width:520px){.stats{grid-template-columns:1fr 1fr}.topbar h1{font-size:20px}.topbar .primary{padding:10px}.form-grid{grid-template-columns:1fr}.lead{grid-template-columns:1fr}.lead>:last-child{display:none}}
