:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4efe4;--surface:#fffdf8;--surface-2:#f6f1e7;--surface-3:#eee6d6;--border:#e2d8c4;--border-strong:#d3c6ac;--forest:#f6ddd2;--accent:#c4532d;--accent-hover:#a8431f;--accent-text:#a8431f;--chart:#c4532d;--text:#26252b;--muted:#6b6558;--faint:#9b9486;--ok:#2f7a55;--warn:#9a6a12;--bad:#b3392c;--info:#3b6284;--navy:#1f2d48;--mustard:#e7b24a;--r-sm:8px;--r:14px;--r-lg:20px;--font:"Libre Franklin", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--display:"Fraunces", Georgia, serif;--mono:"DM Mono", ui-monospace, "SF Mono", Menlo, monospace;--script:"Yellowtail", "Brush Script MT", cursive;--ease:cubic-bezier(.22, .61, .36, 1);--shadow:none}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.55}a{color:var(--accent-text);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}h1,h2,h3{letter-spacing:-.02em;margin:0 0 .4em;font-weight:600;line-height:1.15}h1,h2{font-family:var(--display);letter-spacing:-.005em;font-variation-settings:"opsz" 144, "SOFT" 50;font-weight:600}.wordmark{font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-variation-settings:"opsz" 144, "SOFT" 100, "WONK" 1;font-weight:800}h1{font-size:clamp(1.8rem,3.5vw,2.4rem)}h2{font-size:1.4rem}h3{letter-spacing:-.01em;font-size:1.05rem}p{margin:0 0 1em}img{max-width:100%}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:.85rem}.center{text-align:center}.mono{font-variant-numeric:tabular-nums}.container{max-width:1080px;margin:0 auto;padding:0 16px}.stack>*+*{margin-top:16px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spread{justify-content:space-between}.grid-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.grid-4{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);padding:20px}.card.pad-0{padding:0;overflow:hidden}.card-head{justify-content:space-between;align-items:center;gap:12px;padding:18px 20px 12px;display:flex}.card-head h3{margin:0}label{color:var(--muted);margin-bottom:6px;font-size:.8rem;font-weight:500;display:block}input,select,textarea{background:var(--surface-2);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--r-sm);font:inherit;padding:10px 12px;transition:border-color .2s,box-shadow .2s}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent);outline:none}textarea{resize:vertical;min-height:96px}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--accent)}.field+.field{margin-top:14px}.grid-2>.field,.grid-3>.field,.grid-4>.field{margin-top:0}.check-row{color:var(--text);align-items:center;gap:8px;margin:0;font-size:.9rem;font-weight:400;display:inline-flex}.hint{color:var(--faint);margin-top:4px;font-size:.78rem}.btn{white-space:nowrap;background:var(--surface-2);color:var(--text);border:1px solid var(--border-strong);font:inherit;cursor:pointer;transition:background .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--muted);text-decoration:none}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--on-accent,#fff);border-color:var(--accent)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover{color:var(--text);background:var(--surface-2)}.btn.danger{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 35%, var(--border));background:0 0}.btn.sm{padding:6px 12px;font-size:.82rem}.btn.lg{padding:13px 24px;font-size:1rem}.btn.icon{border-radius:10px;padding:7px}form.inline{display:inline}.alert{border-radius:var(--r-sm);border:1px solid;padding:12px 14px;font-size:.92rem}.alert.error{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 35%, transparent);background:color-mix(in srgb, var(--bad) 8%, transparent)}.alert.ok{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 35%, transparent);background:color-mix(in srgb, var(--ok) 8%, transparent)}.alert.warn-soft{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 35%, transparent);background:color-mix(in srgb, var(--warn) 8%, transparent)}a.alert:hover{filter:brightness(1.15);text-decoration:none}.badge{background:color-mix(in srgb, currentColor 12%, transparent);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:.72rem;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge.ok{color:var(--ok)}.badge.warn{color:var(--warn)}.badge.bad{color:var(--bad)}.badge.info{color:var(--info)}.badge.muted{color:var(--muted)}.seg{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.seg button,.seg a{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:500}.seg button.active,.seg a.active{background:var(--surface-3);color:var(--text);text-decoration:none}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th{text-align:left;color:var(--faint);font-size:.78rem;font-weight:500}th,td{border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 16px}tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tbody tr{transition:background .15s}tbody tr:hover{background:var(--surface-2)}td a{color:var(--text);font-weight:500}.shell{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.side{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.side-top{justify-content:space-between;align-items:center;padding:20px 18px 12px;display:flex}.side-logo{color:var(--text);font-weight:700}.side-logo:hover{text-decoration:none}.side-logo .logo-img{width:auto;max-height:32px;display:block}.side-logo .wordmark{font-size:1.05rem}.side-toggle{cursor:pointer;background:0 0;border:0;padding:8px;display:none}.side-toggle span{background:var(--text);width:20px;height:1.5px;margin:5px 0;display:block}.side-nav{flex-direction:column;flex:1;padding:4px 12px 16px;display:flex;overflow-y:auto}.side-group{padding:10px 0}.side-label{color:var(--faint);padding:0 10px 6px;font-size:.72rem;font-weight:600}.side-link{width:100%;color:var(--muted);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;padding:8px 10px;font-size:.9rem;font-weight:500;display:flex}.side-link:hover{color:var(--text);background:var(--surface-2);text-decoration:none}.side-link.active{color:var(--text);background:var(--surface-3)}.side-link.active svg{color:var(--accent-text)}.side-badge{background:var(--accent);color:var(--on-accent,#fff);border-radius:999px;place-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:.7rem;font-weight:700;display:grid}.side-bottom{border-top:1px solid var(--border);margin-top:auto}.shell-main{width:100%;max-width:1240px;padding:32px clamp(16px,3vw,40px) 80px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.page-head h1{margin:0}.page-head p{color:var(--muted);margin:4px 0 0}.back{color:var(--muted);align-items:center;gap:6px;margin-bottom:10px;font-size:.85rem;display:inline-flex}@media (max-width:900px){.shell{grid-template-columns:1fr}.side{z-index:20;border-right:0;border-bottom:1px solid var(--border);height:auto;position:sticky}.side-toggle{display:block}.side-nav{max-height:calc(100vh - 64px);display:none}.side.open .side-nav{display:flex}.side-top{padding:14px 16px}}.stat{padding:18px 20px}.stat .label{color:var(--muted);font-size:.82rem;font-weight:500}.stat .value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:4px;font-size:1.9rem;font-weight:600;line-height:1.25}.stat .hint{margin-top:2px}.list-row{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 20px;display:flex}.list-row:first-child{border-top:0}.list-row .grow{flex:1;min-width:180px}.list-row .title{color:var(--text);font-weight:600}.avatar{background:var(--forest);width:34px;height:34px;color:var(--text);border-radius:50%;flex-shrink:0;place-items:center;font-size:.8rem;font-weight:600;display:grid}.empty{color:var(--muted);text-align:center;padding:28px 20px}.day-group h3{color:var(--muted);margin:22px 0 8px;font-size:.85rem;font-weight:600}.slot-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 16px;display:flex}.slot-row:last-child{border-bottom:0}.slot-row .when{font-variant-numeric:tabular-nums;min-width:170px}.weekdays{flex-wrap:wrap;gap:6px;display:flex}.weekdays label{color:var(--text);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:6px;margin:0;padding:6px 12px;display:inline-flex}.weekdays label:has(input:checked){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--surface-2))}.weekdays input{display:none}.board{grid-auto-columns:minmax(250px,1fr);grid-auto-flow:column;gap:14px;padding-bottom:12px;display:grid;overflow-x:auto}.lane{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);min-height:240px;padding:12px}.lane-head{justify-content:space-between;align-items:center;padding:4px 6px 12px;font-size:.9rem;font-weight:600;display:flex}.lane-count{color:var(--muted);font-size:.8rem;font-weight:500}.deal{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;margin-bottom:10px;padding:12px}.deal:hover{border-color:var(--border-strong)}.deal .title{color:var(--text);font-weight:600;display:block}.deal-meta{color:var(--muted);margin:2px 0 8px;font-size:.8rem}.deal-flags{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.deal select{border-radius:8px;padding:6px 10px;font-size:.8rem}.cal{background:var(--border);border:1px solid var(--border);border-radius:var(--r);grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.cal-dow{background:var(--surface);color:var(--faint);padding:8px 10px;font-size:.75rem;font-weight:600}.cal-day{background:var(--surface);flex-direction:column;gap:4px;min-height:110px;padding:8px;display:flex}.cal-day.out{background:var(--bg)}.cal-day.today .cal-num{background:var(--accent);color:var(--on-accent,#fff)}.cal-num{color:var(--muted);border-radius:50%;place-items:center;width:24px;height:24px;font-size:.8rem;font-weight:600;display:grid}.cal-ev{background:color-mix(in srgb, var(--accent) 25%, var(--surface-2));color:var(--text);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:3px 7px;font-size:.75rem;display:block;overflow:hidden}.cal-ev.open{border:1px dashed var(--border-strong);color:var(--muted);background:0 0}.cal-ev.held{background:color-mix(in srgb, var(--warn) 18%, var(--surface-2))}.cal-ev:hover{filter:brightness(1.2);text-decoration:none}@media (max-width:700px){.cal-day{min-height:70px}.cal-ev{padding:2px 4px;font-size:.65rem}}.bars{border-bottom:1px solid var(--border);grid-template-columns:repeat(12,1fr);align-items:end;gap:6px;height:170px;padding-top:24px;display:grid}.bar-col{flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.bar{background:var(--chart);border-radius:4px 4px 0 0;width:100%;max-width:32px;min-height:2px;position:relative}.bar-col.current .bar-label{color:var(--text);font-weight:600}.bar-col:hover .bar{filter:brightness(1.25)}.bar-tip{background:var(--surface-3);border:1px solid var(--border-strong);white-space:nowrap;opacity:0;pointer-events:none;border-radius:8px;padding:3px 8px;font-size:.75rem;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.bar-col:hover .bar-tip{opacity:1}.bar-label{color:var(--faint);font-size:.7rem}.dropzone{text-align:center;border:1.5px dashed var(--border-strong);border-radius:var(--r);color:var(--text);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;margin:0;padding:28px 16px;font-size:.9rem;font-weight:500;transition:border-color .2s,background .2s;display:flex}.dropzone:hover,.dropzone.over{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent)}.dropzone.compact{border-style:solid;border-radius:999px;padding:6px 12px;font-size:.8rem}.admin-photo-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;display:grid}.admin-photo{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);flex-direction:column;display:flex;overflow:hidden}.admin-photo>img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.admin-photo.placeholder>img{opacity:.35;filter:grayscale(.7)}.admin-photo-bar{justify-content:space-between;align-items:center;gap:6px;margin-top:auto;padding:8px 10px;display:flex}.admin-photo-meta{gap:6px;padding:8px 10px 0;display:grid}.admin-photo-meta input,.admin-photo-meta select{padding:6px 8px;font-size:.8rem}.fav-dot{color:var(--bad)}.gallery-card{color:var(--text);transition:border-color .2s, transform .2s var(--ease);padding:0;overflow:hidden}.gallery-card:hover{border-color:var(--border-strong);text-decoration:none;transform:translateY(-2px)}.gallery-card img,.gallery-card-empty{aspect-ratio:16/9;object-fit:cover;width:100%;color:var(--muted);background:var(--surface-2);justify-content:center;align-items:center;display:flex}.le-item{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:14px}.le-item+.le-item{margin-top:10px}.le-tools{justify-content:flex-end;gap:4px;margin-bottom:8px;display:flex}.settings-nav{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.logo-preview{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);justify-content:center;align-items:center;min-height:90px;padding:18px;display:flex}.logo-preview img{width:auto;max-height:60px}.logo-preview .wordmark{font-size:1.3rem;font-weight:700}.steps{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.step{color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:5px 12px;font-size:.8rem}.step.active{color:var(--on-accent,#fff);background:var(--accent);border-color:var(--accent)}.step.done{color:var(--text)}.cat-tabs{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.cat-tabs button{border:1px solid var(--border);color:var(--muted);font:inherit;cursor:pointer;transition:all .2s var(--ease);background:0 0;border-radius:999px;padding:7px 14px;font-size:.85rem}.cat-tabs button:hover{color:var(--text);border-color:var(--border-strong)}.cat-tabs button.active{background:var(--text);border-color:var(--text);color:var(--bg)}.pkg{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;transition:border-color .2s, transform .2s var(--ease);background:var(--surface-2)}.pkg:hover{border-color:var(--border-strong);transform:translateY(-2px)}.pkg.selected{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent)}.pkg h3{font-size:1rem}.pkg .price{letter-spacing:-.02em;font-size:1.4rem;font-weight:600}.calendar{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.calendar .dow{text-align:center;color:var(--faint);padding-bottom:4px;font-size:.72rem}.day{aspect-ratio:1;color:#3d4540;font:inherit;cursor:default;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;display:flex}.day.available{color:var(--text);background:var(--surface-2);border-color:var(--border);cursor:pointer;font-weight:500}.day.available:hover{border-color:var(--accent)}.day.selected{background:var(--accent);color:var(--on-accent,#fff);border-color:var(--accent)}.times{flex-wrap:wrap;gap:8px;display:flex}.time{min-width:96px}.time.selected{background:var(--accent);color:var(--on-accent,#fff);border-color:var(--accent)}.summary{background:var(--surface-2);border-radius:var(--r);padding:14px 16px}.summary dl{grid-template-columns:auto 1fr;gap:6px 16px;margin:0;display:grid}.summary dt{color:var(--muted)}.summary dd{text-align:right;margin:0}.lightbox{z-index:100;animation:fade .25s var(--ease);background:#050706f5;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox>img{object-fit:contain;border-radius:6px;max-width:88vw;max-height:80vh}.lb-close{color:#fff;cursor:pointer;background:#ffffff0f;border:0;border-radius:50%;width:44px;height:44px;font-size:1.6rem;position:absolute;top:14px;right:18px}.lb-nav{color:#fff;cursor:pointer;background:#ffffff0f;border:0;border-radius:50%;width:48px;height:48px;font-size:1.6rem;position:absolute;top:50%;transform:translateY(-50%)}.lb-nav:hover,.lb-close:hover{background:#ffffff24}.lb-nav.prev{left:16px}.lb-nav.next{right:16px}.lb-bar{background:linear-gradient(#0000,#000000d9);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex;position:absolute;bottom:0;left:0;right:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.gallery-hero{background:#111 50%/cover no-repeat;align-items:flex-end;min-height:62vh;display:flex;position:relative}.gallery-hero:before{content:"";background:linear-gradient(#090b0a1a,#090b0ad9);position:absolute;inset:0}.gallery-hero-inner{color:#fff;width:100%;max-width:1200px;margin:0 auto;padding:0 16px 44px;position:relative}.gallery-hero .kicker{opacity:.8;font-size:.85rem}.gallery-hero h1{letter-spacing:-.03em;margin:6px 0;font-size:clamp(2.2rem,6vw,4rem);font-weight:600}.gallery-page .container{max-width:1240px}.gallery-message{text-align:center;max-width:620px;color:var(--muted);margin:0 auto 32px;font-size:1.1rem}.gallery-toolbar{z-index:5;background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 0;display:flex;position:sticky;top:0}.gallery-toolbar select,.gallery-toolbar .btn{border-radius:999px}.gallery-item{break-inside:avoid;background:var(--surface);border-radius:10px;margin:0 0 8px;position:relative;overflow:hidden}.gi-open{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.gi-open img{width:100%;height:auto;transition:transform .5s var(--ease);display:block}.gallery-item:hover .gi-open img{transform:scale(1.02)}.gi-heart{color:#fff;cursor:pointer;opacity:0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#090b0a8c;border:0;border-radius:50%;place-items:center;width:38px;height:38px;transition:opacity .2s,transform .2s;display:grid;position:absolute;top:10px;right:10px}.gallery-item:hover .gi-heart,.gi-heart.on,.gi-heart:focus-visible{opacity:1}.gi-heart.on{color:#ff6b6b}.gi-heart:active{transform:scale(.9)}.gi-heart.static{opacity:1;position:static}@media (hover:none){.gi-heart{opacity:1}}.lock-banner{background:color-mix(in srgb, var(--forest) 55%, var(--surface));border:1px solid var(--forest);border-radius:var(--r);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:16px 20px;display:flex}.portal{background:var(--bg);min-height:100vh}.portal-head{justify-content:space-between;align-items:center;padding:22px clamp(16px,4vw,40px);display:flex}.portal-head .logo-link{color:var(--text);font-weight:700}.portal-head .logo-img{width:auto;max-height:34px;display:block}.portal-tag{color:var(--muted);font-size:.85rem}.portal-main{max-width:760px;margin:0 auto;padding:16px 16px 80px}.portal-grid{gap:16px;display:grid}.portal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:clamp(20px,4vw,30px)}.narrow-card{max-width:440px;margin:8vh auto 0}.p-title{margin:0 0 6px;font-size:clamp(1.8rem,5vw,2.4rem)}.p-h2{margin:2px 0 4px;font-size:1.35rem}.p-kicker{color:var(--accent-text);margin-bottom:6px;font-size:.8rem;font-weight:600}.portal-hello{padding:12px 4px}.sc-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.sc-when{font-size:1.05rem;font-weight:500}.sc-count{text-align:center;background:var(--surface-2);border-radius:var(--r);padding:10px 16px}.sc-count strong{letter-spacing:-.03em;font-size:1.8rem;line-height:1.1;display:block}.sc-count span{color:var(--muted);font-size:.75rem}.sc-checks{gap:8px;margin-top:20px;display:grid}.check{background:var(--surface-2);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.check-dot{border:1.5px solid var(--border-strong);border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:.75rem;display:grid}.check.done .check-dot{background:var(--accent);border-color:var(--accent);color:var(--on-accent,#fff)}.check-label{flex:1}.check form{margin:0}.sc-foot{justify-content:flex-end;margin-top:12px;display:flex}.p-galleries{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.p-gallery{color:var(--text);background:var(--surface-2);border-radius:var(--r);font-weight:500;overflow:hidden}.p-gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.p-gallery span{padding:10px 12px;display:block}.p-gallery:hover{filter:brightness(1.1);text-decoration:none}.p-past{border-top:1px solid var(--border);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.or{color:var(--faint);align-items:center;gap:12px;margin:22px 0;font-size:.8rem;display:flex}.or:before,.or:after{content:"";background:var(--border);flex:1;height:1px}.slot-pick{border:0;margin:0;padding:0}.slot-pick legend{margin-bottom:8px;font-size:.9rem;font-weight:600}.slot-chip{border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;margin:0 6px 6px 0;padding:8px 14px;font-size:.9rem;display:inline-flex}.slot-chip:has(input:checked){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 22%, var(--surface-2))}.slot-chip input{display:none}.doc-page{background:var(--bg);min-height:100vh;padding-bottom:80px}.doc-head{justify-content:space-between;align-items:center;padding:22px clamp(16px,4vw,40px);display:flex}.doc-logo{font-weight:700}.doc-logo .logo-img,.doc-print-logo .logo-img{width:auto;max-height:34px}.doc{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:calc(100% - 32px);max-width:720px;margin:0 auto;padding:clamp(22px,5vw,48px)}.doc-intro{color:var(--muted);margin:-8px 0 28px}.doc-kicker{color:var(--accent-text);font-size:.85rem;font-weight:600}.doc-title{margin:4px 0 20px;font-size:clamp(1.8rem,4vw,2.4rem)}.doc-body{background:var(--surface-2);border-radius:var(--r);white-space:pre-wrap;margin-bottom:24px;padding:20px 22px;font-size:.95rem;line-height:1.65}.doc-body p{margin:0 0 12px}.ff{gap:0;display:grid}.ff-field{border-top:1px solid var(--border);padding:20px 0}.ff-field:first-child{border-top:0;padding-top:4px}.ff-num{min-width:26px;color:var(--faint);font-variant-numeric:tabular-nums;font-weight:500;display:inline-block}.ff-field>.ff-help,.ff-field>input,.ff-field>textarea,.ff-field>select,.ff-field>.ff-choices,.ff-field>.ff-answer{width:calc(100% - 26px);margin-left:26px}.ff-heading{border-top:1px solid var(--border-strong);color:var(--accent-text);margin:18px 0 0;padding:18px 0 6px;font-size:1.05rem}.ff-heading .ff-help{margin-top:4px;font-weight:400;display:block}.ff-label{color:var(--text);margin-bottom:6px;font-size:.95rem;font-weight:600;display:block}.ff-help{color:var(--muted);margin:-2px 0 8px;font-size:.82rem}.req{color:var(--bad)}.ff-answer{background:var(--surface-2);border-radius:var(--r-sm);white-space:pre-wrap;padding:10px 12px}.ff-answer.empty{color:var(--faint)}.ff-choices{flex-wrap:wrap;gap:8px;display:flex}.ff-choices.stacked{flex-direction:column;align-items:stretch;gap:6px}.ff-choices.stacked .choice{border-radius:var(--r-sm)}.choice{color:var(--text);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:8px;margin:0;padding:8px 14px;font-size:.92rem;font-weight:500;display:inline-flex}.choice:has(input:checked){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 20%, var(--surface-2))}.sign-block{border-top:1px solid var(--border);gap:14px;margin-top:8px;padding-top:20px;display:grid}.sig{border-radius:var(--r);background:#f4f3ef;overflow:hidden}.sig-canvas{touch-action:none;cursor:crosshair;width:100%;height:170px;display:block}.sig-foot{color:#555;border-top:1px dashed #c9c6bd;justify-content:space-between;align-items:center;padding:6px 10px 6px 14px;font-size:.8rem;display:flex}.sig-foot .btn.ghost{color:#555}.doc-sig{border-top:1px solid var(--border);margin-top:28px;padding-top:18px}.doc-sig img{background:#f4f3ef;border-radius:10px;width:100%;max-width:320px;display:block}.doc-sig-line{flex-direction:column;margin-top:8px;display:flex}.doc-sig-line span,.doc-audit{color:var(--muted);font-size:.82rem}.doc-audit{color:var(--faint);margin-top:6px;font-size:.75rem}.print-only{display:none}.fb-field{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:14px}.fb-field+.fb-field{margin-top:10px}.fb-top{grid-template-columns:170px minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.fb-options{margin-top:10px}.fb-add{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.fb-preview{position:sticky;top:20px}@media (max-width:700px){.fb-top{grid-template-columns:1fr}}.forms-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.form-card{color:var(--text);flex-direction:column;gap:6px;display:flex}.form-card:hover{border-color:var(--border-strong);text-decoration:none}.form-card p{color:var(--muted);flex:1;margin:0;font-size:.88rem}@media print{body,.doc-page{color:#111!important;background:#fff!important}.no-print,.nav,.foot,.mobile-cta,.side{display:none!important}.shell{display:block}.shell-main{padding:0}.print-only{margin-bottom:16px;display:block}.doc{box-shadow:none;color:#111;background:#fff;border:0;padding:0}.doc-body,.ff-answer{color:#111;background:#f6f6f4}.doc-kicker{color:#c4532d}.ff-label,.doc-sig-line strong{color:#111}}.p-forms{gap:8px;display:grid}.p-form{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.p-form:hover{border-color:var(--border-strong);text-decoration:none}.p-form .grow{flex-direction:column;flex:1;display:flex}.p-form.done .check-dot{background:var(--accent);border-color:var(--accent)}.p-form:not(.done){border-color:color-mix(in srgb, var(--accent) 50%, var(--border))}.p-form .arrow{color:var(--accent-text)}.date-chip{text-align:center;background:var(--surface-2);border-radius:12px;flex-shrink:0;width:46px;padding:6px 0}.date-chip span{color:var(--accent-text);text-transform:uppercase;font-size:.68rem;font-weight:600;display:block}.date-chip strong{font-size:1.15rem;line-height:1.1;display:block}.qa{gap:12px;margin:14px 0 0;display:grid}.qa dt{color:var(--muted);font-size:.8rem}.qa dd{white-space:pre-wrap;margin:2px 0 0}.mini-card{grid-template-columns:240px minmax(0,1fr);gap:20px;display:grid}.mini-img{flex-direction:column;gap:8px;display:flex}.mini-img img{aspect-ratio:4/3;object-fit:cover;border-radius:12px;width:100%}.is-placeholder{opacity:.4;filter:grayscale(.6)}@media (max-width:700px){.mini-card{grid-template-columns:1fr}}.spot-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.spot-card>img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.finder-results{background:var(--surface-3);border-radius:12px;gap:4px;margin-top:6px;padding:6px;display:grid}.finder-results button{text-align:left;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 10px;font-size:.85rem}.finder-results button:hover{background:var(--surface-2)}.font-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.font-opt{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);cursor:pointer;flex-direction:column;gap:6px;margin:0;padding:16px;display:flex}.font-opt:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent)}.font-opt input{display:none}.font-sample{letter-spacing:-.02em;color:var(--text);font-size:1.35rem;font-weight:600}.toggle-row{align-items:flex-start}.stat-inline{padding:10px 0;font-weight:600}.inquiry p{margin-bottom:12px}details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}code{background:var(--surface-2);border-radius:6px;padding:1px 6px;font-size:.85em}.client-hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px 32px;padding:26px 28px;display:grid}.ch-id{align-items:center;gap:18px;display:flex}.ch-id h1{margin:0 0 4px;font-size:clamp(1.6rem,3vw,2.2rem)}.avatar.xl{width:64px;height:64px;font-size:1.3rem}.ch-contact{flex-direction:column;justify-content:center;gap:8px;display:flex}.contact-chip{color:var(--text);background:var(--surface-2);border-radius:10px;align-items:baseline;gap:12px;padding:8px 12px;font-weight:500;display:flex}.contact-chip span{color:var(--faint);min-width:44px;font-size:.78rem;font-weight:500}a.contact-chip:hover{background:var(--surface-3);text-decoration:none}.ch-actions{border-top:1px solid var(--border);flex-wrap:wrap;grid-column:1/-1;gap:8px;padding-top:16px;display:flex}.client-summary{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.next-session{color:var(--text);align-items:flex-start;gap:16px;display:flex}.next-session:hover{border-color:var(--border-strong);text-decoration:none}.next-session .title{margin:2px 0;font-size:1.15rem;font-weight:600}.date-chip.lg{width:64px;padding:10px 0}.date-chip.lg strong{font-size:1.6rem}.client-cols{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.list-row.linked{color:var(--text);text-decoration:none}.list-row.linked:hover{background:var(--surface-2)}.danger-zone{border-color:color-mix(in srgb, var(--bad) 25%, var(--border))}@media (max-width:960px){.client-hero,.client-summary,.client-cols{grid-template-columns:1fr}}.admin-root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#121826;--surface:#1a2233;--surface-2:#212b40;--surface-3:#29344c;--border:#2c3750;--border-strong:#3a4763;--text:#f4efe4;--muted:#aeb5c4;--faint:#7c8599;--accent:#d4653d;--accent-hover:#e27d56;--accent-text:#f0a07f;--on-accent:#fff;--forest:#3b2a2a;--ok:#7cc49a;--warn:#e7b24a;--bad:#f08e7a;--info:#9fb4e0;--chart:#e7b24a;background:var(--bg);color:var(--text);min-height:100vh}.admin-root[data-admin-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4efe4;--surface:#fffdf8;--surface-2:#f6f1e7;--surface-3:#eee6d6;--border:#e2d8c4;--border-strong:#d3c6ac;--text:#26252b;--muted:#6b6558;--faint:#9b9486;--accent:#c4532d;--accent-hover:#a8431f;--accent-text:#a8431f;--on-accent:#fff;--forest:#f6ddd2;--ok:#2f7a55;--warn:#9a6a12;--bad:#b3392c;--info:#3b6284;--chart:#c4532d}.admin-root[data-admin-theme=light] .card{box-shadow:0 1px 2px #26252b0d}.admin-root[data-admin-theme=light] .side{background:#ebe2cf}.admin-root[data-admin-theme=light] .avatar{color:#1f2d48;background:#f3d58f}.admin-root[data-admin-theme=light] .sig{background:#f6f1e7}.admin-root[data-admin-theme=dark] .side{background:#161d2c}.admin-root[data-admin-theme=dark] .avatar{color:#f3d58f;background:#3a3222}.admin-root .side-label,.admin-root th{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:500}.theme-toggle{align-items:center;gap:11px;display:flex}.preset-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;display:grid}.preset{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);color:var(--text);font:inherit;cursor:pointer;text-align:left;flex-direction:column;gap:8px;padding:10px;font-size:.88rem;display:flex}.preset:hover{border-color:var(--border-strong)}.preset-swatch{border:1px solid;border-radius:8px;align-items:flex-end;gap:6px;height:56px;padding:10px;display:flex}.preset-swatch span{border-radius:3px;flex:1;height:100%}.preset-swatch span:nth-child(2){height:55%}.preset-swatch span:nth-child(3){height:25%}.color-editor{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.color-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.color-field{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);align-items:center;gap:10px;margin:0;padding:8px;display:flex}.color-field input[type=color]{cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;width:40px;height:40px;padding:0}.color-field>span{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.cf-label{color:var(--muted);font-size:.75rem}.color-field input[name]{padding:4px 6px;font-family:ui-monospace,monospace;font-size:.85rem}.color-preview{border:1px solid;border-radius:10px;position:sticky;top:20px;overflow:hidden}@media (max-width:900px){.color-editor{grid-template-columns:1fr}}.note-form{gap:10px;margin:14px 0 18px;display:grid}.note-kinds{border-radius:12px;flex-wrap:wrap}.note-kinds label{cursor:pointer;margin:0;display:inline-flex}.note-kinds input{display:none}.note-kinds span{color:var(--muted);border-radius:999px;padding:5px 12px;font-size:.82rem;font-weight:500}.note-kinds label:has(input:checked) span{background:var(--surface-3);color:var(--text)}.note-list{gap:10px;max-height:520px;display:grid;overflow-y:auto}.note{border-left:2px solid var(--border-strong);padding:2px 0 2px 12px}.note.pinned{border-left-color:var(--accent)}.note p{white-space:pre-wrap;margin:4px 0 0;font-size:.92rem}.note-meta{color:var(--faint);flex-wrap:wrap;align-items:center;gap:10px;font-size:.78rem;display:flex}.note-kind{color:var(--text);font-weight:600}.note-pin{color:var(--accent-text)}.note-tools{gap:10px;margin-left:auto;display:flex}.link-btn{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:.78rem}.link-btn:hover{color:var(--text)}.danger-text:hover{color:var(--bad)}.gate{background:var(--bg);grid-template-columns:minmax(0,1.25fr) minmax(360px,1fr);min-height:100vh;display:grid}.gate-cover{background:var(--surface);position:relative}.gate-cover img{object-fit:cover;object-position:center 30%;width:100%;height:100%;position:absolute;inset:0}.gate-panel{align-items:center;padding:48px clamp(20px,5vw,64px);display:flex}.gate-inner{width:100%;max-width:400px}.gate-title{font-family:var(--display);letter-spacing:-.02em;margin:8px 0 0;font-size:clamp(2rem,4vw,2.8rem);font-weight:600}@media (max-width:820px){.gate{grid-template-columns:1fr}.gate-cover{height:46vh}.gate-panel{align-items:flex-start;padding-top:28px}}.series-preview{flex-wrap:wrap;gap:6px;display:flex}.series-preview span{background:var(--surface-2);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:6px;padding:3px 8px;font-size:.8rem}.series-preview span.faint{background:0 0;border:0}.pkg-layout{grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.pkg-groups{position:sticky;top:20px}.group-edit{flex:1;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.group-edit input[name=name]{padding:7px 10px}.group-edit .check-row{font-size:.8rem}.pkg-meta{white-space:nowrap}@media (max-width:960px){.pkg-layout{grid-template-columns:1fr}.pkg-groups{position:static}}.breakdown{gap:10px;display:grid}.bd-row{grid-template-columns:minmax(90px,140px) minmax(0,1fr) auto;align-items:center;gap:12px;font-size:.9rem;display:grid}.bd-bar{background:var(--surface-3);border-radius:4px;height:8px;overflow:hidden}.bd-bar span{background:var(--chart);border-radius:4px;height:100%;display:block}.shell-main{min-width:0}.shell-main .seg{flex-wrap:wrap;max-width:100%}:root{--control-h:42px}input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):not([type=range]),select{height:var(--control-h);box-sizing:border-box;padding-top:0;padding-bottom:0;line-height:normal}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:34px}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=date],input[type=time]{min-width:0}input[type=date]::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer}input[type=time]::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer}.admin-root[data-admin-theme=dark] input[type=date]::-webkit-calendar-picker-indicator{filter:invert()}.admin-root[data-admin-theme=dark] input[type=time]::-webkit-calendar-picker-indicator{filter:invert()}.ctl-sm,.row>select.ctl-sm,input.ctl-sm{--control-h:34px;padding-left:10px;font-size:.85rem;height:34px!important}:is(.grid-2:has(>div>label,>div>input,>div>select),.grid-3:has(>div>label,>div>input,>div>select),.grid-4:has(>div>label,>div>input,>div>select)){align-items:end}.grid-4>.stat,.grid-3>.stat{flex-direction:column;height:100%;min-height:118px;display:flex}.stat .hint{margin-top:auto;padding-top:4px}.grid-2>div>label,.grid-3>div>label,.grid-4>div>label{min-height:20px}.btn{min-height:38px}.btn.sm{min-height:32px}.btn.icon{min-height:0}.row>.btn,.row>form>.btn{align-self:center}.field-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.field-row>*{flex:160px;min-width:0}.field-row>.btn,.field-row>button{height:var(--control-h);flex:none}.group-row{border-top:1px solid var(--border);align-items:center;gap:10px;padding-top:12px;display:flex}.group-row .group-edit{flex:1;display:flex}.groups-card summary::-webkit-details-marker{display:none}.series-summary{gap:8px;display:grid}.inq-manage{border-top:1px solid var(--border);grid-template-columns:170px 170px minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:14px;padding-top:14px;display:grid}.inq-manage .btn{height:var(--control-h)}@media (max-width:760px){.inq-manage{grid-template-columns:1fr 1fr}.inq-notes{grid-column:1/-1}}.gallery-item{background:0 0;flex-direction:column;display:flex}.gallery-item .gi-open{background:var(--surface);border-radius:8px;position:relative;overflow:hidden}.gallery-item.passed .gi-open img{opacity:.35;filter:grayscale(.6)}.gi-badge{color:#ff6b6b;background:#0000008c;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:8px;right:8px}.fb{align-items:center;gap:4px;padding:6px 2px 2px;display:flex}.fb-btn{border:1px solid var(--border);background:var(--surface);min-width:32px;height:32px;color:var(--muted);cursor:pointer;font:inherit;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:.85rem;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.fb-btn:hover{color:var(--text);border-color:var(--border-strong)}.fb-btn.love.on{color:#ff6b6b;border-color:color-mix(in srgb, #ff6b6b 50%, var(--border));background:color-mix(in srgb, #ff6b6b 12%, var(--surface))}.fb-btn.pass.on{color:var(--text);background:var(--surface-3);border-color:var(--border-strong)}.fb-stars{margin-left:auto;display:inline-flex}.fb-stars button{color:var(--border-strong);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:1.05rem;line-height:1;transition:color .1s,transform .1s}.fb-stars:hover button{color:#f0c36a}.fb-stars button:hover~button{color:var(--border-strong)}.fb-stars button.on{color:#f0c36a}.fb-stars button:active{transform:scale(.85)}.fb.big .fb-btn{color:#eee;background:#ffffff0f;border-color:#ffffff2e;height:38px;padding:0 14px;font-size:.9rem}.fb.big .fb-stars{margin-left:8px}.fb.big .fb-stars button{font-size:1.4rem}.fb-tip{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:12px 16px;font-size:.92rem;display:flex}.gallery-grid{columns:3 300px;column-gap:14px}.gallery-grid .gallery-item{break-inside:avoid;margin-bottom:14px}.fb-admin-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.fb-admin{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);margin:0;overflow:hidden}.fb-admin img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.fb-admin.passed img{opacity:.4;filter:grayscale(.7)}.fb-admin figcaption{flex-direction:column;gap:4px;padding:8px 10px 10px;display:flex}.fb-admin-stats{align-items:center;gap:10px;font-size:.85rem;display:flex}.fb-admin-stats .love{color:#e0605f;font-weight:600}.fb-admin-stats .pass{color:var(--muted)}.fb-admin-stats .stars,.stars-inline{color:#d9a93a;letter-spacing:1px}.act-thumb{object-fit:cover;border-radius:6px;flex-shrink:0;width:44px;height:34px}.act-thumb.empty{background:var(--surface-3);display:inline-block}.preset.current{border-color:var(--accent)}.match-swatch{color:var(--muted);background:0 0;justify-content:center;align-items:center;font-size:.8rem;border-style:dashed!important;border-color:var(--border-strong)!important}.kind-dot{background:var(--info);border-radius:50%;flex-shrink:0;width:8px;height:8px}.kind-dot.contract{background:var(--accent-text)}.th-sort{white-space:nowrap;color:inherit!important;font-weight:500!important}.th-sort.on{color:var(--text)!important}.th-sort:hover{text-decoration:none;color:var(--text)!important}.col-picker{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.note-cell{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:260px;color:var(--muted);display:inline-block;overflow:hidden}.clients-table td{vertical-align:middle}.cal-legend{color:var(--muted);gap:18px;font-size:.82rem;display:flex}.cal-legend span{align-items:center;gap:6px;display:inline-flex}.cal-legend i.ev{border-radius:3px;width:12px;height:12px;padding:0;display:inline-block}.cal-wrap{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;display:grid}.cal-wrap.with-day{grid-template-columns:minmax(0,1fr) 320px}.cal-day{min-height:124px;color:var(--text);gap:3px}.cal-day.sel{box-shadow:inset 0 0 0 2px var(--accent)}.cal-top{justify-content:space-between;align-items:center;gap:6px;margin-bottom:2px;display:flex}.cal-num:hover{background:var(--surface-3);text-decoration:none}.cal-count{color:var(--faint);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;overflow:hidden}.ev{color:var(--text);border-left:3px solid #0000;border-radius:6px;flex-direction:column;gap:1px;min-width:0;padding:4px 7px;font-size:.75rem;line-height:1.3;display:flex}.ev:hover{filter:brightness(1.08);text-decoration:none}.ev.booked{background:color-mix(in srgb, var(--accent) 18%, var(--surface-2));border-left-color:var(--accent)}.ev.held{background:color-mix(in srgb, var(--warn) 16%, var(--surface-2));border-left-color:var(--warn)}.ev.open{border:1px dashed var(--border-strong);color:var(--muted);background:0 0}.ev.blocked{background:var(--surface-3);color:var(--faint)}.ev-time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.7rem}.ev-title{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.ev-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ev-flags{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.flag{background:var(--surface-3);color:var(--muted);border-radius:999px;padding:1px 6px;font-size:.66rem;font-style:normal}.flag.warn{color:var(--warn)}.flag.info{color:var(--info)}.flag.ok{color:var(--ok)}.flag.bad{color:var(--bad)}.day-panel{position:sticky;top:20px}.day-panel .ev{padding:10px 12px;font-size:.85rem}.week-head,.week-body{grid-template-columns:56px repeat(7,minmax(0,1fr));display:grid}.week-head span{color:var(--muted);border-bottom:1px solid var(--border);padding:10px 8px;font-size:.82rem}.week-head span.today{color:var(--text);box-shadow:inset 0 -2px var(--accent)}.week-body{height:calc(var(--rows) * 48px);position:relative}.week-hours{grid-template-rows:repeat(var(--rows), 1fr);border-right:1px solid var(--border);display:grid}.week-hours span{color:var(--faint);border-top:1px solid var(--border);padding:2px 6px;font-size:.7rem}.week-col{border-right:1px solid var(--border);background-image:linear-gradient(var(--border) 1px, transparent 1px);background-size:100% calc(100% / var(--rows));position:relative}.week-col:last-child{border-right:0}.week-ev{position:absolute;left:3px;right:3px;overflow:hidden}.week-ev .ev{height:100%}.agenda-day{gap:8px;display:grid}.agenda-row{background:var(--surface-2);color:var(--text);border-radius:10px;grid-template-columns:130px minmax(0,1.4fr) minmax(0,1fr) 130px auto;align-items:center;gap:12px;padding:10px 12px;font-size:.9rem;display:grid}.agenda-row:hover{background:var(--surface-3);text-decoration:none}.agenda-open{color:var(--muted);font-size:.82rem}@media (max-width:1000px){.cal-wrap.with-day{grid-template-columns:1fr}.agenda-row{grid-template-columns:1fr;gap:4px}}.dash{gap:28px;display:grid}.dash-section{gap:16px;display:grid}.dash-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:12px;margin:0;font-size:.72rem;font-weight:600;display:flex}.dash-section-title:after{content:"";background:var(--border);flex:1;height:1px}.dash-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.dash-col{align-content:start;gap:16px;display:grid}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.stat-grid>.stat{flex-direction:column;min-height:118px;display:flex}@media (max-width:1000px){.dash-pair{grid-template-columns:1fr}}@media (max-width:700px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.widget-picker{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;display:grid}.widget-opt{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:10px;align-items:center;gap:10px;margin:0;padding:8px 10px;font-size:.9rem;font-weight:400;display:flex}.widget-opt .grow{flex:1}.waiting-grid{background:var(--border);border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:1px;display:grid}.waiting{background:var(--surface);align-content:start;gap:6px;padding:14px 18px;display:grid}.waiting strong{font-size:1.3rem}.waiting-item{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--text)!important}.pipe-strip{background:var(--border);border-top:1px solid var(--border);grid-template-columns:repeat(6,1fr);gap:1px;display:grid}.pipe-cell{background:var(--surface);text-align:center;color:var(--text);padding:14px 10px}.pipe-cell:hover{background:var(--surface-2);text-decoration:none}.pipe-cell strong{letter-spacing:-.02em;font-size:1.5rem;display:block}.pipe-cell span{color:var(--muted);font-size:.78rem}.avail-strip{grid-template-columns:repeat(14,minmax(0,1fr));gap:6px;height:130px;margin-top:14px;display:grid}.avail-day{color:var(--muted);flex-direction:column;gap:6px;display:flex}.avail-day:hover{color:var(--text);text-decoration:none}.avail-bar{background:var(--surface-2);border-radius:6px;flex-direction:column-reverse;flex:1;display:flex;overflow:hidden}.avail-bar .booked{background:var(--chart)}.avail-bar .open{background:color-mix(in srgb, var(--chart) 30%, transparent)}.avail-label{text-align:center;white-space:nowrap;font-size:.68rem}.legend-dot{vertical-align:middle;border-radius:2px;width:9px;height:9px;margin:0 4px 0 10px;display:inline-block}.legend-dot.booked{background:var(--chart)}.legend-dot.open{background:color-mix(in srgb, var(--chart) 30%, transparent)}.bar-label{white-space:nowrap}@media (max-width:700px){.waiting-grid{grid-template-columns:1fr}.pipe-strip{grid-template-columns:repeat(3,1fr)}.avail-label{font-size:.55rem}}.portal-theme{background:var(--bg);color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;min-height:100vh}@media (prefers-color-scheme:dark){.portal-theme{--lightningcss-light: ;--lightningcss-dark:initial}}.portal-theme .portal,.portal-theme .doc-page{background:var(--bg)}.portal-theme .portal-head,.portal-theme .doc-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;max-width:1520px;margin:0 auto;padding:22px clamp(18px,4vw,64px);display:flex}.portal-theme .logo-link,.portal-theme .doc-logo{color:var(--text);letter-spacing:-.01em;font-size:1rem;font-weight:600}.portal-head-right{align-items:center;gap:18px;display:flex}.portal-theme .portal-tag{color:var(--muted);font-size:.85rem}.text-btn{font:inherit;color:var(--text);cursor:pointer;border:0;border-bottom:1px solid var(--border-strong);background:0 0;padding:0 0 2px;font-size:.88rem}.text-btn:hover{border-bottom-color:var(--text);text-decoration:none}.mode-toggle{border:1px solid var(--border);height:32px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:2px;align-items:center;gap:6px;min-width:74px;padding:0 10px;font-size:.82rem;display:inline-flex}.mode-toggle:hover{color:var(--text);border-color:var(--border-strong)}.portal-theme .portal-main{max-width:820px;padding:clamp(32px,5vw,64px) clamp(18px,4vw,32px) 96px}.portal-theme .portal-grid{gap:20px}.portal-theme .portal-card,.portal-theme .doc{background:var(--surface-2);border:1px solid var(--border);box-shadow:none;border-radius:2px}.portal-theme .doc{margin-top:clamp(28px,5vw,56px)}.portal-theme .portal-hello{padding:0 0 8px}.portal-theme .p-title,.portal-theme .doc-title,.portal-theme .gate-title{font-family:var(--display);letter-spacing:-.005em;font-variation-settings:"opsz" 144, "SOFT" 50;font-size:clamp(2rem,4vw,2.8rem);font-weight:600}.portal-theme .p-h2{font-family:var(--display);letter-spacing:0;font-size:1.6rem;font-weight:600}.portal-theme .p-kicker,.portal-theme .doc-kicker{color:var(--muted);font-size:.82rem;font-weight:500}.portal-theme .sc-count{border:1px solid var(--border);background:0 0;border-radius:2px}.portal-theme .sc-count strong{font-family:var(--display);font-weight:600}.portal-theme .sc-checks{border-top:1px solid var(--border);gap:0;margin-top:22px}.portal-theme .check{border-bottom:1px solid var(--border);background:0 0;border-radius:0;padding:14px 0}.portal-theme .check-dot{border-radius:50%}.portal-theme .check.done .check-dot,.portal-theme .p-form.done .check-dot{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.portal-theme .p-form{border:0;border-bottom:1px solid var(--border);background:0 0;border-radius:0;padding:14px 0}.portal-theme .p-form:not(.done){border-color:var(--border)}.portal-theme .p-form:first-child{border-top:1px solid var(--border)}.portal-theme .p-forms{gap:0}.portal-theme .p-gallery{background:0 0;border-radius:0}.portal-theme .p-gallery span{padding:10px 0 0}.portal-theme .btn{border-radius:2px}.portal-theme .btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.portal-theme .btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.portal-theme .btn.ghost{color:var(--muted)}.portal-theme input,.portal-theme select,.portal-theme textarea{background:var(--bg);border-radius:2px}.portal-theme .alert,.portal-theme .slot-chip,.portal-theme .choice{border-radius:2px}.portal-theme .doc-body{background:var(--bg);border:1px solid var(--border);border-radius:0}.portal-theme .ff-answer{background:var(--bg);border-radius:0}.portal-theme .narrow-card{margin-top:clamp(24px,6vh,64px)}.portal-theme .or:before,.portal-theme .or:after{background:var(--border)}.portal-theme a:not(.btn):not(.p-form):not(.p-gallery):not(.logo-link){color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}.portal-theme a:not(.btn):hover{-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}.portal-theme .p-form,.portal-theme .p-gallery,.portal-theme .logo-link{text-decoration:none}.client-galleries{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;padding:4px 16px 16px;display:grid}.client-gallery{border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2);color:var(--text);transition:border-color .2s, transform .2s var(--ease);flex-direction:column;display:flex;overflow:hidden}.client-gallery:hover{border-color:var(--border-strong);text-decoration:none;transform:translateY(-2px)}.client-gallery-cover{aspect-ratio:4/3;background:var(--surface-3);color:var(--muted);justify-content:center;align-items:center;font-size:.8rem;display:flex;position:relative}.client-gallery-cover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.client-gallery-cover .badge{background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:absolute;top:8px;left:8px}.client-gallery-body{gap:2px;padding:10px 12px 12px;display:grid}.client-gallery-body strong{font-size:.92rem;line-height:1.3}.owed,.stat .value.owed{color:var(--bad);font-weight:600}.cal-step{gap:6px;display:inline-flex}@media (max-width:700px){.week{-webkit-overflow-scrolling:touch;overflow-x:auto}.week-head,.week-body{grid-template-columns:44px repeat(7,minmax(78px,1fr));min-width:600px}.week-head>:first-child,.week-hours{z-index:2;background:var(--surface);position:sticky;left:0}.week-hours span{padding:2px 4px}.clients-table th:first-child,.clients-table td:first-child{z-index:1;background:var(--surface);max-width:168px;box-shadow:1px 0 0 var(--border);position:sticky;left:0}.clients-table td:first-child .avatar{display:none}.clients-table td:first-child .muted,.clients-table td:first-child a{text-overflow:ellipsis;white-space:nowrap;max-width:140px;display:block;overflow:hidden}.audit-table thead{display:none}.audit-table tr{border-top:1px solid var(--border);grid-template-columns:1fr auto;gap:2px 12px;padding:10px 0;display:grid}.audit-table td{border:0;padding:0;display:block;white-space:normal!important;max-width:none!important}.audit-table td:first-child{order:2;grid-column:1/-1}.audit-table td:nth-child(2){order:1}.audit-table td:nth-child(4){text-align:right;order:1}.audit-table td:nth-child(3){order:3;grid-column:1/-1}}
