:root{--ink:#213b34;--muted:#7a8176;--paper:#f6f5ef;--card:#fffefa;--green:#244f41;--lime:#dbe7b8;--line:#e2e4d9;--gold:#b79a63;--radius:22px;--shadow:0 8px 28px #213b3408}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--vv-text);font-weight:500;font-size:15px;line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}img,video{display:block;width:100%;object-fit:cover}button:focus-visible,a:focus-visible{outline:3px solid #b79a63;outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2{font-family:inherit;font-weight:500;line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(36px,5vw,64px)}h2{font-size:clamp(28px,3vw,42px)}h3{font-size:17px;line-height:1.35;font-weight:600}p{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:12px}.muted{color:var(--muted)}.small{font-size:12px}.right{text-align:right}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.gap{display:grid;gap:20px}.mt{margin-top:24px}.mb{margin-bottom:24px}.hidden{display:none!important}.btn{border:1px solid var(--line);background:var(--card);border-radius:100px;padding:12px 20px;display:inline-flex;align-items:center;justify-content:center;gap:10px;color:var(--ink);font-weight:600;font-size:13px;white-space:nowrap}.btn.primary{background:var(--green);color:white;border-color:var(--green)}.btn.gold{background:#d3b572;color:#202019;border-color:#d3b572}.btn.soft{background:var(--lime);border-color:var(--lime)}.btn.small{padding:8px 13px;font-size:12px}.btn.ghost{background:transparent;border-color:transparent}.tag{border-radius:30px;padding:5px 10px;font-size:12px;letter-spacing:.03em;background:#edf1e5;color:#52704c;display:inline-block}.tag.amber{background:#fbefd5;color:#916b26}.tag.purple{background:#ede9ff;color:#7550a6}.line{border-top:1px solid var(--line);margin:22px 0}.card{padding:26px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.note{padding:14px 18px;border-radius:13px;background:#eeeede;color:#6c725e;font-size:12px}.note.amber{background:#f7edda;color:#8b6e36}.note.error{background:#ffebe7;color:#963d2c}.skip{position:fixed;top:-100px;z-index:1000;background:white;padding:12px}.skip:focus{top:0}.loading{min-height:70vh;display:grid;place-items:center}.logo{display:flex;align-items:center;gap:10px;font-family:var(--vv-text);font-size:25px;line-height:1}.logo-mark{width:35px;height:40px;border:1px solid currentColor;border-radius:50% 50% 3px 3px;display:grid;place-items:center;font-size:22px}.logo small{display:block;font:500 12px var(--vv-text);letter-spacing:.25em;margin-top:7px;font-variant-numeric:tabular-nums}.icon{width:18px;height:18px;display:inline-block;vertical-align:middle}.avatar{background:#e4e8dc;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:12px}.pill-nav{display:flex;gap:6px;align-items:center;padding:5px;background:#eeefe6;border-radius:100px;overflow:auto}.pill-nav a,.pill-nav button{border:0;background:none;border-radius:100px;padding:9px 15px;font-size:12px;white-space:nowrap}.pill-nav .active{background:white;color:var(--green);box-shadow:0 2px 6px #00000009}
/* Public presentation */
.web{background:#f5f3ec}.web-nav{height:88px;display:flex;justify-content:space-between;align-items:center;padding:0 5vw;position:relative;z-index:2}.web-links{display:flex;align-items:center;gap:28px;font-size:12px}.hero{margin:0 22px;border-radius:28px;position:relative;overflow:hidden;min-height:660px;display:flex;align-items:flex-end;color:white}.hero>img,.hero>.media{position:absolute;inset:0;width:100%;height:100%}.hero img,.hero video{height:100%}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#102c21bb,transparent 95%),linear-gradient(0deg,#0b211c99,transparent 85%);pointer-events:none}.hero-copy{position:relative;z-index:1;max-width:850px;padding:75px 6vw}.hero h1{font-size:clamp(48px,6.4vw,91px)}.hero p{color:#dce1d4;max-width:450px;margin:24px 0 34px;font-size:17px}.hero .eyebrow{color:#e5d8b9}.hero-badge{position:absolute;right:40px;bottom:40px;z-index:1;border:1px solid #ffffff44;border-radius:100px;width:120px;height:120px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;letter-spacing:.12em;background:#ffffff0c;backdrop-filter:blur(8px)}.web-section{padding:95px 7vw}.web-section .intro{max-width:650px;margin-bottom:38px}.web-section .intro p{margin-top:22px;max-width:540px}.event-tile{position:relative;border-radius:22px;overflow:hidden;min-height:420px;display:flex;align-items:flex-end;color:white}.event-tile img{position:absolute;inset:0;height:100%;transition:transform .6s}.event-tile:hover img{transform:scale(1.04)}.event-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#162921d9,transparent 70%)}.event-tile>div{position:relative;z-index:1;padding:28px}.event-tile h3{font:500 36px var(--vv-text);margin-bottom:15px;font-variant-numeric:tabular-nums}.event-tile p{color:#e0e4da}.event-tile .arrow{position:absolute;right:24px;bottom:24px;z-index:1;font-size:27px}.split-story{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;align-items:center}.split-story>img,.split-story .media{border-radius:24px;overflow:hidden;aspect-ratio:1.12}.split-story h2{font-size:clamp(36px,4vw,58px);margin-bottom:23px}.split-story p{max-width:470px;margin-bottom:30px}.web-facts{display:flex;gap:40px;margin:30px 0}.web-facts strong{display:block;font:500 32px var(--vv-text);font-variant-numeric:tabular-nums}.web-facts span{font-size:12px;color:var(--muted)}.web-footer{background:#19392f;color:#eceddc;padding:65px 7vw;display:flex;justify-content:space-between;gap:30px}.web-footer p{color:#b2beb0;font-size:12px;margin-top:12px}.floating-wa{position:fixed;right:25px;bottom:25px;z-index:10;box-shadow:0 8px 30px #0003}.media{position:relative}.media video{height:100%}.media-control{position:absolute;bottom:16px;right:16px;z-index:4;background:#fffdf0d9;border:0;border-radius:30px;padding:9px 14px;font-size:12px}
/* Workspace */
.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.sidebar{background:#173c31;color:#f5f2e5;padding:32px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar .logo{margin:0 12px 38px}.sidebar .nav-label{font-size:9px;letter-spacing:.18em;color:#a6b5a3;margin:20px 13px 9px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;font-size:12px;border-radius:11px;color:#bdccc0;margin:3px 0}.sidebar nav a:hover,.sidebar nav a.active{background:#ffffff14;color:#f3f3db}.sidebar nav a.active{box-shadow:inset 3px 0 #d2dbb1}.sidebar-bottom{margin-top:auto;padding:20px 10px 0;color:#b9c8bb;font-size:12px}.sidebar-bottom a{display:block;margin:12px 0}.workspace{min-width:0}.topbar{height:76px;padding:0 38px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:12px;background:#faf9f3}.topbar .crumb{color:var(--muted)}.workspace main{padding:36px 38px 70px;max-width:1640px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px}.page-head h1{font-size:40px}.page-head p{margin-top:12px;font-size:13px}.stat{min-height:142px}.stat .label{font-size:12px;color:var(--muted);margin-bottom:14px}.stat strong{font-size:31px;line-height:1.1;font-weight:500;letter-spacing:-.035em;display:block}.stat small{font-size:12px;color:var(--muted);display:block;margin-top:12px}.stat.green{background:#dce7c8;border-color:#dce7c8}.stat.dark{background:#244b3e;color:#f2f1de}.stat.dark .label,.stat.dark small{color:#c2d0b9}.welcome{background:#e8ecd9;position:relative;overflow:hidden;min-height:225px;display:flex;align-items:center}.welcome>div{width:65%;position:relative;z-index:1}.welcome p{margin-top:15px;max-width:420px}.welcome img{position:absolute;right:0;top:0;width:37%;height:100%;border-radius:80px 0 0 80px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.section-head h2{font-size:26px}.event-row{padding:18px 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:16px}.event-row:first-of-type{border-top:0}.date-box{background:#f0f0e6;min-width:50px;padding:8px;border-radius:11px;text-align:center}.date-box b{font:500 24px var(--vv-text);display:block;font-variant-numeric:tabular-nums}.date-box span{font-size:9px;text-transform:uppercase}.event-info{flex:1;min-width:0}.event-info h3{font-size:13px;margin-bottom:5px}.event-info p{font-size:12px}.check-task{display:flex;gap:12px;align-items:flex-start;padding:17px 0;border-top:1px solid var(--line)}.check-task input{margin-top:4px;accent-color:var(--green)}.check-task strong{font-size:12px;display:block}.check-task p{font-size:12px;margin-top:5px}.balance-row{padding:13px 0;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);font-size:12px}.balance-row.total{font-size:16px;font-weight:600}.chart-bars{display:flex;align-items:flex-end;gap:18px;height:170px;padding-top:20px}.chart-column{flex:1;text-align:center;font-size:12px;color:var(--muted)}.chart-column>div{max-width:70px;margin:auto;border-radius:8px 8px 0 0;background:#b9cba1;min-height:3px}.chart-column span{display:block;margin-top:10px}.data-table{width:100%;border-collapse:collapse;font-size:12px}.table-wrap{overflow:auto}.data-table th{text-align:left;font-size:9px;letter-spacing:.08em;color:var(--muted);font-weight:500;text-transform:uppercase;padding:12px 9px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:14px 9px;border-bottom:1px solid var(--line)}.board{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:14px;overflow:auto;padding-bottom:20px}.column{background:#eceee4;border-radius:16px;padding:16px;min-height:340px}.column-title{font-size:12px;font-weight:600;display:flex;justify-content:space-between;margin-bottom:18px}.lead-card{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:16px;margin:12px 0;box-shadow:var(--shadow)}.lead-card h3{font-size:14px;margin:10px 0}.lead-card p{font-size:12px;margin:8px 0}.lead-card select{font-size:12px;padding:8px;width:100%}.catalog-card{overflow:hidden;padding:0}.catalog-card>img{height:150px}.catalog-card>div{padding:22px}.catalog-card h3{font:500 24px var(--vv-text);margin:9px 0;font-variant-numeric:tabular-nums}.catalog-card p{font-size:12px}.catalog-card .row{margin-top:20px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}.library{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.asset{padding:8px;border:1px solid var(--line);border-radius:13px;background:var(--card);overflow:hidden}.asset img,.asset video{aspect-ratio:1.3;border-radius:8px}.asset p{font-size:9px;overflow:hidden;text-overflow:ellipsis;margin:8px 0;white-space:nowrap}.asset button{width:100%}.editor-preview{position:relative;height:270px;overflow:hidden;border-radius:15px;background:#263f35;color:#fff;display:flex;align-items:flex-end;padding:25px}.editor-preview img{position:absolute;inset:0;height:100%;opacity:.5}.editor-preview h3{position:relative;font:500 29px var(--vv-text);max-width:90%;font-variant-numeric:tabular-nums}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-picture{background:linear-gradient(#173c3140,#173c3180),url('/assets/09a21ded7671c693.jpg') center/cover;display:flex;flex-direction:column;justify-content:space-between;padding:50px;color:white}.login-picture h1{font-size:68px}.login-box{display:flex;flex-direction:column;justify-content:center;padding:10vw 7vw;gap:20px}.login-box .btn{justify-content:space-between;padding:20px 25px}.login-box h2{margin-bottom:15px}
/* Customer space */
.portal-nav{background:var(--card);border-bottom:1px solid var(--line);padding:22px 5vw;display:flex;align-items:center;justify-content:space-between;gap:20px}.portal-main{max-width:1240px;margin:auto;padding:35px 35px 80px}.portal-hero{position:relative;overflow:hidden;min-height:240px;border-radius:24px;background:#273d32;color:#f8f7ea;padding:45px;margin-bottom:28px}.portal-hero>img{position:absolute;inset:0;height:100%;opacity:.35}.portal-hero>div{position:relative;z-index:1}.portal-hero .eyebrow,.portal-hero p{color:#d6dfcc}.portal-hero p{margin-top:15px}.rent-card{background:#ede8da;border:1px solid #dfd7c5;display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center}.rent-card strong{font:500 34px var(--vv-text);font-variant-numeric:tabular-nums}.progress{height:9px;border-radius:12px;background:#d9d6c8;overflow:hidden;margin:16px 0 10px}.progress>span{display:block;height:100%;background:#637d4f;border-radius:12px}.unit-card{position:relative}.unit-card .num{font:500 54px var(--vv-text);display:block;margin:20px 0 14px;font-variant-numeric:tabular-nums}.unit-card .price{padding-top:16px;margin-top:17px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:12px}.unit-card .bubble{position:absolute;right:22px;top:22px;background:#edf0e4;width:34px;height:34px;border-radius:50%;display:grid;place-items:center}.credit-card{background:#e9e9f4}.credit-card .num{font-size:36px}.private-header{display:flex;align-items:center;gap:10px;color:#7d7087;font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px}.field label{font-size:12px;font-weight:600}.field.full{grid-column:1/-1}.field input,.field select,.field textarea,select{border:1px solid #d9ded2;border-radius:9px;padding:12px;background:#fffefa;color:var(--ink);width:100%;min-width:0}.field textarea{min-height:86px;resize:vertical}.check{display:flex;gap:10px;font-size:12px;align-items:center;margin:14px 0}.check input{accent-color:var(--green);width:16px;height:16px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.timeline{padding:8px 0}.moment{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:22px 0;position:relative;border-bottom:1px solid var(--line)}.moment time{color:var(--green);font-size:16px;font-weight:600}.moment h3{font-size:15px;margin-bottom:7px}.moment p{font-size:12px}.floor{position:relative;aspect-ratio:1.5;background-color:#f2f0e8;background-image:radial-gradient(#d8d8cb 1px,transparent 1px);background-size:20px 20px;border:1px solid var(--line);border-radius:18px;overflow:hidden;min-height:300px}.floor-label{position:absolute;top:15px;left:20px;text-transform:uppercase;font-size:9px;letter-spacing:.15em;color:#9b9e8b}.furniture{position:absolute;transform:translate(-50%,-50%);border:2px solid #99ad89;background:#dce5cd;color:#37513c;width:84px;height:84px;border-radius:50%;font-size:12px;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 0 0 7px #ffffff99}.furniture.line{width:145px;height:55px;border-radius:8px;margin:0}.furniture.selected{border-color:#ad8452;background:#f0e0b8}.furniture small{font-size:9px;margin-top:5px}.extras-option{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.extras-option>span{flex:1}.extras-option input{accent-color:var(--green)}.extras-total{position:sticky;bottom:20px;background:var(--green);color:white;border-radius:18px;padding:20px;display:flex;justify-content:space-between;align-items:center;margin-top:24px}
/* Private proposal */
.proposal{--green:#3c372e;--ink:#29251e;--paper:#f4f0e6;--line:#ded7c9;--card:#fffdf7;background:var(--paper);min-height:100vh;padding-bottom:140px}.proposal.quince{--green:#6a48a3;--ink:#34254c;--paper:#f5f1fa;--card:#fffcff;--line:#e8def3}.proposal.infantiles{--green:#487956;--ink:#34513d;--paper:#fff6e7;--card:#fffdf7;--line:#eadcc8}.proposal-header{padding:25px 6vw;display:flex;justify-content:space-between;align-items:center}.proposal .hero{min-height:520px}.proposal .hero-copy{max-width:800px;padding:60px}.proposal .hero h1{font-size:clamp(48px,6vw,78px)}.proposal-section{max-width:1160px;margin:auto;padding:65px 35px}.proposal-section+.proposal-section{border-top:1px solid var(--line)}.section-number{font-size:12px;letter-spacing:.17em;color:var(--gold);margin-bottom:18px}.include-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:35px}.include{border:1px solid var(--line);background:var(--card);padding:23px;border-radius:16px}.include .symbol{font-size:23px;margin-bottom:18px;color:var(--gold)}.include h3{font-size:12px;margin-bottom:8px}.include p{font-size:12px}.menu-choice{display:flex;gap:12px;margin:25px 0;flex-wrap:wrap}.menu-choice button{padding:14px 22px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:13px}.menu-choice .selected{background:var(--green);color:white;border-color:var(--green)}.menu-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:32px 0 22px}.menu-heading h3{font:500 26px var(--vv-text);font-variant-numeric:tabular-nums}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{padding:24px;background:var(--card);border:1px solid var(--line);border-radius:16px}.step span{font:500 32px var(--vv-text);color:#baa37d;display:block;margin-bottom:24px;font-variant-numeric:tabular-nums}.step h3{font-size:14px;margin-bottom:12px}.step p{font-size:12px}.proposal-footer{position:fixed;z-index:20;bottom:0;left:0;right:0;background:#fffdf7f5;backdrop-filter:blur(15px);border-top:1px solid var(--line);padding:17px 5vw;box-shadow:0 -10px 50px #1e271c09}.price-strip{display:flex;align-items:center;gap:45px;max-width:1260px;margin:auto}.price-strip .price-label{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);display:block;margin-bottom:6px}.price-strip strong{font-size:25px;white-space:nowrap}.price-strip .footer-cta{margin-left:auto;display:flex;gap:10px;align-items:center}.price-detail{max-width:1260px;margin:auto;padding:15px 0;display:none;font-size:13px}.price-detail.open{display:block}.price-detail>div{display:flex;justify-content:space-between;padding:8px 0}.counts{display:flex;gap:18px;flex-wrap:wrap;margin:24px 0}.counts .field{flex:1;min-width:120px}.count-price{font-size:12px;margin-top:8px}
dialog{border:1px solid var(--line);border-radius:22px;padding:35px;max-width:680px;width:calc(100% - 32px);max-height:90vh;color:var(--ink);background:var(--card);box-shadow:0 30px 100px #0003}dialog::backdrop{background:#132d2466;backdrop-filter:blur(5px)}dialog h2{font-size:30px;margin-bottom:12px}dialog p{font-size:12px;margin-bottom:22px}.close{position:absolute;right:14px;top:10px;background:none;border:0;font-size:27px;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(120px);transition:transform .2s;z-index:999;background:#193c30;color:#fff;padding:14px 24px;border-radius:12px;box-shadow:0 10px 30px #0003;font-size:13px;max-width:90vw}#toast.show{transform:translateX(-50%) translateY(0)}#toast.error{background:#993f31}
@media(max-width:1100px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.shell{grid-template-columns:185px minmax(0,1fr)}.workspace main{padding:28px 24px}.sidebar{padding:25px 12px}.sidebar .logo{font-size:21px;margin-left:5px}.include-grid,.steps-grid{grid-template-columns:repeat(2,1fr)}.library{grid-template-columns:repeat(3,1fr)}.price-strip{gap:25px}.price-strip strong{font-size:21px}.price-strip .footer-cta .btn{padding:12px}.hero-badge{display:none}}
@media(max-width:760px){.shell{display:block}.sidebar{position:relative;height:auto;padding:17px 20px}.sidebar .logo{margin:0 0 17px}.sidebar nav{display:flex;overflow:auto;gap:4px}.sidebar nav a{white-space:nowrap;font-size:12px;padding:9px}.sidebar .nav-label,.sidebar-bottom{display:none}.topbar{height:57px;padding:0 20px}.topbar .crumb{display:none}.workspace main{padding:25px 18px 70px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:35px}.grid2,.grid3{grid-template-columns:minmax(0,1fr)}.studio-topbar-account{display:none}.section-head{flex-wrap:wrap;gap:8px}.event-row{flex-wrap:wrap}.event-row select{max-width:100%!important}.grid4{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{padding:21px}.stat strong{font-size:26px}.stat{min-height:135px}.rent-card{grid-template-columns:1fr;gap:14px}.portal-nav{padding:20px;flex-wrap:wrap}.portal-nav .pill-nav{order:3;width:100%}.portal-main{padding:20px 16px 70px}.portal-hero{padding:30px;min-height:220px}.unit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.unit-card .num{font-size:40px}.unit-card .price{display:block}.unit-card .price strong{display:block;margin-top:5px}.unit-card h3{font-size:14px}.unit-card .bubble{display:none}.web-nav{height:77px;padding:0 22px}.web-links>a:not(.btn){display:none}.web-links .btn{padding:10px 14px;font-size:12px}.hero{margin:0 10px;min-height:610px;border-radius:20px}.hero-copy{padding:35px 25px}.hero h1{font-size:56px}.hero p{font-size:15px}.web-section{padding:65px 24px}.event-tile{min-height:360px}.split-story{grid-template-columns:1fr;gap:35px}.web-footer{flex-direction:column;padding:45px 25px}.floating-wa{right:15px;bottom:15px}.web-facts{gap:30px}.welcome>div{width:77%}.welcome img{width:28%;opacity:.4}.welcome h2{font-size:31px}.library{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.login{grid-template-columns:1fr}.login-picture{min-height:220px;padding:25px}.login-picture h1{font-size:42px;margin-top:30px}.login-box{padding:35px 25px}.proposal-header{padding:20px}.proposal-header .tag{font-size:8px}.proposal .hero{min-height:460px}.proposal .hero-copy{padding:30px}.proposal .hero h1{font-size:47px}.proposal-section{padding:48px 20px}.include-grid{gap:10px}.include{padding:18px}.steps-grid{gap:10px}.step{padding:18px}.step span{margin-bottom:15px}.price-strip{gap:15px;flex-wrap:wrap}.price-strip strong{font-size:18px}.price-strip .price-label{font-size:8px}.price-strip .footer-cta{width:100%;justify-content:flex-end}.proposal-footer{padding:13px 18px}.proposal{padding-bottom:190px}.proposal-footer .btn{font-size:12px}.menu-heading{align-items:flex-start;flex-direction:column}.toolbar{flex-wrap:wrap}.floor{min-height:0;max-width:100%}.furniture{width:58px;height:58px;font-size:8px}.furniture.line{width:100px;height:40px}.moment{grid-template-columns:60px 1fr}.board{grid-template-columns:repeat(5,230px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.sidebar,.topbar,.close,.form-actions,.floating-wa{display:none!important}dialog{position:static;max-height:none;box-shadow:none;border:none;width:100%;max-width:none}body:has(dialog[open]) #app{display:none}dialog::backdrop{display:none}.shell{display:block}.card{break-inside:avoid}}

.step p{white-space:pre-line}.film-section{background:#eceddb}.film-section .media{max-width:420px;aspect-ratio:9/14;justify-self:center}.film-section .media video{object-fit:cover}.form-grid .field.hidden{display:none}.proposal.infantiles .include:nth-child(3n+1){background:#f6e8c6}.proposal.infantiles .include:nth-child(3n+2){background:#e6eacf}.proposal.infantiles .include:nth-child(3n){background:#f2e0df}
.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.event-grid .event-tile{min-height:460px}.catalog-family{margin-bottom:32px}.catalog-family summary{cursor:pointer;font:500 27px var(--vv-text);padding:10px 0 22px;font-variant-numeric:tabular-nums}.catalog-family summary span{font:500 12px var(--vv-text);color:var(--muted);margin-left:18px;font-variant-numeric:tabular-nums}.proposal.quince h1,.proposal.quince h2{font-family:var(--vv-text);font-weight:600;letter-spacing:-.055em}.proposal.quince .btn.gold{background:#ded4f5;border-color:#ded4f5;color:#34254c}.proposal.quince .step span{color:#b58ccf}.proposal.quince .hero:after{background:linear-gradient(90deg,#241434d9,transparent 95%),linear-gradient(0deg,#21132db3,transparent 85%)}.price-detail{max-height:45vh;overflow:auto}
@media(max-width:760px){.event-grid{grid-template-columns:1fr}.event-grid .event-tile{min-height:360px}.proposal.quince .hero h1{font-size:43px}}

/* Photo assignment for each menu course, shared with public proposals. */
dialog:has([data-form="catalog-photos"]){max-width:980px}
.menu-photo-group{grid-column:1/-1}.menu-photo-group h3{margin:12px 0 20px;font-size:22px}.menu-photo-group+.menu-photo-group{border-top:1px solid #ddd;padding-top:24px;margin-top:16px}
.menu-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.menu-photo-card{border:1px solid #dedfd7;padding:16px;border-radius:14px;min-width:0}.menu-photo-card>img{width:100%;height:155px;object-fit:cover;border-radius:9px}.menu-photo-card h4{margin:15px 0;font-size:18px}.menu-photo-card .field{margin-bottom:14px}.menu-photo-card select{width:100%;min-width:0}.menu-photo-upload{cursor:pointer}
@media(max-width:600px){.menu-photo-grid{grid-template-columns:1fr}.menu-photo-card>img{height:180px}}

.month-picker{display:inline-flex;gap:8px;align-items:center}.month-picker select{min-width:0}.field-label{display:block;font-size:12px;font-weight:600;margin-bottom:6px}

.grid1{display:grid;grid-template-columns:minmax(0,1fr)}.ops-today .dd-embedded{margin:0 0 14px;padding:0;background:none;border:0;box-shadow:none}.ops-tasks{display:grid;gap:10px}
/* Cabeceras de portal y proveedores en el celular: el botón de instalar no ocupa una fila entera (4/11/2026) */
@media(max-width:640px){.portal-nav [data-install-app],.cp-topbar [data-install-app]{font-size:12px;padding:6px 10px;width:auto}.provider-list-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}}

/* Plano de mesas: una mesa en el borde (0 o el máximo) queda entera dentro del esquema; la posición guardada no cambia (auditoría 14/11, H10). Mitad del tamaño + el halo. */
.furniture{--half-w:49px;--half-h:49px}.furniture.line{--half-w:80px;--half-h:35px}@media(max-width:760px){.furniture{--half-w:36px;--half-h:36px}.furniture.line{--half-w:57px;--half-h:27px}}
/* Un botón de carga hecho con <label> muestra el foco de teclado de su campo de archivo (Cargar PDF del contrato, auditoría 14/11, H11). */
label.btn:has(>input[type=file]:focus-visible){outline:3px solid #b79a63;outline-offset:4px}
/* Tareas del panel en el celular: el mínimo táctil de 44 px reemplaza el ancho automático y el texto largo de al lado achicaba el botón por debajo de su rótulo. */
@media(max-width:760px){.studio-shell .check-task>.btn{flex-shrink:0}}

/* Blancos táctiles de Gestión, también en el diálogo compartido cuando se abre desde Gestión. */
@media(max-width:760px){
  .studio-shell :is(button,.btn,.eh-view-switch a,.pill-nav a),body:has(.studio-shell) #dialog :is(button,.btn){min-width:44px;min-height:44px}
  .studio-shell select:not([multiple]),body:has(.studio-shell) #dialog select:not([multiple]){
    height:44px;min-height:44px;min-width:44px;box-sizing:border-box;
    appearance:none;-webkit-appearance:none;padding:0 36px 0 12px;
    background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
    background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;
    background-size:5px 5px;background-repeat:no-repeat;
  }
}
