/* BOSS V0.2.1 — visual reference: SerraSoc Booking v0.11.53 backoffice */
500;600;700&display=swap');

:root{font-family:Inter,Arial,sans-serif;color:#20262e;background:#f7f5f2;--bg:#f7f5f2;--paper:#fff;--ink:#20262e;--text:#3f4650;--muted:#8c94a3;--line:#e5e2de;--button:#566171;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}.logo{font-family:Inter,Arial,sans-serif;font-size:27px;letter-spacing:-1.6px;font-weight:700;line-height:1}.dot{color:#b7a18c}.loading{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--muted)}.loading .logo{color:var(--ink)}
/* Sign-in: public booking visual language */
.auth{min-height:100vh;display:grid;grid-template-columns:minmax(340px,1fr) minmax(340px,1fr)}.auth-brand{padding:clamp(32px,5vw,72px);display:flex;flex-direction:column;justify-content:space-between;background:#eeeae5;color:var(--ink)}.auth-brand h1{font-family:PPEditorial,Georgia,serif;font-weight:200;font-size:clamp(48px,6vw,88px);line-height:1.02;letter-spacing:-.03em;max-width:650px;margin:30px 0}.auth-brand footer{font-size:11px;line-height:1.9;color:#757d89;letter-spacing:.08em}.auth-form{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,7vw,90px);max-width:700px;width:100%;margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:#9098a2;font-weight:600}.auth-form h2{font-family:PPEditorial,Georgia,serif;font-weight:200;font-size:clamp(38px,4.1vw,64px);letter-spacing:-.02em;line-height:1.05;margin:20px 0 10px}.muted{color:#7b8492;line-height:1.65}.form{display:flex;flex-direction:column;gap:18px;margin-top:25px}.field{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600;color:#596272}.field input,.field select{background:#fff;border:1px solid #d6d0c9;color:#20262e;border-radius:6px;padding:14px;outline:none;min-width:0;min-height:48px}.field input:focus,.field select:focus{border-color:#b99774;box-shadow:0 0 0 2px rgba(185,151,116,.11)}.primary{border:0;border-radius:7px;background:#566171;color:#fff;font-weight:600;padding:14px 22px;min-height:48px}.primary:hover{background:#404c5a}.secondary{border:1px solid #d9d5d0;background:#fff;color:#596272;border-radius:7px;padding:11px 15px}.secondary:hover{border-color:#b9a38d}.error{background:#fff5f3;border:1px solid #d8aaa5;border-radius:6px;padding:12px 15px;color:#a04545;font-size:13px}.success{background:#edf4ed;border:1px solid #a9c9b3;border-radius:6px;padding:12px;color:#366344}.note{padding:15px 16px;border:1px solid #e5e2de;border-radius:6px;background:#f7f5f2;font-size:12px;color:#707885;line-height:1.6}
/* Backoffice: SerraSoc's dark sidebar and bright paper workspace */
.app-shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{background:#171b20;color:#fff;display:flex;flex-direction:column;padding:24px 16px;gap:18px;position:sticky;top:0;height:100vh}.sidebar .logo{padding:0 6px 24px;border-bottom:1px solid rgba(255,255,255,.12);font-size:27px;color:#fff}.sidebar .dot{color:#c6b5a6}.nav{display:flex;flex-direction:column;gap:4px}.nav button{background:transparent;border:0;text-align:left;padding:11px 12px;border-radius:7px;color:#cbd0d6;font-weight:400;font-size:14px;width:100%;min-height:42px}.nav button:hover,.nav button.active{background:#fff;color:#171b20}.sidebar-foot{margin-top:auto;font-size:11px;color:#9fa6af}.sidebar-foot button{width:100%;margin-top:14px;background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}.main{padding:34px clamp(22px,5vw,64px) 70px;max-width:1500px;width:100%;margin:0 auto}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid #e4e1dd;padding-bottom:20px}.topbar-right{text-align:right;font-size:12px;color:#8c94a3}.topbar-right strong{display:block;color:#3f4650;font-size:13px;margin-bottom:5px;font-weight:600}.topbar-right .secondary{padding:8px 13px;margin-left:8px}h1,h2,.tile h3,.stat b{font-family:PPEditorial,Georgia,serif;font-weight:200;letter-spacing:-.02em}h1{font-size:clamp(40px,4.5vw,66px);line-height:1.04;margin:34px 0 12px}h2{font-size:31px}.hero-text{color:#7b8492;max-width:790px;line-height:1.7;font-size:14px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px}.tile{min-height:208px;border:1px solid #e5e2de;border-radius:0;padding:24px;display:flex;flex-direction:column;justify-content:space-between;background:#fff}.tile.enabled{background:#f4f1ed;border-color:#ddd4ca;color:#20262e}.tile h3{font-size:31px;margin:0}.tile p{font-size:12px;line-height:1.65;color:#757d89}.pill{align-self:flex-start;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:#8b9197}.tile.disabled{opacity:.57}.panel{border:1px solid #e5e2de;background:#fff;padding:26px;margin-top:26px}.panel h2{margin:0 0 18px;font-size:32px}.stat-row{display:flex;gap:20px;flex-wrap:wrap}.stat{flex:1;min-width:160px;border-right:1px solid #ebe8e4;padding:10px 15px}.stat b{font-size:36px;display:block;margin-top:10px}.stat small{color:#8b9197}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:650px}th,td{text-align:left;border-bottom:1px solid #ece9e5;padding:15px 12px;font-size:12px}th{color:#8b9197;font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:600}.status{font-size:11px;text-transform:uppercase;font-weight:600}.status.active{color:#477e5a}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.checkline{display:flex;gap:10px;align-items:center;font-size:12px;margin:18px 0;color:#596272}.checkline input{accent-color:#566171;width:16px;height:16px}.hidden{display:none!important}
@media(max-width:950px){.auth{grid-template-columns:1fr}.auth-brand{min-height:240px;gap:25px;padding:30px}.auth-brand h1{font-size:58px;margin:10px 0}.auth-form{padding:55px 30px}.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;padding:14px 20px;gap:12px}.sidebar .logo{padding:0 0 12px;font-size:23px}.nav{flex-direction:row;overflow:auto}.nav button{white-space:nowrap;width:auto}.sidebar-foot{display:none}.main{padding:28px 20px 60px}.cards{grid-template-columns:1fr 1fr}}@media(max-width:600px){.cards,.form-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.auth-brand h1{font-size:50px}.panel{padding:18px}.tile{min-height:160px}.auth-form h2{font-size:43px}h1{font-size:43px}.auth-brand{min-height:225px}}

/* BOSS Gestión CRM 0.3.0 */
.client-toolbar,.client-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:12px 0 20px}.client-toolbar form{display:flex;gap:8px;flex:1;min-width:230px}.client-toolbar input{flex:1;min-width:130px;padding:13px;border:1px solid #ddd;background:#fff;font:inherit}.client-actions{margin-top:22px}.client-actions button{width:auto}.client-toolbar button{white-space:nowrap}.form textarea{font:inherit;min-height:90px;padding:12px;border:1px solid #ddd;background:#fff;width:100%;box-sizing:border-box}.table-wrap .secondary{padding:9px 12px;font-size:12px}.client-actions span{color:#6e6e6e;font-size:13px}@media(max-width:700px){.client-toolbar form{width:100%}.client-toolbar{align-items:stretch}.client-toolbar>.primary{width:100%}}

/* BOSS 0.4.1: estructura de tarjetas y flujo Fluxe con estética SerraSoc */
.management-heading h1{font-family:Inter,Arial,sans-serif;font-size:clamp(28px,3vw,40px);font-weight:500;letter-spacing:-.04em;margin-bottom:10px}.management-heading{margin:32px 0 28px}.mgmt-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0}.mgmt-toolbar .mgmt-search{width:min(560px,100%);background:#fff;border:1px solid #e7e2de;padding:15px 18px;min-height:50px;font:inherit}.mgmt-toolbar form.mgmt-search{display:flex;align-items:center;padding:0 0 0 14px}.mgmt-toolbar form.mgmt-search input{border:0;flex:1;min-width:0;outline:none;padding:14px 4px;background:transparent}.mgmt-toolbar button{white-space:nowrap}.mgmt-tabs{display:inline-flex;gap:4px;background:#eae8e6;padding:5px;margin-bottom:24px}.mgmt-tabs button{border:0;background:transparent;padding:11px 16px;color:#626873;cursor:pointer;font-weight:600}.mgmt-tabs button.selected{background:#fff;color:#20262e;box-shadow:0 1px 6px #0000000d}.mgmt-tabs small{background:#eeecea;padding:3px 7px;font-size:11px;margin-left:5px}.mgmt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.mgmt-card{background:#fff;padding:25px 24px 18px;min-height:225px;display:flex;flex-direction:column;border:1px solid #eeece9}.mgmt-card-head{display:flex;align-items:start;gap:14px}.mgmt-symbol{width:50px;height:50px;background:#d9ccc0;color:#4b4137;display:grid;place-items:center;font-size:27px;flex-shrink:0}.mgmt-card-title{flex:1;min-width:0}.mgmt-card-title h3{font:600 21px/1.2 Inter,Arial,sans-serif;letter-spacing:-.035em;margin:3px 0 6px;overflow-wrap:anywhere}.mgmt-card-title small{color:#818a98;font-size:12px}.mgmt-icons{display:flex;gap:6px;flex-shrink:0}.mgmt-icons button{border:0;background:#f2f1f0;color:#4d5460;width:32px;height:32px;font-size:18px;cursor:pointer}.mgmt-icons button:hover{background:#e5ded8}.mgmt-contact{color:#7e8793;font-size:13px;line-height:2;margin:24px 0 auto}.mgmt-card-bottom{border-top:1px solid #ece9e5;padding-top:15px;margin-top:auto;color:#707987;font-size:12px}.mgmt-status{display:inline-block;background:#f2eee8;color:#76604c;padding:5px 9px;font-size:10px;text-transform:uppercase;font-weight:600;letter-spacing:.04em}.mgmt-progress{margin:30px 0 20px}.mgmt-progress-caption{display:flex;justify-content:space-between;font-size:12px;color:#717986;margin-bottom:9px}.mgmt-progress-caption b{color:#20262e}.mgmt-track{height:9px;background:#eae8e6;overflow:hidden}.mgmt-track span{display:block;background:#c5b39d;height:100%}.mgmt-progress small{display:block;font-size:11px;color:#9aa1ac;margin-top:8px}.mgmt-detail-top{display:flex;justify-content:space-between;align-items:center;margin:26px 0}.mgmt-back{border:0;background:none;color:#666f7d;cursor:pointer}.mgmt-project-hero{background:#4e4039;color:#fff;padding:28px 32px;display:flex;gap:24px;justify-content:space-between;flex-wrap:wrap}.mgmt-project-hero h1{font:400 34px/1.15 Inter,sans-serif;margin:10px 0}.mgmt-project-hero small{color:#d0c5bd}.mgmt-project-hero .mgmt-progress{flex-basis:100%;margin:20px 0 0}.mgmt-project-hero .mgmt-progress-caption,.mgmt-project-hero .mgmt-progress-caption b,.mgmt-project-hero .mgmt-progress small{color:#f1ebe5}.mgmt-project-hero .mgmt-track{background:#e0d8d1}.mgmt-due{background:#fff;color:#313238;padding:14px 22px;font-size:12px;align-self:start}.mgmt-due b{display:block;margin-top:5px}.mgmt-section-label{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:28px 0 18px}.mgmt-section-label h2{font:500 22px Inter,sans-serif;margin:0}.mgmt-section-label p{margin:6px 0 0}.mgmt-phase-list{display:grid;gap:16px;margin-bottom:20px}.mgmt-phase{background:#fff;padding:23px 24px}.mgmt-phase-heading{display:flex;justify-content:space-between;align-items:start}.mgmt-phase-heading h3{margin:0;font:600 19px Inter,sans-serif}.mgmt-phase-heading small{color:#959ba4}.mgmt-phase .mgmt-progress{margin:16px 0 20px}.mgmt-phase .mgmt-progress-caption{display:none}.mgmt-phase .mgmt-task-list{display:grid;gap:7px}.mgmt-task{display:flex;align-items:center;gap:14px;background:#f6f5f4;padding:12px 14px}.mgmt-task-mark{font-size:22px;color:#95877b}.mgmt-task-mark.done{color:#3ca969}.mgmt-task-main{flex:1;min-width:0}.mgmt-task-main strong{display:block;font-size:13px;font-weight:500}.mgmt-task-main small{color:#9199a4;font-size:11px}.task-done{text-decoration:line-through;color:#979ba2}.mgmt-add-task{border:0;background:none;padding:17px 0 0;color:#695747;font-weight:600;cursor:pointer}.mgmt-overlay{position:fixed;inset:0;background:#1b1d22aa;z-index:100;display:grid;place-items:center;padding:22px}.mgmt-modal{background:#fff;width:min(530px,100%);max-height:90vh;overflow:auto;padding:32px}.mgmt-modal h2{font:400 34px PPEditorial,Georgia,serif;margin:0}.mgmt-modal .form{margin-top:18px;gap:12px}.mgmt-modal .field textarea{width:100%;padding:12px;border:1px solid #ddd}.mgmt-modal .client-actions{margin-bottom:0}@media(max-width:850px){.mgmt-grid{grid-template-columns:1fr}.mgmt-toolbar{flex-wrap:wrap}.mgmt-toolbar .mgmt-search{width:100%}.mgmt-project-hero{padding:23px}.mgmt-section-label{align-items:start;flex-direction:column}}

/* V0.4.2: ordenación de fases y tareas */
.mgmt-phase[data-sort-phase]:not([data-sort-phase="0"]),.mgmt-task[data-sort-task]{cursor:grab}
.sorting-active{opacity:.55;cursor:grabbing!important}
.sorting-over{outline:2px dashed #8e8172;outline-offset:3px}
@media (pointer:coarse){.mgmt-phase[data-sort-phase],.mgmt-task[data-sort-task]{cursor:default}}
/* BOSS 0.8: unified workspace. */
:root{--ink:#29372f;--soft:#eeebe5;--accent:#365a4b}body{background:#f5f3ef}.sidebar{background:#263d34;color:#fff}.sidebar .logo{color:#fff}.sidebar .dot{color:#d2b99a}.sidebar .nav button{color:#d8e1db}.sidebar .nav button.active,.sidebar .nav button:hover{background:#f7f4ed;color:#243c32}.sidebar-foot{color:#bdc9c2}.sidebar .secondary{color:#fff;background:transparent;border-color:#697c72}.main{min-width:0}.primary{background:#365a4b;border-color:#365a4b}.secondary{cursor:pointer}.nav{overflow-y:auto;flex:1}.sidebar{display:flex;flex-direction:column}.sidebar-foot{position:static;margin-top:auto}.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:10px 0 28px}.section-heading h1{margin:8px 0 10px}.action-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.action-row a{display:inline-block;text-decoration:none;padding:11px 16px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:16px;margin:24px 0}.kpis article{background:#fff;padding:25px;border-top:3px solid #b4b9a6}.kpis span,.kpis strong,.kpis small{display:block}.kpis span{font-size:12px;color:#66726a}.kpis strong{font:500 31px/1.3 Inter,Arial,sans-serif;margin:14px 0}.kpis small{font-size:11px;color:#91978e}.module-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.module-links .panel{margin:0}.module-links p{min-height:54px;line-height:1.6}.two-panels{display:grid;grid-template-columns:1fr 1fr;gap:22px}.panel{border:1px solid #e6e4de;box-shadow:none}table small,.list-row small{display:block;font-size:11px;color:#8a928b;margin-top:5px}td{vertical-align:middle}td .secondary{padding:7px 10px;font-size:11px}.status{font-size:10px;font-weight:600;letter-spacing:.025em;text-transform:uppercase;background:#eeeae2;padding:6px 9px;white-space:nowrap}.status-confirmed,.status-accepted{background:#e3eee7;color:#376044}.status-issued{background:#e3eaf1;color:#38536a}.status-cancelled,.status-rejected{background:#f5e4df;color:#914d41}.status-requested{background:#faf0d9;color:#856828}.list-row{display:flex;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid #eeeee9;font-size:12px}.list-row:last-child{border-bottom:0}.filterbar{display:flex;align-items:end;gap:15px;flex-wrap:wrap;margin:22px 0}.filterbar .field{flex:1;min-width:140px}.filterbar button{margin-bottom:0}.filterbar input,.filterbar select{background:white;width:100%;padding:11px;border:1px solid #d9ddd7}.field textarea{min-height:85px}.wide{width:min(900px,96vw)}.wide input,.wide select{width:100%;min-width:0}.wide h2{font-size:30px}.wide .section-heading{margin-bottom:15px}.doc-line{display:grid;grid-template-columns:3fr 1fr 1.3fr 1fr auto;gap:9px;align-items:end;margin:12px 0}.doc-line label{font-size:11px}.doc-line input{padding:10px;border:1px solid #ddd;margin-top:7px}.schedule-line{display:grid;grid-template-columns:1.6fr 1fr 1fr auto;gap:9px;margin-bottom:10px}.schedule-line input,.schedule-line select{padding:10px;border:1px solid #ddd}.document-total{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid #e3e7df;margin-bottom:20px}.document-total strong{font-size:25px}.bars>div{display:grid;grid-template-columns:65px 1fr 95px;gap:12px;align-items:center;margin:19px 0;font-size:12px}.bars meter{width:100%;height:19px}.bars meter::-webkit-meter-optimum-value{background:#718975}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#e2e4dd;margin-top:18px}.calendar-grid>b{background:#f0f1eb;padding:12px;font-size:11px}.calendar-day,.calendar-empty{min-height:125px;background:white;padding:9px}.calendar-day>strong{font-size:12px}.calendar-day button{display:block;width:100%;text-align:left;background:#eaf0e9;color:#335341;border:0;font-size:10px;padding:7px;margin-top:7px;cursor:pointer;overflow-wrap:anywhere}.calendar-day button small{display:block;margin-top:4px}.project-extras{margin:18px 0}.public-link{color:#365a4b;font-weight:600}.empty-state{text-align:center;padding:45px}.checkline{align-items:center}.checkline input{width:auto}.mgmt-tabs button{cursor:pointer}.mgmt-tabs button.selected{color:#2a493c;border-color:#2a493c}.mgmt-project-hero{background:#3e5548}.mgmt-track span{background:#a1b29a}@media(max-width:1100px){.module-links{grid-template-columns:1fr}.module-links p{min-height:0}.two-panels{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}.calendar-day{min-height:95px;padding:4px}.calendar-grid>b{padding:6px}}@media(max-width:650px){.kpis{grid-template-columns:1fr 1fr}.kpis article{padding:17px}.kpis strong{font-size:25px}.doc-line{grid-template-columns:1fr 1fr}.doc-line label:first-child{grid-column:1/-1}.wide{padding:20px}.schedule-line{grid-template-columns:1fr 1fr}.calendar-grid{min-width:650px}.panel:has(.calendar-grid){overflow-x:auto}.sidebar .nav{flex-wrap:nowrap;overflow-x:auto}.sidebar-foot{display:none}.table-wrap{max-width:100%;overflow-x:auto}.section-heading h1{font-size:38px}}
