:root{--cream:#f7f3ee;--cream-dark:#ede7dc;--gold:#b89a6a;--gold-light:#d4bc96;--gold-pale:#f0e8d8;--ink:#1a1714;--ink-mid:#4a4540;--ink-soft:#8a837a;--white:#fff;--border:#e2d9cc;--danger:#c0504a;--danger-bg:#fef2f2;--success:#6b9e78;--radius:12px;--radius-sm:8px;--shadow:0 2px 16px #1a171412;--shadow-md:0 4px 32px #1a17141f;--font-serif:"Cormorant Garamond", Georgia, serif;--font-sans:"Inter", system-ui, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);background:var(--cream);color:var(--ink);min-height:100dvh}img{max-width:100%;display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}[hidden]{display:none!important}.boot{background:linear-gradient(135deg, var(--cream) 0%, var(--gold-pale) 100%);justify-content:center;align-items:center;min-height:100dvh;padding:32px;display:flex}.boot-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:460px;box-shadow:var(--shadow-md);text-align:center;padding:36px 32px}.boot-monogram{width:56px;height:56px;margin:0 auto 18px}.boot h1{font-family:var(--font-serif);letter-spacing:.02em;margin-bottom:4px;font-size:26px;font-weight:400}.boot .tagline{letter-spacing:.22em;color:var(--gold);text-transform:uppercase;margin-bottom:24px;font-size:10px}.boot .status{color:var(--ink-mid);border-radius:var(--radius-sm);background:var(--cream);border:1px solid var(--border);padding:12px 16px;font-size:13px}.boot .status.ok{color:var(--success);border-color:var(--success)}.boot .status.error{color:var(--danger);border-color:var(--danger);background:var(--danger-bg)}.boot .hint{color:var(--ink-soft);margin-top:16px;font-size:11px}.auth{background:linear-gradient(135deg, var(--cream) 0%, var(--gold-pale) 100%);justify-content:center;align-items:center;min-height:100dvh;padding:32px;display:flex}.auth-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow-md);text-align:center;flex-direction:column;gap:14px;padding:36px 32px;display:flex}.auth-card .boot-monogram{width:56px;height:56px;margin:0 auto 8px}.auth-card h1{font-family:var(--font-serif);letter-spacing:.02em;font-size:26px;font-weight:400}.auth-card .tagline{letter-spacing:.22em;color:var(--gold);text-transform:uppercase;margin-bottom:8px;font-size:10px}.auth-error{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger);border-radius:var(--radius-sm);text-align:left;padding:10px 12px;font-size:13px}.field{text-align:left;flex-direction:column;gap:4px;display:flex}.field>span{letter-spacing:.14em;color:var(--ink-soft);text-transform:uppercase;font-size:11px}.field input,.field textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--cream);color:var(--ink);padding:10px 12px}.field input:focus,.field textarea:focus{border-color:var(--gold);background:var(--white);outline:none}.btn-primary{background:var(--ink);color:var(--cream);border-radius:var(--radius-sm);letter-spacing:.04em;padding:11px 22px;font-size:13px;font-weight:500;transition:background .15s}.btn-primary:hover:not(:disabled){background:var(--ink-mid)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-link{color:var(--ink-mid);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px}.btn-link:hover{color:var(--ink);background:var(--cream-dark)}.app{min-height:100dvh}.topnav{z-index:100;background:var(--white);border-bottom:1px solid var(--border);height:60px;box-shadow:var(--shadow);align-items:center;gap:20px;padding:0 20px;display:flex;position:sticky;top:0}.topnav-logo{flex-shrink:0;align-items:center;gap:10px;display:flex}.topnav-mark{flex-shrink:0;width:38px;height:38px}.topnav-wordmark{flex-direction:column;line-height:1;display:flex}.topnav-wordmark span:first-child{font-family:var(--font-serif);letter-spacing:.18em;color:var(--ink);text-transform:uppercase;font-size:15px;font-weight:500}.topnav-wordmark span:last-child{letter-spacing:.22em;color:var(--gold);text-transform:uppercase;margin-top:2px;font-size:9px}.topnav-crumb{color:var(--ink-mid);flex:1;align-items:center;gap:8px;font-size:13px;display:flex;overflow:hidden}.topnav-crumb span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topnav-crumb-sep{color:var(--ink-soft);flex-shrink:0}.topnav-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.user-email{color:var(--ink-soft);font-size:12px}.hamburger{flex-direction:column;gap:5px;padding:8px;display:none}.hamburger span{background:var(--ink);border-radius:2px;width:22px;height:2px;display:block}.app-sidebar{z-index:90;background:var(--white);border-right:1px solid var(--border);flex-direction:column;gap:18px;width:240px;padding:20px 0;display:flex;position:fixed;top:60px;bottom:0;left:0;overflow-y:auto}.sidebar-back{color:var(--ink-soft);letter-spacing:.04em;padding:0 20px 4px;font-size:12px}.sidebar-back:hover{color:var(--gold)}.sidebar-project-name{font-family:var(--font-serif);color:var(--ink);border-bottom:1px solid var(--border);margin-bottom:4px;padding:0 20px 8px;font-size:18px;font-weight:500}.sidebar-section{flex-direction:column;gap:1px;display:flex}.sidebar-label{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px;padding:0 20px;font-size:10px;font-weight:600}.sidebar-item{color:var(--ink-mid);white-space:nowrap;border-left:3px solid #0000;align-items:center;gap:11px;padding:11px 20px;font-size:13.5px;transition:background .15s,color .15s;display:flex;overflow:hidden}.nav-icon{flex-shrink:0;width:18px;height:18px}.sidebar-item:hover{background:var(--cream);color:var(--ink)}.sidebar-item.is-active{background:var(--gold-pale);color:var(--gold);border-left-color:var(--gold);font-weight:500}.sidebar-item.is-disabled{color:var(--ink-soft);cursor:not-allowed;opacity:.5}.sidebar-backdrop{z-index:85;opacity:0;pointer-events:none;background:#1a171466;transition:opacity .2s;position:fixed;inset:60px 0 0}body.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}.app-main{min-width:0;margin-left:240px;padding:28px 32px 80px}@media (max-width:900px){.hamburger{display:flex}.app-sidebar{width:260px;transition:transform .2s;transform:translate(-100%)}body.sidebar-open .app-sidebar{transform:translate(0)}.app-main{margin-left:0;padding:20px 16px 80px}.topnav-wordmark span:first-child{font-size:13px}.topnav-crumb{font-size:12px}.user-email{display:none}}.page{flex-direction:column;gap:24px;display:flex}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-head h1{font-family:var(--font-serif);font-size:32px;font-weight:400}.muted{color:var(--ink-soft);font-size:13px}.back-link{color:var(--ink-soft);letter-spacing:.04em;font-size:12px}.back-link:hover{color:var(--ink)}.loading{text-align:center;color:var(--ink-soft);padding:48px;font-size:13px}.empty{text-align:center;background:var(--white);border:1px dashed var(--border);border-radius:var(--radius);flex-direction:column;align-items:center;gap:16px;padding:48px;display:flex}.grid.projects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.project-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s;display:block;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.project-card-body{flex-direction:column;gap:10px;padding:20px;display:flex}.project-card-eyebrow{letter-spacing:.22em;color:var(--gold);text-transform:uppercase;font-size:10px}.project-card h3{font-family:var(--font-serif);font-size:22px;font-weight:400}.project-card-addr{color:var(--ink-soft);font-size:12px}.project-card-desc{color:var(--ink-mid);font-size:13px;line-height:1.5}.project-card-meta{color:var(--ink-soft);border-top:1px solid var(--border);justify-content:space-between;padding-top:10px;font-size:11px;display:flex}.hero{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px}.hero-info{flex-direction:column;gap:10px;display:flex}.hero-info .eyebrow{letter-spacing:.22em;color:var(--gold);text-transform:uppercase;font-size:10px}.hero-info h1{font-family:var(--font-serif);font-size:36px;font-weight:400}.hero-addr{color:var(--ink-soft);font-size:13px}.hero-desc{color:var(--ink-mid);max-width:640px;font-size:14px;line-height:1.6}.hero-meta{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin-top:12px;padding-top:16px;font-size:14px;display:grid}.hero-meta .muted{letter-spacing:.14em;text-transform:uppercase;font-size:10px}.placeholder-panel{background:var(--white);border:1px dashed var(--border);border-radius:var(--radius);text-align:center;padding:32px}.placeholder-panel h2{font-family:var(--font-serif);margin-bottom:8px;font-size:22px;font-weight:400}.modal{z-index:100;background:#1a171473;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{background:var(--white);border-radius:var(--radius);width:100%;max-width:480px;max-height:calc(100dvh - 48px);box-shadow:var(--shadow-md);flex-direction:column;gap:14px;padding:28px;display:flex;overflow-y:auto}.modal-card h2{font-family:var(--font-serif);font-size:22px;font-weight:400}.modal-actions{align-items:center;gap:8px;margin-top:8px;display:flex}.modal-error{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px}.field-checkbox{align-items:center;gap:10px;font-size:14px;display:flex}.field-checkbox input{width:16px;height:16px}.btn-danger{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-sm);padding:9px 14px;font-size:13px}.btn-danger:hover{background:var(--danger);color:var(--white)}.btn-danger-link{color:var(--danger)}.btn-danger-link:hover{background:var(--danger-bg);color:var(--danger)}.icon-btn{width:28px;height:28px;color:var(--ink-soft);border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.icon-btn:hover{background:var(--cream-dark);color:var(--ink)}.hero-actions{gap:8px;margin-top:12px;display:flex}.panel{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:16px;padding:24px;display:flex}.panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-head h2,.panel-head h3{font-family:var(--font-serif);font-weight:400}.panel-head h2{font-size:22px}.panel-head h3{font-size:17px}.panel-divider{background:var(--border);height:1px}.empty-inline{text-align:center;color:var(--ink-soft);background:var(--cream);border-radius:var(--radius-sm);padding:24px;font-size:13px}.two-col{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;display:grid}.rooms-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.room-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;flex-direction:column;gap:10px;padding:16px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.room-card:hover{box-shadow:var(--shadow-md);border-color:var(--gold-light);transform:translateY(-2px)}.room-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.room-card h3{font-family:var(--font-serif);font-size:18px;font-weight:400}.room-card-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.room-card-footer{color:var(--ink-soft);border-top:1px solid var(--border);padding-top:8px;font-size:12px}.chip{letter-spacing:.08em;text-transform:uppercase;background:var(--cream-dark);color:var(--ink-soft);border:1px solid #0000;border-radius:999px;padding:4px 11px;font-size:10px;font-weight:600;display:inline-block}.chip-planned,.chip-proposed,.chip-skipped{background:var(--cream-dark);color:var(--ink-soft)}.chip-in_progress,.chip-approved,.chip-ordered,.chip-shipped{background:var(--gold-pale);color:var(--gold);border-color:var(--gold-light)}.chip-delivered,.chip-installed,.chip-complete,.chip-completed{color:var(--success);background:#e8f0e5;border-color:#c9dec4}.chip-blocked,.chip-rejected,.chip-backordered{background:var(--danger-bg);color:var(--danger);border-color:#f1c8c5}.approved-stamp{margin-top:3px;font-size:11.5px}.room-status-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.room-readiness{border:1px solid var(--border);background:var(--cream);border-radius:8px;margin-top:10px;padding:10px 12px;font-size:12.5px}.room-readiness ul{color:var(--ink-mid);margin:0;padding-left:18px}.room-readiness li+li{margin-top:2px}.room-readiness.is-ready{border-color:var(--success)}.room-readiness-verdict{color:var(--success);margin-bottom:4px;font-weight:600}.room-card-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;padding-top:10px;display:flex}.btn-sm{padding:6px 12px;font-size:12.5px}.room-feedback{flex-direction:column;gap:8px;margin-top:8px;display:flex}.room-feedback li{background:var(--gold-pale);border:1px solid var(--gold-light);border-radius:var(--radius-sm);padding:8px 10px;font-size:12.5px}.room-feedback-body{color:var(--ink);margin-bottom:2px}.contacts,.notes{flex-direction:column;gap:12px;display:flex}.contact,.note{background:var(--cream);border-radius:var(--radius-sm);gap:10px;padding:12px;display:flex}.contact{justify-content:space-between;align-items:flex-start;gap:14px}.contact>div{flex-direction:column;flex:1;gap:2px;display:flex}.contact-avatar{background:var(--gold-pale);width:42px;height:42px;font-family:var(--font-serif);color:var(--gold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;font-weight:500;display:flex}.contact-role{letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-size:10px;font-weight:500}.contact-name{font-weight:500}.contact-line{font-size:13px}.contact-line a{color:var(--ink-mid)}.contact-line a:hover{color:var(--gold);text-decoration:underline}.note{flex-direction:column;gap:8px}.note-pinned{background:var(--gold-pale)}.note-body{white-space:pre-wrap;font-size:14px;line-height:1.5}.note-foot{justify-content:space-between;align-items:center;font-size:12px;display:flex}.palette-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.color-swatch{background:var(--cream);border-radius:var(--radius-sm);border:1px solid var(--border);text-align:left;align-items:center;gap:10px;padding:10px;display:flex}.color-swatch:hover{background:var(--white);box-shadow:var(--shadow)}.swatch{border:1px solid var(--border);border-radius:6px;width:36px;height:36px;display:block}.swatch-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.swatch-name{font-size:13px;font-weight:500}.table-wrap{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}.specs-table{border-collapse:collapse;width:100%;min-width:720px;font-size:13px}.specs-table thead{background:var(--cream)}.specs-table th{text-align:left;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 16px;font-size:10px;font-weight:600}.specs-table td{border-top:1px solid var(--border);color:var(--ink-mid);vertical-align:middle;padding:12px 16px}.specs-table tbody tr:hover td{background:var(--cream)}.specs-table tr:last-child td{border-bottom:0}.spec-name{color:var(--ink);font-weight:500}.spec-vendor{color:var(--ink-soft);font-size:12px}.spec-item{font-weight:500}.spec-notes{max-width:300px;margin-top:4px;font-size:12px}.punch-list,.schedule-list{flex-direction:column;gap:10px;display:flex}.punch-item{background:var(--cream);border-radius:var(--radius-sm);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.punch-item input[type=checkbox]{width:16px;height:16px;margin-top:3px}.punch-item.done .punch-body{opacity:.55;text-decoration:line-through}.punch-body{flex-direction:column;flex:1;gap:2px;display:flex}.small{font-size:12px}.schedule-item{background:var(--cream);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:10px 12px;display:flex}.schedule-item>div:first-child{flex-direction:column;flex:1;gap:2px;display:flex}.hero.hero-with-image{padding:0;overflow:hidden}.hero.hero-with-image .hero-image{aspect-ratio:16/6;background:var(--cream-dark);width:100%;overflow:hidden}.hero.hero-with-image .hero-image img{object-fit:cover;width:100%;height:100%}.hero.hero-with-image .hero-info{padding:28px 32px 32px}.project-card-thumb,.room-card-thumb{aspect-ratio:4/3;background:var(--cream-dark);width:100%;overflow:hidden}.project-card-thumb img,.room-card-thumb img{object-fit:cover;width:100%;height:100%}.room-card{padding:0;overflow:hidden}.room-card .room-card-body{flex-direction:column;gap:10px;padding:14px;display:flex}.file-upload-label{cursor:pointer}.upload-status{color:var(--ink-mid);background:var(--cream);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px}.files-list{flex-direction:column;gap:8px;display:flex}.file-row{background:var(--cream);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:10px 12px;display:flex}.file-icon{font-size:22px;line-height:1}.file-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.file-name{color:var(--ink);word-break:break-word;font-size:14px;text-decoration:none}.file-name:hover{color:var(--gold);text-decoration:underline}.share-panel{flex-direction:column;gap:12px;display:flex}.share-row{align-items:flex-end;gap:10px;display:flex}.share-url-row{align-items:center;gap:8px;display:flex}.share-url{font:inherit;background:var(--cream);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink-mid);flex:1;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px}.share-meta{flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.share-meta .dot{color:var(--ink-soft)}.share-meta .btn-link{padding:4px 8px;font-size:12px}.share-shell{background:var(--cream);flex-direction:column;min-height:100dvh;display:flex}.share-header{background:var(--white);border-bottom:1px solid var(--border);padding:18px 32px}.share-header .brand{align-items:center;gap:12px;display:flex}.share-header .brand-mark{flex-shrink:0;width:40px;height:40px}.share-header .brand-name{font-family:var(--font-serif);font-size:18px}.share-header .brand-tag{letter-spacing:.22em;color:var(--gold);text-transform:uppercase;font-size:10px}.share-main{flex-direction:column;flex:1;gap:24px;width:100%;max-width:1100px;margin:0 auto;padding:32px;display:flex}.share-spec-list{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:6px;padding-top:10px;font-size:12px;display:flex}.share-spec-list li{justify-content:space-between;align-items:center;gap:8px;display:flex}.share-footer{text-align:center;font-family:var(--font-serif);color:var(--ink-mid);border-top:1px solid var(--border);flex-direction:column;gap:4px;padding:32px 16px;font-size:16px;display:flex}.questionnaire-summary{flex-direction:column;gap:12px;display:flex}.q-summary{background:var(--cream);border-radius:var(--radius-sm);flex-direction:column;gap:4px;padding:10px 12px;display:flex}.q-label{letter-spacing:.14em;color:var(--gold);text-transform:uppercase;font-size:10px}.q-answer{white-space:pre-wrap;color:var(--ink);font-size:13.5px;line-height:1.5}.export-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.export-card{background:var(--cream);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:left;flex-direction:column;gap:6px;padding:16px;transition:border-color .15s,background .15s,transform .15s;display:flex}.export-card:hover{border-color:var(--gold);background:var(--white);transform:translateY(-1px)}.export-card h4{color:var(--ink);font-size:14px;font-weight:500}.export-card p{color:var(--ink-soft);font-size:12px;line-height:1.5}@media (max-width:640px){.export-grid{grid-template-columns:1fr}}.toast-host{z-index:200;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--ink);color:var(--cream);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);opacity:0;max-width:min(420px,100vw - 32px);padding:10px 16px;font-size:13px;transition:opacity .18s,transform .18s;transform:translateY(8px)}.toast.show{opacity:1;transform:translateY(0)}.toast.toast-error{background:var(--danger);color:var(--white)}.toast.toast-success{color:var(--white);background:#3f6e4d}@media (max-width:900px){.app-main,.share-main{padding:20px}.hero{padding:24px}.panel{padding:20px}.hero-info h1{font-size:30px}.page-head h1{font-size:26px}}@media (max-width:640px){.app-header{gap:10px;padding:14px 16px}.share-header{padding:14px 16px}.app-main{padding:14px}.share-main{gap:18px;padding:14px}.share-header .brand-mark{width:32px;height:32px}.brand-name{font-size:15px}.brand-tag{display:none}.user-email{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.page{gap:18px}.page-head{flex-wrap:wrap;align-items:flex-start}.page-head h1{font-size:24px}.hero{padding:20px}.hero-info h1{font-size:26px}.hero.hero-with-image .hero-image{aspect-ratio:16/9}.hero.hero-with-image .hero-info{padding:20px}.hero-meta{grid-template-columns:1fr 1fr;gap:14px}.panel{gap:12px;padding:16px}.panel-head{flex-wrap:wrap}.panel-head h2{font-size:19px}.grid.projects-grid{grid-template-columns:1fr;gap:14px}.rooms-grid{grid-template-columns:1fr 1fr;gap:12px}.palette-grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.share-row{flex-direction:column;align-items:stretch}.share-url-row,.hero-actions{flex-wrap:wrap}}@media (max-width:480px){.hero-meta,.rooms-grid,.palette-grid{grid-template-columns:1fr}.auth{padding:16px}.auth-card{padding:24px 20px}.modal{align-items:flex-end;padding:0}.modal-card{border-radius:var(--radius) var(--radius) 0 0;max-width:100%;max-height:92dvh;padding:20px;overflow-y:auto}.modal-actions,.file-row{flex-wrap:wrap}}.room-image-gallery .gallery-section{border-top:1px solid var(--border);padding-top:12px}.room-image-gallery .gallery-section:first-of-type{border-top:0;padding-top:0}.gallery-section-head{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.gallery-section-head h3{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-family:inherit;font-size:14px;font-weight:600}.gallery-empty{color:var(--ink-soft);padding:8px 0 12px;font-size:13px;font-style:italic}.room-image-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.room-image-thumb{margin:0;position:relative}.room-image-thumb img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--border);border-radius:8px;width:100%;display:block}.room-image-thumb figcaption{color:var(--ink-soft);margin-top:4px;font-size:11px}.room-image-delete{background:#ffffffeb;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;line-height:1;display:none;position:absolute;top:6px;right:6px}.room-image-thumb:hover .room-image-delete{display:flex}.before-after-pairs{border-bottom:1px solid var(--border);flex-direction:column;gap:16px;margin-bottom:16px;padding-bottom:16px;display:flex}.before-after-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.before-after-pair figure{margin:0;position:relative}.before-after-pair img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--border);border-radius:8px;width:100%}.ba-label{color:#fff;letter-spacing:.12em;text-transform:uppercase;background:#1a1714c7;border-radius:4px;padding:3px 8px;font-size:10px;position:absolute;top:8px;left:8px}@media (max-width:600px){.before-after-pair{grid-template-columns:1fr}}.filter-chips{flex-wrap:wrap;gap:6px;display:flex}.filter-chip{background:var(--white);border:1px solid var(--border);color:var(--ink-mid);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:11.5px;transition:background .15s,color .15s,border-color .15s}.filter-chip:hover:not(.is-active){border-color:var(--gold);color:var(--gold)}.filter-chip.is-active{background:var(--gold);color:var(--white);border-color:var(--gold);font-weight:500}.filter-chip-count{opacity:.7;margin-left:4px;font-size:10.5px}.spec-thumb-cell{width:56px}.spec-thumb{object-fit:cover;border:1px solid var(--border);background:var(--surface);border-radius:6px;width:44px;height:44px;padding:0;display:block}.spec-thumb-empty{cursor:pointer;color:var(--ink-soft);justify-content:center;align-items:center;font-size:18px;display:flex}.spec-thumb-empty:hover{border-color:var(--accent);color:var(--ink)}.spec-source{color:var(--accent);margin-left:4px;text-decoration:none}.chip-danger{color:#8a2616;background:#f8e1da;border-color:#f1bdb0}.history-entry{border-bottom:1px solid var(--border);padding:10px 0}.history-entry:last-child{border-bottom:0}.history-time{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:11px}.history-changes{margin:0;padding:0;font-size:13px;line-height:1.5;list-style:none}.history-changes s{color:var(--ink-soft)}.note-title{margin-bottom:4px;font-weight:600}.chip-tag{background:var(--surface);border:1px solid var(--border);color:var(--ink-soft)}.share-room-palette h4,.share-ba h4,.share-gallery h4{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin:12px 0 6px;font-size:12px}.room-card-linked{position:relative}.room-card-link{color:inherit;text-decoration:none}.room-card-link:after{content:"";position:absolute;inset:0}.room-card-link:focus-visible{outline:none}.room-card-linked:focus-within{border-color:var(--gold)}.room-card-linked .room-card-actions,.room-card-linked .room-feedback{z-index:1;position:relative}.room-card-open{color:var(--gold);margin-left:auto;font-size:12px}.share-room-link{color:inherit;border-bottom:1px solid var(--gold-light);text-decoration:none}.share-room-link:hover{color:var(--gold)}.share-back{color:var(--ink-soft);align-self:flex-start;padding:4px 0;font-size:13px;text-decoration:none}.share-back:hover{color:var(--ink)}.client-hero .room-card-meta{margin:4px 0 8px}.client-hero:not(.has-image) .room-card-meta,.client-hero:not(.has-image) .room-card-actions{justify-content:center}@media (max-width:700px){.client-hero .room-card-meta,.client-hero .room-card-actions{justify-content:center}}.share-spec-list .spec-thumb{vertical-align:middle;width:24px;height:24px;margin-right:6px;display:inline-block}.tab-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin:0 0 20px;display:flex}.tab{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px;font-size:14px;font-weight:500}.tab:hover{color:var(--ink)}.tab.is-active{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}.hero-card{background:var(--white);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);grid-template-columns:260px 1fr 280px;margin-bottom:24px;display:grid;overflow:hidden}.hero-card .hero-image{background:linear-gradient(135deg, var(--cream-dark) 0%, var(--gold-pale) 100%);min-height:200px;position:relative;overflow:hidden}.hero-card .hero-image img{object-fit:cover;width:100%;height:100%;display:block}.hero-card .hero-image-placeholder{width:100%;height:100%;min-height:200px}.hero-card .hero-image-edit{letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border);color:var(--ink-mid);background:#ffffffe6;border-radius:16px;padding:6px 12px;font-size:10px;transition:all .15s;position:absolute;top:12px;right:12px}.hero-card .hero-image-edit:hover{background:var(--white);border-color:var(--gold);color:var(--gold)}.hero-card .hero-info{flex-direction:column;gap:4px;padding:24px 28px;display:flex}.hero-card .hero-info .eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-size:10px}.hero-card .hero-info h2{font-family:var(--font-serif);color:var(--ink);margin:4px 0 2px;font-size:26px;font-weight:400}.hero-card .hero-info h3{font-family:var(--font-serif);color:var(--gold);margin-bottom:16px;font-size:15px;font-style:italic;font-weight:400}.info-grid{grid-template-columns:1fr 1fr;gap:12px 18px;margin-top:auto;display:grid}.info-cell label{letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:3px;font-size:9px;display:block}.info-cell span{color:var(--ink);font-size:13px;font-weight:500}.hero-card .hero-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.btn-edit-project{border:1px solid var(--border);background:var(--white);color:var(--ink-soft);border-radius:6px;padding:7px 14px;font-size:11px;transition:all .15s}.btn-edit-project:hover{border-color:var(--gold);color:var(--gold)}.hero-budget{border-left:1px solid var(--border);background:var(--white);flex-direction:column;gap:14px;padding:20px 18px;display:flex}.hero-budget h4{letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft);font-size:10px;font-weight:500}.hero-budget label{letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:3px;font-size:9px;display:block}.hero-budget-total strong{font-family:var(--font-serif);color:var(--ink);font-size:24px;font-weight:500}.hero-budget-lines{flex-direction:column;gap:6px;display:flex}.hero-budget-lines>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.hero-budget-lines dt{color:var(--ink-mid);font-size:12px}.hero-budget-lines dd{color:var(--ink);font-size:12px;font-weight:500}.hero-budget-sum{border-top:1px solid var(--border);margin-top:2px;padding-top:6px}.hero-budget-sum dt,.hero-budget-sum dd{font-weight:600}.hero-budget-variance strong{font-size:15px;font-weight:600}.hero-budget .btn-ghost{text-align:center;margin-top:auto}@media (max-width:1000px){.hero-card{grid-template-columns:1fr}.hero-card .hero-image{aspect-ratio:16/9;min-height:180px}.hero-budget{border-left:0;border-top:1px solid var(--border)}}.section-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.section-bar-left{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.section-bar h3{font-family:var(--font-serif);color:var(--ink);margin:0;font-size:20px;font-weight:400}.btn-ghost{background:var(--white);border:1px solid var(--border);color:var(--ink-mid);cursor:pointer;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:7px 14px;font-size:12px;transition:all .15s;display:inline-flex}.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}.panel .section-bar{margin-bottom:12px}@media (max-width:600px){.section-bar h3{font-size:17px}}.page-greeting{border-bottom:1px solid var(--border);margin-bottom:28px;padding-bottom:24px}.page-greeting .eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;font-size:10px}.page-greeting h1{font-family:var(--font-serif);color:var(--ink);margin-bottom:4px;font-size:38px;font-weight:400}.page-greeting p{color:var(--ink-soft);font-size:14px}.client-hero{border-bottom:1px solid var(--border);text-align:center;margin-bottom:32px;padding-bottom:28px}.client-hero.has-image{text-align:left;grid-template-columns:1fr 1fr;align-items:center;gap:32px;display:grid}.client-hero-image{aspect-ratio:4/3;border-radius:var(--radius);background:var(--cream-dark);overflow:hidden}.client-hero-image img{object-fit:cover;width:100%;height:100%}.client-hero-title{font-family:var(--font-serif);color:var(--ink);margin:6px 0 4px;font-size:40px;font-weight:300;line-height:1.1}.client-hero-sub{font-family:var(--font-serif);color:var(--gold);margin-bottom:18px;font-size:18px;font-style:italic}.client-hero-desc{color:var(--ink-mid);margin-bottom:16px;font-size:14px}@media (max-width:700px){.client-hero.has-image{text-align:center;grid-template-columns:1fr}.client-hero-title{font-size:32px}}.section-divider{background:var(--border);height:1px;margin:28px 0}.notifications-list{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.notification-row{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.notification-row-left{align-items:center;gap:10px;display:flex}.notification-row .small{font-size:11px}.chip-pending{background:var(--gold-pale);color:var(--gold);border-color:var(--gold-light)}.chip-sent{color:var(--success);background:#e8f0e5;border-color:#c9dec4}.chip-failed{background:var(--danger-bg);color:var(--danger);border-color:#f1c8c5}.chip-cancelled,.chip-draft{background:var(--cream-dark);color:var(--ink-soft)}.chip-sent{background:var(--gold-pale);color:var(--gold);border-color:var(--gold-light)}.chip-acknowledged{color:var(--success);background:#e8f0e5;border-color:#c9dec4}.chip-rejected{background:var(--danger-bg);color:var(--danger);border-color:#f1c8c5}.tab-dot{background:var(--gold);vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-left:6px;display:inline-block}.change-order-list{flex-direction:column;gap:16px;padding:0;list-style:none;display:flex}.change-order-card{background:var(--cream);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.change-order-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.change-order-head h3{font-family:var(--font-serif);margin-top:2px;font-size:20px;font-weight:400}.change-order-scope{color:var(--ink-mid);margin-bottom:12px;font-size:14px}.change-order-cost{background:var(--white);border-radius:var(--radius-sm);border:1px solid var(--border);justify-content:space-between;align-items:baseline;margin-bottom:12px;padding:10px 12px;display:flex}.change-order-cost strong{font-size:17px}.change-order-ack{border-top:1px solid var(--border);margin-top:8px;padding:8px 0}.change-order-actions{margin-top:12px}.scope-toggle{gap:10px;display:flex}.scope-option{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;flex:1;gap:4px;padding:12px;transition:all .15s;display:flex}.scope-option:hover{border-color:var(--gold-light)}.scope-option.is-active{border-color:var(--gold);background:var(--gold-pale)}.scope-option input{margin-right:6px}.scope-option strong{color:var(--ink);font-size:13px;font-weight:500}.scope-option small{color:var(--ink-soft);font-size:11px;line-height:1.35}.schedule-filter{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--white);color:var(--ink-mid);padding:4px 8px;font-size:12px}.schedule-groups{flex-direction:column;gap:20px;display:flex}.schedule-group{flex-direction:column;gap:6px;display:flex}.schedule-group-head{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--border);padding:0 4px 4px;font-size:12px;font-weight:600}.schedule-group-overdue{color:var(--danger);border-bottom-color:var(--danger)}.schedule-rows{flex-direction:column;display:flex}.schedule-row{border-bottom:1px solid var(--cream-dark);grid-template-columns:130px 1fr 140px 130px 110px;align-items:center;gap:12px;padding:10px 4px;font-size:13px;display:grid}.schedule-row:last-child{border-bottom:0}.schedule-row:hover{background:var(--cream)}.schedule-date{color:var(--ink-mid);font-variant-numeric:tabular-nums}.schedule-task-btn{font:inherit;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:500}.schedule-task-btn:hover{color:var(--gold)}.schedule-room a{color:var(--ink-mid);font-size:12px}.schedule-room a:hover{color:var(--gold);text-decoration:underline}.assignee-stack{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;align-items:center;gap:-6px;padding:4px 6px;display:inline-flex}.assignee-stack:hover{background:var(--white)}.assignee-avatar{background:var(--gold-pale);width:26px;height:26px;color:var(--gold);font-family:var(--font-serif);border:2px solid var(--white);border-radius:50%;justify-content:center;align-items:center;margin-left:-6px;font-size:11px;font-weight:500;display:inline-flex}.assignee-avatar:first-child{margin-left:0}.assignee-more{color:var(--ink-soft);margin-left:6px;font-size:11px}.assignee-empty{color:var(--ink-soft);letter-spacing:.05em;padding:0 6px;font-size:14px}.schedule-status .chip{cursor:pointer}.status-select{font:inherit;border:1px solid var(--border);background:var(--white);color:var(--ink-mid);border-radius:999px;padding:4px 8px;font-size:11px}.schedule-complete-toggle{background:var(--cream);border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--ink-soft);cursor:pointer;padding:10px;font-size:12px}.schedule-complete-toggle:hover{background:var(--cream-dark);color:var(--ink)}.assignment-list{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;max-height:320px;padding:4px 12px;display:flex;overflow-y:auto}.assignment-row{border-bottom:1px solid var(--cream-dark);cursor:pointer;align-items:center;gap:10px;padding:8px 0;display:flex}.assignment-row:last-child{border-bottom:0}.assignment-row input{margin:0}@media (max-width:700px){.schedule-row{grid-template-columns:100px 1fr 90px;grid-template-areas:"date task task""room room room""assign assign status";row-gap:6px}.schedule-date{grid-area:date}.schedule-task{grid-area:task}.schedule-room{grid-area:room}.schedule-assign{grid-area:assign}.schedule-status{text-align:right;grid-area:status}}.contact-search{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);min-width:240px;color:var(--ink);padding:5px 10px;font-size:12.5px}.contact-search:focus{border-color:var(--gold);outline:none}.contact-search::placeholder{color:var(--ink-soft)}.room-feedback-foot{justify-content:space-between;align-items:center;gap:10px;margin-top:4px;display:flex}.picker-search{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--cream);width:100%;color:var(--ink);margin-bottom:12px;padding:10px 12px}.picker-search:focus{border-color:var(--gold);background:var(--white);outline:none}.picker-list{flex-direction:column;gap:2px;max-height:320px;display:flex;overflow-y:auto}.picker-list button{text-align:left;border-radius:var(--radius-sm);flex-direction:column;gap:2px;width:100%;padding:10px 12px;display:flex}.picker-list button:hover{background:var(--cream-dark)}.picker-name{color:var(--ink);font-size:14px}.picker-empty{text-align:center;color:var(--ink-soft);padding:16px;font-size:13px}.table-filters{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:12px;display:flex}.table-filter{flex-direction:column;gap:4px;display:flex}.table-filter>span{letter-spacing:.14em;color:var(--ink-soft);text-transform:uppercase;font-size:11px}.table-filter select{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);color:var(--ink);padding:7px 10px;font-size:13px}.table-filter select:focus{border-color:var(--gold);outline:none}.table-count{margin-left:auto}.th-sort{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.th-sort:hover{color:var(--ink);background:var(--cream-dark)}.th-sort.is-sorted{color:var(--gold)}.sort-caret{margin-left:4px;font-size:8px}.btn-status-toggle{color:var(--gold);padding:4px 0;font-size:12px}.btn-status-toggle:hover{background:0 0;text-decoration:underline}.budget-header{flex-direction:column;gap:12px;display:flex}.budget-figures{flex-wrap:wrap;align-items:flex-end;gap:28px;display:flex}.budget-figure{flex-direction:column;gap:4px;display:flex}.budget-figure>span{letter-spacing:.14em;color:var(--ink-soft);text-transform:uppercase;font-size:11px}.budget-figure strong{font-family:var(--font-serif);font-size:24px;font-weight:500}.budget-figure input{font:inherit;font-size:20px;font-family:var(--font-serif);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--cream);width:160px;color:var(--ink);padding:6px 10px}.budget-figure input:focus{border-color:var(--gold);background:var(--white);outline:none}.budget-under{color:var(--success)}.budget-over{color:var(--danger)}.budget-note,.budget-warn{border-radius:var(--radius-sm);padding:10px 12px;font-size:12.5px;line-height:1.5}.budget-note{background:var(--cream-dark);color:var(--ink-mid)}.budget-warn{background:var(--danger-bg);color:var(--danger);border:1px solid #f1c8c5}.budget-table .num{text-align:right;white-space:nowrap}.budget-input{font:inherit;text-align:right;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);width:110px;color:var(--ink);padding:5px 8px;font-size:13px}.budget-input:focus{border-color:var(--gold);outline:none}.budget-fee{width:110px;margin-left:10px}.budget-row-warn{background:#fef7f6}.budget-row-un td{color:var(--ink-soft);font-style:italic}.budget-table tfoot td{border-top:1px solid var(--border);padding-top:10px}.budget-grand td{border-top:2px solid var(--gold);font-size:15px}.budget-disclose{font:inherit;font-size:inherit;color:inherit;text-align:left;align-items:center;gap:6px;padding:2px 0;display:inline-flex}.budget-disclose:not([disabled]):hover{color:var(--gold)}.budget-disclose[disabled]{cursor:default;opacity:.75}.budget-caret{width:10px;color:var(--ink-soft);font-size:9px}.budget-drill-row>td{background:var(--cream);padding:12px 14px}.budget-drill{border-collapse:collapse;width:100%;font-size:12.5px}.budget-drill th{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);text-align:left;border-bottom:1px solid var(--border);background:0 0;padding:4px 8px;font-size:10px}.budget-drill td{border-bottom:1px solid var(--border);padding:6px 8px}.budget-drill tr:last-child td{border-bottom:none}.budget-drill .num{text-align:right;white-space:nowrap}.budget-select{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);color:var(--ink);max-width:190px;padding:4px 6px;font-size:12.5px}.budget-select:focus{border-color:var(--gold);outline:none}.budget-qty{width:70px}.budget-drill .budget-qty+.muted{margin-left:4px;font-size:11.5px}.app-sidebar{justify-content:space-between}.sidebar-scroll{flex-direction:column;flex:1;gap:18px;min-height:0;display:flex;overflow-y:auto}.sidebar-collapse{color:var(--ink-soft);border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:11px;width:100%;padding:12px 20px;font-size:12.5px;transition:color .15s,background .15s;display:flex}.sidebar-collapse:hover{color:var(--ink);background:var(--cream)}.sidebar-collapse .nav-icon{transition:transform .2s}body.nav-collapsed .app-sidebar{width:60px}body.nav-collapsed .app-main{margin-left:60px}body.nav-collapsed .sidebar-text,body.nav-collapsed .sidebar-label,body.nav-collapsed .sidebar-project-name,body.nav-collapsed .sidebar-back{display:none}body.nav-collapsed .sidebar-item,body.nav-collapsed .sidebar-collapse{justify-content:center;gap:0;padding-left:0;padding-right:0}body.nav-collapsed .sidebar-item{border-left-width:2px}body.nav-collapsed .sidebar-section{gap:2px}body.nav-collapsed .sidebar-collapse .nav-icon{transform:rotate(180deg)}.app-sidebar,.app-main{transition:width .18s,margin-left .18s}@media (max-width:900px){body.nav-collapsed .app-sidebar{width:260px}body.nav-collapsed .app-main{margin-left:0}body.nav-collapsed .sidebar-text,body.nav-collapsed .sidebar-label,body.nav-collapsed .sidebar-project-name,body.nav-collapsed .sidebar-back{display:revert}body.nav-collapsed .sidebar-item,body.nav-collapsed .sidebar-collapse{justify-content:flex-start;gap:11px;padding-left:20px;padding-right:20px}.sidebar-collapse{display:none}}.upcoming{flex-direction:column;display:flex}.upcoming-item{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:11px 0;display:flex}.upcoming-item:last-child{border-bottom:none}.upcoming-when{width:160px;color:var(--ink-mid);flex-shrink:0;font-size:12.5px}.upcoming-body{flex:1;min-width:0}.upcoming-task{color:var(--ink);font-size:13.5px}@media (max-width:700px){.upcoming-item{flex-wrap:wrap;gap:6px 10px}.upcoming-when{order:2;width:auto}.upcoming-body{flex-basis:100%;order:1}}.branding-edit{flex-wrap:wrap;align-items:flex-start;gap:28px;display:flex}.branding-logo{flex-direction:column;align-items:center;gap:8px;display:flex}.branding-logo img{object-fit:contain;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);width:96px;height:96px;padding:8px}.branding-logo-empty{border:1px dashed var(--border);border-radius:var(--radius);width:96px;height:96px;color:var(--ink-soft);background:var(--cream);justify-content:center;align-items:center;font-size:12px;display:flex}.branding-logo-actions{flex-direction:column;align-items:center;display:flex}.branding-fields{flex-direction:column;flex:1;align-items:flex-start;gap:14px;min-width:260px;display:flex}.branding-fields .field{width:100%;max-width:380px}.branding-preview{border-top:1px solid var(--border);margin-top:24px;padding-top:18px}.branding-preview-header{align-items:center;gap:12px;display:flex}.branding-preview-header .brand-mark{object-fit:contain;width:40px;height:40px}img.topnav-mark{object-fit:contain}.reminders{flex-direction:column;display:flex}.reminder-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:14px;padding:12px 0;display:flex}.reminder-item:last-child{border-bottom:none}.reminder-body{flex:1;min-width:0}.reminder-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.reminder-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.reminder-warn{color:var(--danger);margin-top:4px;font-size:11.5px}.reminder-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}@media (max-width:700px){.reminder-item{flex-direction:column;gap:8px}.reminder-actions{width:100%}}.field.has-voice{position:relative}.voice-btn{width:30px;height:30px;color:var(--ink-soft);background:var(--white);border:1px solid var(--border);border-radius:999px;justify-content:center;align-items:center;padding:0;transition:color .15s,border-color .15s,background .15s;display:flex;position:absolute;top:26px;right:8px}.voice-btn svg{width:16px;height:16px}.voice-btn:hover{color:var(--gold);border-color:var(--gold-light)}.voice-btn.is-recording{color:var(--danger);border-color:var(--danger);background:var(--danger-bg);animation:1.4s ease-in-out infinite voice-pulse}@keyframes voice-pulse{0%,to{box-shadow:0 0 #c0504a59}50%{box-shadow:0 0 0 5px #c0504a00}}@media (prefers-reduced-motion:reduce){.voice-btn.is-recording{animation:none}}.field.has-voice textarea{padding-right:44px}.voice-hint{color:var(--ink-soft);margin-top:4px;font-size:11.5px}.voice-hint-warn{color:var(--danger)}.team-list{flex-direction:column;margin-bottom:18px;display:flex}.team-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:14px;display:flex}.team-row:last-child{border-bottom:none}.team-email{overflow-wrap:anywhere}.team-invite{flex-direction:column;gap:10px;max-width:420px;display:flex}.team-row-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.admin{flex-direction:column;gap:24px;max-width:960px;margin:0 auto;padding:32px 16px;display:flex}.admin-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-title{font-family:var(--font-serif);color:var(--ink);font-size:26px}.admin-firms,.admin-log{flex-direction:column;display:flex}.admin-firm,.admin-log li{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 0;display:flex}.admin-log li{flex-direction:column;gap:2px}.admin-firm:last-child,.admin-log li:last-child{border-bottom:none}.admin-firm-name{align-items:center;gap:8px;font-weight:600;display:flex}.admin-firm-actions{flex-wrap:wrap;gap:12px;display:flex}.admin-form{flex-direction:column;gap:10px;max-width:460px;display:flex}.chip-suspended{background:var(--cream-dark);color:var(--ink-mid)}.support-banner{z-index:50;border-radius:var(--radius);background:var(--gold-pale);border:1px solid var(--gold);width:min(760px,100% - 32px);color:var(--ink);box-shadow:var(--shadow-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:13.5px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.budget-why{color:var(--ink-soft);margin-top:4px;font-size:11.5px;font-weight:400;line-height:1.35;display:block}.budget-row-pending td{color:var(--ink-soft)}.co-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.budget-figures{align-items:flex-start}.budget-figure{max-width:240px}.room-co-list{flex-direction:column;display:flex}.room-co{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.room-co:last-child{border-bottom:none}.room-co .num{text-align:right;white-space:nowrap}.change-order-cost{flex-wrap:wrap;gap:6px 24px;margin:8px 0;display:flex}.change-order-cost div{align-items:baseline;gap:8px;display:flex}.change-order-total{border-left:1px solid var(--border);padding-left:16px}.library-intro{max-width:720px;margin:-8px 0 16px}.library-toolbar .section-bar-left{flex-wrap:wrap;gap:10px}.library-search{min-width:240px}.library-count{padding-top:8px}.section-bar-actions{flex-wrap:wrap;gap:8px;display:flex}.library-picker{width:100%;max-width:620px}.library-picker-bar{align-items:center;gap:12px;margin:12px 0;display:flex}.library-picker-bar input[type=search]{flex:1}.library-picker-qty{align-items:center;gap:6px;font-size:13px;display:flex}.library-picker-qty input{width:72px}.library-picker-list{flex-direction:column;max-height:50vh;display:flex;overflow-y:auto}.library-picker-item{text-align:left;border:none;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;justify-content:space-between;gap:12px;width:100%;padding:10px 8px;display:flex}.library-picker-item:hover,.library-picker-item:focus-visible{background:var(--cream)}.library-picker-item span:first-child{flex-direction:column;gap:2px;display:flex}.voice-meter{color:var(--ink-soft);align-items:center;gap:8px;margin-top:4px;font-size:11.5px;display:flex}.voice-bars{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.voice-bars i{background:var(--border);border-radius:1px;width:3px;display:block}.voice-bars i:first-child{height:4px}.voice-bars i:nth-child(2){height:6px}.voice-bars i:nth-child(3){height:8px}.voice-bars i:nth-child(4){height:10px}.voice-bars i:nth-child(5){height:12px}.voice-bars i.on{background:var(--gold)}.voice-meter.no-level .voice-bars{display:none}.voice-time{font-variant-numeric:tabular-nums}.voice-retry{padding:2px 0;font-size:12px}.update-bar{z-index:60;border-radius:var(--radius);background:var(--white);border:1px solid var(--gold);width:min(560px,100% - 32px);box-shadow:var(--shadow-md);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;font-size:13.5px;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.update-bar span{flex:1;min-width:180px}
