:root{--ink:#182320;--muted:#71807a;--line:#e3eae6;--green:#166b51;--green-dark:#0f5540;--canvas:#f5f7f5;--danger:#b64d42;--shadow:0 12px 40px rgba(16,48,38,.10)}
[hidden]{display:none!important}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}a{color:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{width:238px;position:fixed;inset:0 auto 0 0;z-index:4;display:flex;flex-direction:column;padding:27px 18px 20px;background:#123d31;color:#fff}.brand,.auth-brand{display:flex;align-items:center;gap:11px;font-weight:750;font-size:21px;letter-spacing:-.4px}.brand{padding:0 9px 34px}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#d7f1e4;color:#17664e;font-size:18px}.nav-label{margin:0 12px 11px;font-size:9px;font-weight:800;letter-spacing:1.1px;color:#8fb4a8}.nav-item{width:100%;border:0;border-radius:9px;background:transparent;color:#bbd0c9;display:flex;align-items:center;gap:12px;padding:11px 12px;margin:2px 0;font-size:13px;text-align:left}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.11);color:#fff}.nav-icon{width:20px;text-align:center;font-size:18px}.sidebar-bottom{margin-top:auto;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:15px 8px 0;border-top:1px solid rgba(255,255,255,.12)}.sidebar-bottom strong,.sidebar-bottom small{display:block}.sidebar-bottom strong{font-size:12px}.sidebar-bottom small{margin-top:3px;color:#96b8ad;font-size:10px}.sidebar-bottom button{border:0;background:transparent;color:#a9c4bb;font-size:17px}.account-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e5b57d;color:#57361d;font-size:10px;font-weight:800}.main-content{min-width:0;flex:1;margin-left:238px}.topbar{height:68px;display:flex;align-items:center;gap:12px;padding:0 35px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);position:sticky;top:0;z-index:3}.search{width:min(510px,58vw);display:flex;align-items:center;gap:10px;color:#78847f;padding:9px 12px;border:1px solid #e2e8e4;border-radius:9px;font-size:12px}.search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink)}.search kbd{margin-left:auto;flex:none;padding:3px 6px;border:1px solid #dfe5e1;border-radius:5px;background:#f6f8f6;font-size:9px}.connection-status{margin-left:auto;display:flex;align-items:center;gap:6px;color:#64766d;font-size:9px}.connection-status i{width:6px;height:6px;border-radius:50%;background:#4eaa7c}.primary-button,.outline-button{border-radius:9px;padding:10px 15px;font-size:11px;font-weight:750}.primary-button{border:0;background:var(--green);color:#fff}.primary-button:hover{background:var(--green-dark)}.primary-button.full{width:100%;padding:12px}.outline-button{border:1px solid #dbe4df;background:#fff;color:#35564a}.danger-button{border:1px solid #efd3cf;background:#fff7f6;color:var(--danger);border-radius:8px;padding:8px 11px;font-size:10px;font-weight:700}.content-wrap{width:min(1220px,100%);margin:auto;padding:32px 35px 50px}.welcome-row{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:25px}.eyebrow{margin:0 0 8px;color:#83918b;font-size:9px;font-weight:800;letter-spacing:1.1px}.welcome-row h1,.detail-title h1{margin:0;font:700 26px/1.2 Georgia,serif;letter-spacing:-.5px}.welcome-row p:not(.eyebrow){margin:7px 0 0;color:var(--muted);font-size:12px}.heading-actions{display:flex;align-items:center;gap:9px}.scope-switch{display:flex;padding:3px;border:1px solid var(--line);border-radius:10px;background:#fff}.scope-switch button{border:0;border-radius:7px;background:transparent;color:#69766f;padding:7px 11px;font-size:10px}.scope-switch button.selected{background:#e9f3ee;color:var(--green);font-weight:750}.panel,.metric-card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 8px rgba(32,64,52,.025)}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px}.metric-card{padding:17px}.metric-heading{display:flex;align-items:center;justify-content:space-between}.metric-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;font-weight:700}.metric-icon.mint{background:#e2f2ea;color:#207256}.metric-icon.blue{background:#e8eef8;color:#3c5f91}.metric-icon.amber{background:#fbf0df;color:#9a6b25}.metric-icon.lilac{background:#eee8f7;color:#735493}.metric-card>strong{display:block;margin-top:15px;font-size:22px}.metric-card p{margin:4px 0 0;color:var(--muted);font-size:10px}.trend{padding:4px 6px;border-radius:5px;background:#f2f5f3;color:#79857f;font-size:8px}.trend.positive{background:#eaf5ef;color:#28765b}.trend.warning{background:#fff1e4;color:#a66829}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,.85fr);gap:16px}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px}.panel-heading h2,.section-title h2{margin:0;font:700 15px/1.2 Georgia,serif}.panel-heading p{margin:5px 0 0;color:var(--muted);font-size:9px}.text-button,.panel-heading button{border:0;background:transparent;color:var(--green);font-size:9px;font-weight:750}.activity-row{display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:12px;padding:13px 20px;border-top:1px solid #edf1ee}.activity-icon,.client-logo{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#edf3ef;color:#2f6755;font-size:9px;font-weight:800}.activity-row strong,.activity-row span{display:block}.activity-row strong{font-size:10px}.activity-row span{margin-top:4px;color:var(--muted);font-size:8px}.task{display:grid;grid-template-columns:18px 1fr auto;align-items:start;gap:9px;padding:12px 18px;border-top:1px solid #edf1ee}.task input,.followup-check{appearance:none;width:16px;height:16px;margin:0;border:1.5px solid #bcc8c2;border-radius:4px}.task input:checked,.followup-check:checked{background:var(--green);box-shadow:inset 0 0 0 3px #fff}.task strong,.task small{display:block}.task strong{font-size:9px}.task small{margin-top:5px;color:var(--muted);font-size:8px}.all-tasks{width:calc(100% - 36px);margin:9px 18px 16px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--green);font-size:9px;font-weight:750}.empty-state{padding:45px 22px;text-align:center}.empty-state span{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 12px;border-radius:12px;background:#e9f3ee;color:var(--green);font-size:20px}.empty-state h3{margin:0;font:700 16px Georgia,serif}.empty-state p{max-width:390px;margin:7px auto 16px;color:var(--muted);font-size:10px}.table-panel{overflow-x:auto}.table-toolbar{min-width:800px;display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border-bottom:1px solid var(--line);font-size:10px}.table-toolbar span{color:var(--muted)}.data-table{min-width:800px}.table-head,.table-row{display:grid;align-items:center;gap:18px;padding:11px 20px}.table-head{background:#f8faf8;color:#89958f;font-size:8px;font-weight:800;letter-spacing:.45px}.table-row{width:100%;border:0;border-top:1px solid #edf1ee;background:#fff;color:var(--ink);text-align:left;font-size:9px}.table-row:hover{background:#fafcfb}.table-row b,.table-row small{display:block}.table-row b{font-size:10px}.table-row small{margin-top:4px;color:var(--muted);font-size:8px}.clients-table .table-head,.clients-table .table-row{grid-template-columns:1.25fr 1.35fr .7fr .65fr .5fr}.projects-table .table-head,.projects-table .table-row{grid-template-columns:1.25fr 1fr .65fr .7fr .55fr}.budgets-table .table-head,.budgets-table .table-row{grid-template-columns:.55fr 1.5fr .65fr .65fr .65fr .55fr}.name-cell{display:flex;align-items:center;gap:10px}.status-dot{display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#c6cfca}.status-dot.on{background:#55a37f}.area-pill{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:750}.area-pill.eva{background:#f5e8f0;color:#985c7e}.area-pill.rafa{background:#e7edf8;color:#526d9e}.area-pill.colaboración{background:#e6f2eb;color:#37765d}.progress-mini{display:flex;align-items:center;gap:7px}.progress-mini i{display:block;width:55px;height:5px;overflow:hidden;border-radius:8px;background:#edf1ee}.progress-mini i::after{content:"";display:block;width:var(--progress);height:100%;background:var(--green)}.followup-list{overflow:hidden}.followup-row{display:grid;grid-template-columns:20px 90px minmax(0,1fr) auto 60px;align-items:center;gap:14px;padding:14px 19px;border-top:1px solid var(--line)}.followup-date strong,.followup-date small,.followup-main strong,.followup-main small{display:block}.followup-date strong{color:var(--green);font-size:8px}.followup-date small,.followup-main small{margin-top:4px;color:var(--muted);font-size:8px}.followup-main strong{font-size:10px}.priority{font-size:8px}.priority.alta{color:#b95649}.priority.media{color:#a97730}.priority.baja{color:#4a8568}.budget-status{justify-self:start;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:700}.budget-status.aceptado{background:#e6f3eb;color:#37765b}.budget-status.pendiente{background:#fff0df;color:#9b6929}.budget-status.borrador{background:#eef1ef;color:#6c7771}.docs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 18px 18px}.doc-card{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:13px;border:1px solid var(--line);border-radius:9px;background:#fff;text-align:left}.doc-icon{width:35px;height:40px;display:grid;place-items:center;border-radius:5px;background:#e8eff9;color:#5273a2;font-size:7px;font-weight:800}.doc-card strong,.doc-card small{display:block}.doc-card strong{font-size:9px}.doc-card small{margin-top:5px;color:var(--muted);font-size:8px}.back-button{margin-bottom:14px;border:0;background:transparent;color:var(--green);font-size:10px;font-weight:750}.detail-hero{display:flex;align-items:center;gap:14px;padding:20px}.detail-logo{width:48px;height:48px;display:grid;place-items:center;flex:none;border-radius:13px;background:#e3f0e9;color:var(--green);font-weight:800}.detail-title{flex:1}.detail-title p{margin:7px 0 0;color:var(--muted);font-size:9px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:16px;margin-top:16px}.detail-main{overflow:hidden}.detail-section{padding:19px 21px}.detail-section+.detail-section{border-top:1px solid var(--line)}.section-title{display:flex;align-items:center;justify-content:space-between}.relationship-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:14px}.relationship-summary div{padding:12px;border-radius:9px;background:#f6f9f7}.relationship-summary strong,.relationship-summary span{display:block}.relationship-summary strong{font-size:15px}.relationship-summary span{margin-top:5px;color:var(--muted);font-size:8px}.timeline{margin-top:16px}.timeline article{display:grid;grid-template-columns:10px 1fr;gap:10px;padding-bottom:16px}.timeline-dot{width:7px;height:7px;margin-top:3px;border-radius:50%;background:var(--green)}.timeline strong,.timeline p,.timeline span{display:block}.timeline strong{font-size:9px}.timeline p{margin:4px 0;color:#5f6e67;font-size:8px}.timeline span{color:#95a099;font-size:7px}.detail-side{display:flex;flex-direction:column;gap:16px}.contact-card{padding:17px}.contact-card>strong,.contact-card>span,.contact-card>a{display:block}.contact-card>strong{margin-top:15px;font-size:10px}.contact-card>span,.contact-card>a{margin-top:6px;color:var(--muted);font-size:8px}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 18% 16%,#245d4c 0,#123d31 35%,#0b2b22 100%)}.auth-brand{position:absolute;top:28px;left:32px;color:#fff}.auth-card{width:min(430px,100%);padding:34px;border-radius:18px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.22)}.auth-card h1{margin:0;font:700 26px/1.2 Georgia,serif}.auth-card>p:not(.eyebrow){margin:9px 0 23px;color:var(--muted);font-size:11px;line-height:1.6}.auth-form{display:grid;gap:14px}.auth-form label,.field{display:grid;gap:6px;color:#4c5b55;font-size:9px;font-weight:700}.auth-form input,.field input,.field select,.field textarea{width:100%;border:1px solid #dce5e0;border-radius:9px;background:#fff;padding:10px 11px;color:var(--ink);outline:none;font-size:11px}.auth-form input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:#7ba692;box-shadow:0 0 0 3px #eaf3ee}.field textarea{min-height:82px;resize:vertical}.form-error{min-height:14px;margin:0;color:var(--danger);font-size:9px}.modal-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:20px;background:rgba(12,31,25,.48);backdrop-filter:blur(3px)}.modal{width:min(580px,100%);max-height:min(760px,90vh);overflow:auto;border-radius:15px;background:#fff;box-shadow:var(--shadow)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:22px 22px 14px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font:700 19px Georgia,serif}.modal-head button{border:0;background:transparent;color:#78857f;font-size:21px}.modal-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px 22px 23px}.field.full,.modal-actions{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:5px}.create-options{padding:8px 14px 16px}.create-options>button{width:100%;display:grid;grid-template-columns:34px 1fr 15px;align-items:center;gap:11px;padding:12px;border:0;border-top:1px solid var(--line);background:#fff;text-align:left}.create-options>button:hover{background:#f7faf8}.create-options>button>span{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:#e8f2ed;color:var(--green)}.create-options strong,.create-options small{display:block}.create-options strong{font-size:10px}.create-options small{margin-top:4px;color:var(--muted);font-size:8px}.toast-root{position:fixed;z-index:40;right:20px;bottom:20px;display:grid;gap:8px}.toast{min-width:260px;max-width:360px;padding:12px 14px;border:1px solid #cfe1d8;border-radius:10px;background:#f5fbf7;color:#2d5d49;box-shadow:var(--shadow);font-size:10px}.toast.error{border-color:#ebccc8;background:#fff7f6;color:#94483e}.loading{display:grid;place-items:center;min-height:300px;color:var(--muted);font-size:11px}.loading::before{content:"";width:24px;height:24px;margin-bottom:10px;border:3px solid #dce8e1;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:980px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.detail-grid{grid-template-columns:1fr}.detail-side{display:grid;grid-template-columns:1fr 1fr}.docs-grid{grid-template-columns:1fr}}
@media(max-width:720px){.sidebar{width:66px;padding-inline:9px}.brand span:last-child,.nav-label,.nav-item span:last-child,.sidebar-bottom>*:not(.account-avatar){display:none}.brand{padding-inline:7px}.nav-item{justify-content:center}.main-content{margin-left:66px}.topbar{padding:0 15px}.search{flex:1}.search kbd,.connection-status{display:none}.content-wrap{padding:24px 16px}.welcome-row{align-items:flex-start;flex-direction:column}.heading-actions{width:100%;flex-wrap:wrap}.scope-switch{width:100%;overflow:auto}.metrics-grid{grid-template-columns:1fr 1fr}.detail-side{grid-template-columns:1fr}.relationship-summary{grid-template-columns:1fr 1fr}.followup-row{grid-template-columns:20px 1fr auto}.followup-date,.followup-row>.priority{display:none}.modal-form{grid-template-columns:1fr}.field.full,.modal-actions{grid-column:1}.detail-hero{align-items:flex-start;flex-wrap:wrap}.clients-table .table-head,.clients-table .table-row{grid-template-columns:1.2fr 1fr .6fr .5fr}.clients-table .table-head>*:nth-child(2),.clients-table .table-row>*:nth-child(2){display:none}}
@media(max-width:470px){.metrics-grid{grid-template-columns:1fr}.welcome-row h1{font-size:23px}.scope-switch button{padding-inline:8px}.auth-card{padding:26px 21px}.auth-brand{left:22px}.detail-hero>.primary-button{width:100%}.relationship-summary{grid-template-columns:1fr 1fr}}
