@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Libre+Caslon+Display&display=swap";
:root{--paper:#f6f5f0;--surface:#fffefa;--forest:#203e33;--forest-dark:#183128;--ink:#263a31;--muted:#7b827a;--line:#e1e4db;--accent:#bda16f;--serif:"Libre Caslon Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px}button,input,select{font:inherit}button,a,label.button{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button,select,input{outline-offset:4px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #b6904d}button,a{color:inherit}h1,h2,h3,p{margin-top:0}button svg{flex-shrink:0}.brand{letter-spacing:-2px;align-items:center;gap:9px;font-size:37px;font-weight:550;display:flex}.brand-dot{color:var(--accent)}.eyebrow{letter-spacing:2.1px;color:#7b8a7e;margin:0 0 16px;font-size:10px;font-weight:650}.muted{color:var(--muted)}.small{font-size:12px;line-height:1.6}.button{white-space:nowrap;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:10px;padding:12px 17px;font-size:12px;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.button:active:not(:disabled){transform:translateY(1px)}.primary{background:var(--forest);color:#fffefa}.primary:hover:not(:disabled){background:#2e5444}.secondary{background:var(--surface);border-color:var(--line)}.secondary:hover{background:#eeeee7}.text-button{background:0 0;border:0;align-items:center;gap:8px;padding:8px 0;font-size:12px;font-weight:550;display:inline-flex}.text-button:hover{text-decoration:underline}.icon-button{background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:6px;display:inline-flex}.icon-button:hover{background:#82948518}.welcome{grid-template-columns:1fr 1fr;max-width:1600px;min-height:100dvh;margin:auto;display:grid}.welcome-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:48px 8vw 40px;display:flex}.welcome-copy .brand{margin-bottom:68px}.welcome-copy h1{font-family:var(--serif);letter-spacing:-1.5px;margin-bottom:24px;font-size:clamp(48px,5.4vw,82px);font-weight:400;line-height:1.03}.welcome-copy h1 em{color:#7f8e79;font-weight:400}.welcome-intro{color:var(--muted);max-width:380px;margin-bottom:29px;font-size:14px;line-height:1.9}.google-button{justify-content:flex-start;width:100%;max-width:345px;padding:15px 20px}.google-button>svg{margin-left:auto}.google-g{margin-right:8px;font-family:Arial,sans-serif;font-size:18px;font-weight:700}.welcome-copy>.text-button{margin-top:14px}.welcome-foot{color:#8a9389;letter-spacing:.2px;align-items:center;gap:8px;margin-top:68px;font-size:10px;display:flex}.welcome-art{color:#71806a;background:#e4e8dc;border-radius:12px;flex-direction:column;justify-content:space-between;margin:24px 24px 24px 0;padding:35px 35px 29px;display:flex;overflow:hidden}.welcome-art>.sketch{width:110%;margin-left:-5%;transform:scale(1.04)}.art-label{letter-spacing:1.4px;justify-content:space-between;font-family:monospace;font-size:9px;display:flex}.art-caption{flex-direction:column;gap:10px;display:flex}.art-caption>span:last-child{font-family:var(--serif);color:#58694f;font-size:30px}.app-shell{grid-template-columns:240px 1fr;min-height:100dvh;display:grid}.sidebar{background:var(--forest);color:#eff1e9;flex-direction:column;height:100dvh;padding:27px 19px 0;display:flex;position:sticky;top:0}.sidebar .brand{margin-bottom:38px;padding:0 8px;font-size:32px}.workspace-label{color:#a9b9ab;letter-spacing:1.4px;margin-bottom:10px;padding:0 9px;font-size:9px}.select-wrap{position:relative}.select-wrap select{appearance:none;color:#f4f5ee;background:#ffffff0a;border:1px solid #a5b99c30;border-radius:6px;width:100%;padding:11px 29px 11px 12px;font-size:12px;font-weight:550}.select-wrap option{color:var(--ink);background:var(--surface)}.select-wrap>svg{pointer-events:none;color:#c1c8bb;position:absolute;top:12px;right:10px}.sidebar-new{color:#b1bfb0;background:0 0;border:0;align-items:center;gap:6px;padding:11px 9px;font-size:10px;display:flex}.sidebar-new:hover{color:#fff}.sidebar-section{letter-spacing:1.5px;color:#a9b9ab;justify-content:space-between;align-items:center;margin:26px 5px 9px;font-size:9px;display:flex}.sidebar-section .icon-button{color:#c4cdbc}.property-link{color:#d8e0d2;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:11px;width:100%;margin:4px 0;padding:13px 12px;display:flex}.property-link span:not(.selected-dot){flex:1;font-size:12px;font-weight:500}.property-link small{color:#a3b49e;margin-top:5px;font-size:9px;font-weight:400;display:block}.property-link.selected{background:#ffffff0c;border:1px solid #a8b89d26}.property-link.selected>svg{color:#d0bd8e}.selected-dot{background:#c4ac7b;border-radius:50%;width:5px;height:5px}.property-link:hover{background:#ffffff0e}.sidebar-hint{color:#b0bead;padding:8px 10px;font-size:11px;line-height:1.8}.sidebar-bottom{margin-top:auto}.sidebar-note{color:#a9baa1;border-top:1px solid #9bae9430;margin:34px 7px 25px;padding:18px 12px}.sidebar-note svg{margin-bottom:13px}.sidebar-note p{font-family:var(--serif);margin:0;font-size:21px;line-height:1.3}.account{color:#d9e2d2;text-align:left;background:0 0;border:0;border-top:1px solid #9bae9430;align-items:center;gap:9px;width:100%;padding:19px 2px;display:flex}.avatar{width:30px;height:30px;font-family:var(--serif);background:#9baa8d36;border-radius:50%;justify-content:center;align-items:center;font-size:18px;display:flex}.account>span:nth-child(2){flex:1;font-size:10px}.account small{color:#9eaf96;margin-top:4px;font-size:9px;display:block}.account>svg{color:#afbea6}.main-area{min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fffefa99;justify-content:space-between;align-items:center;gap:18px;height:75px;padding:0 44px;display:flex}.breadcrumb{color:var(--muted);align-items:center;gap:13px;font-size:10px;display:flex}.breadcrumb strong{color:var(--ink);font-weight:500}.mode-badge{letter-spacing:1.1px;color:#77836f;white-space:nowrap;align-items:center;gap:6px;font-size:8px;display:flex}.mode-badge>span{background:#7f9679;border-radius:50%;width:4px;height:4px}.mode-badge.sample{color:#967d4f}.mode-badge.sample>span{background:#b49c65}.workspace-main{max-width:1500px;margin:auto;padding:39px 44px 30px}.page-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:30px;display:flex}.page-heading .eyebrow{letter-spacing:1.7px;margin-bottom:8px;font-size:8px}.page-heading h1{font-family:var(--serif);letter-spacing:-.6px;margin-bottom:10px;font-size:47px;font-weight:400;line-height:1.1}.subtitle{color:var(--muted);margin:0;font-size:11px}.property-chip{border:1px solid var(--line);color:#73816d;background:#fffefa90;border-radius:5px;align-items:center;gap:7px;padding:8px 11px;font-size:9px;display:flex}.project-row{border:1px solid var(--line);background:var(--surface);border-radius:7px;align-items:center;gap:13px;min-width:0;margin-bottom:35px;padding:14px 17px;display:flex}.project-label{color:#7b8876;align-items:center;gap:9px;display:flex}.project-label>span{letter-spacing:1.3px;font-size:8px}.project-row>select{color:var(--ink);background:0 0;border:0;min-width:120px;max-width:50%;padding:5px;font-size:12px;font-weight:550}.status-pill{color:#7a886e;white-space:nowrap;background:#f0f2e8;border-radius:4px;padding:4px 7px;font-size:8px}.project-row>.text-button{margin-left:auto;font-size:10px}.collection-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:21px;display:flex}.collection-heading h2{letter-spacing:-.4px;margin-bottom:7px;font-size:20px;font-weight:500}.collection-heading h2>span{color:#7b886f;vertical-align:middle;background:#e8ebdf;border-radius:4px;margin-left:8px;padding:3px 6px;font-size:11px;font-weight:500}.collection-heading p{color:var(--muted);margin:0;font-size:10px}.upload-zone{background:#eef1e650;border:1px dashed #bac6ad;border-radius:7px;align-items:center;gap:16px;margin-bottom:28px;padding:20px 22px;display:flex}.upload-busy{background:#e7eedf}.upload-icon{color:#7a8b6c;background:#e8ecde;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:43px;height:43px;display:flex}.upload-link{text-align:left;background:0 0;border:0;padding:0;font-size:11px;font-weight:550}.upload-link:hover{text-decoration:underline}.upload-zone p{color:#8d9487;margin:7px 0 0;font-size:9px}.upload-stage{letter-spacing:1.2px;color:#929a8c;white-space:nowrap;margin-left:auto;font-size:8px}.upload-stage select{background:var(--surface);color:#5d6f53;letter-spacing:0;border:1px solid #d6ddcd;border-radius:5px;min-width:105px;margin-top:5px;padding:7px 9px;font-size:10px;display:block}.collection-tools{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-bottom:21px;display:flex}.stage-tabs{scrollbar-width:thin;flex:1;gap:17px;min-width:0;display:flex;overflow:auto}.stage-tabs button{white-space:nowrap;color:#8a9284;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:5px;padding:0 0 13px;font-size:10px;display:flex}.stage-tabs button.active{color:var(--forest);border-bottom-color:var(--forest);font-weight:600}.stage-tabs button>span{color:#96a08d;font-size:8px}.search{width:100%;max-width:135px;color:var(--ink);background:0 0;border:0;border-radius:0;padding:0 0 13px;font-size:10px}.search::placeholder{color:#99a08f}.media-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.media-card{background:var(--surface);border:1px solid #e2e5dc;border-radius:7px;transition:box-shadow .2s;overflow:hidden}.media-card:hover{box-shadow:0 5px 18px #263a310b}.media-frame{aspect-ratio:400/260;background:#e7eadd;position:relative;overflow:hidden}.media-frame>img{object-fit:cover;width:100%;height:100%;display:block}.sketch{color:#74816b;width:100%;height:100%;display:block}.sketch-1{color:#93846c;background:#e8e4d9}.sketch-2{color:#708571;background:#dfe7e0}.media-stage{color:#5c6d52;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fffefac9;border-radius:4px;padding:5px 8px;font-size:8px;display:inline-block;position:absolute;bottom:10px;left:11px}.stage-concept,.stage-proposed_rendered,.stage-proposed_photorealistic{color:#927a4c}.media-body{padding:15px 15px 14px}.media-body h3{text-overflow:ellipsis;white-space:nowrap;margin:0 0 7px;font-size:11px;font-weight:550;overflow:hidden}.media-body p{color:#92998b;margin:0;font-size:9px}.image-placeholder{color:#8b9981;justify-content:center;align-items:center;gap:10px;width:100%;height:100%;font-size:10px;display:flex}.collection-footer{color:#98a18f;justify-content:space-between;padding-top:23px;font-size:9px;display:flex}.collection-footer>span:first-child{align-items:center;gap:6px;display:flex}.empty{text-align:center;border:1px dashed var(--line);color:var(--muted);border-radius:7px;padding:55px 25px}.empty>svg{color:#9da78e;margin-bottom:15px}.empty h2,.empty h3{font-family:var(--serif);color:var(--ink);margin-bottom:10px;font-size:28px;font-weight:400}.empty p{max-width:440px;margin:0 auto 20px;font-size:12px;line-height:1.8}.empty.large{padding:70px 25px}.notice{border-radius:6px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;padding:12px 15px;font-size:11px;display:flex}.error{color:#995349;background:#fbede7;border:1px solid #edd4c9;border-radius:5px;padding:10px 14px;font-size:12px;line-height:1.7}.sample-note{color:#958255;background:#f0ebdb;border-radius:5px;margin-bottom:24px;padding:9px 13px;font-size:10px}.read-only-note{color:#829077;background:#edf0e6;border-radius:6px;align-items:center;gap:10px;margin-bottom:25px;padding:18px;font-size:11px;display:flex}.upload-progress{border:1px solid var(--line);background:var(--surface);border-radius:6px;margin:-10px 0 25px;padding:7px 14px}.upload-progress>div{justify-content:space-between;gap:20px;padding:9px 0;font-size:10px;display:flex}.upload-progress>div>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.upload-progress strong{color:#958255;flex-shrink:0;align-items:center;gap:3px;max-width:65%;font-size:9px;font-weight:500;display:flex}.upload-progress strong.ready{color:#647e55}.pending-panel{background:#f0ede2;border:1px solid #e1dbc9;border-radius:7px;margin-bottom:26px;padding:16px}.pending-panel h3{margin-bottom:6px;font-size:12px}.pending-panel h3 span{color:#8d815f;font-size:9px}.pending-panel p{color:#93866b;margin-bottom:10px;font-size:10px}.pending-row{justify-content:space-between;align-items:center;padding:6px 0;font-size:11px;display:flex}.small-button{padding:6px 10px;font-size:9px}dialog{color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:12px;width:440px;max-width:calc(100vw - 30px);padding:27px;box-shadow:0 25px 100px #10251b30}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#122b2355}.modal-heading{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.modal-heading h2{font-family:var(--serif);margin:0;font-size:30px;font-weight:400}.modal-heading>.icon-button{color:#87917e}form>label,.form-row>label{margin-bottom:19px;font-size:11px;font-weight:550;display:block}form input{background:var(--paper);width:100%;color:var(--ink);border:1px solid #dce2d4;border-radius:5px;margin-top:8px;padding:11px 12px;font-size:12px;display:block}form label small{color:var(--muted);margin-top:6px;font-size:9px;font-weight:400;display:block}.form-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;margin-top:26px;padding-top:20px;display:flex}@media (min-width:1450px){.workspace-main{padding-top:47px}.media-grid{gap:25px}.media-body{padding:20px}.media-body h3{font-size:13px}.media-body p{font-size:10px}}@media (max-width:1100px){.app-shell{grid-template-columns:210px 1fr}.workspace-main{padding:30px 27px}.topbar{padding:0 27px}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-tools{flex-wrap:wrap;gap:12px}.search{display:none}.stage-tabs{gap:15px}.welcome-copy{padding:40px 6vw}.welcome-copy .brand{margin-bottom:50px}.welcome-art{padding:25px}.art-label{letter-spacing:.8px;font-size:8px}}@media (max-width:760px){.welcome{grid-template-columns:1fr;min-height:100dvh}.welcome-copy{padding:35px 28px 40px}.welcome-copy .brand{margin-bottom:45px}.welcome-copy h1{font-size:63px}.welcome-intro{max-width:400px}.welcome-foot{margin-top:35px}.welcome-art{display:none}.app-shell{grid-template-columns:1fr}.sidebar{grid-template-columns:90px 1fr;gap:9px 15px;height:auto;padding:16px 20px;display:grid;position:relative}.sidebar .brand{grid-row:1;align-self:center;margin:0;padding:0;font-size:25px}.sidebar .brand svg{width:24px}.workspace-label,.sidebar-new,.sidebar-section,.sidebar-bottom,.sidebar-hint{display:none}.select-wrap{grid-area:1/2}.select-wrap select{padding:9px 25px 9px 10px;font-size:11px}.select-wrap>svg{top:9px}.sidebar nav{grid-column:1/3;gap:8px;margin-bottom:-5px;display:flex;overflow:auto}.property-link{flex-shrink:0;gap:7px;width:auto;margin:0;padding:8px 11px}.property-link span:not(.selected-dot){font-size:10px}.property-link small,.selected-dot{display:none}.property-link>svg{width:15px;height:15px}.topbar{gap:9px;height:51px;padding:0 21px}.breadcrumb{gap:8px;font-size:9px}.breadcrumb>span:first-of-type{text-overflow:ellipsis;white-space:nowrap;max-width:95px;overflow:hidden}.mode-badge{letter-spacing:.6px;font-size:6px}.workspace-main{padding:28px 20px}.page-heading{align-items:flex-start;gap:8px;margin-bottom:23px}.page-heading h1{font-size:40px}.property-chip{margin-top:12px;padding:6px 8px;font-size:8px}.property-chip svg{width:12px}.subtitle{max-width:220px;font-size:10px;line-height:1.6}.project-row{flex-wrap:wrap;gap:8px;margin-bottom:28px;padding:10px 11px}.project-label>span{display:none}.project-row>select{min-width:100px;max-width:51%;font-size:11px}.project-row>.text-button{font-size:9px}.status-pill{font-size:7px}.collection-heading h2{font-size:19px}.collection-heading p{max-width:180px;font-size:9px;line-height:1.6}.collection-heading>.button{gap:6px;padding:10px 12px;font-size:10px}.upload-zone{flex-wrap:wrap;gap:11px;padding:17px 13px}.upload-icon{width:35px;height:35px}.upload-link{font-size:10px}.upload-zone p{font-size:8px}.upload-stage{letter-spacing:.8px;align-items:center;gap:9px;margin-left:46px;display:flex}.upload-stage select{min-width:100px;margin:0;padding:6px 8px;display:inline}.stage-tabs{gap:18px}.stage-tabs button{font-size:10px}.media-grid{gap:12px}.media-body{padding:12px 10px}.media-body h3{font-size:10px}.media-body p{font-size:8px}.media-stage{padding:4px 6px;font-size:7px;bottom:7px;left:7px}.sample-note{font-size:9px;line-height:1.7}.upload-progress>div{font-size:9px}.upload-progress strong,.collection-footer{font-size:8px}.empty.large{padding:45px 18px}}.mobile-property-add,.mobile-logout{display:none}@media (max-width:760px){.sidebar-new{grid-column:1/3;justify-self:end;padding:2px 0;font-size:9px;display:flex}.mobile-property-add{color:#d7dfce;background:0 0;border:1px solid #a8b89d26;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:8px;display:flex}.mobile-logout{margin-left:-6px;display:flex}.mode-badge{margin-left:auto}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.media-open{text-align:left;width:100%;color:inherit;cursor:zoom-in;border:0;padding:0;display:block}.media-open:focus-visible{outline-offset:-3px}.enlarge-hint{color:#fffefa;opacity:0;background:#183128d9;border-radius:4px;padding:6px 9px;font-size:10px;transition:opacity .15s;position:absolute;top:10px;right:10px}.media-open:hover .enlarge-hint,.media-open:focus-visible .enlarge-hint{opacity:1}dialog.image-viewer{background:var(--forest-dark);width:1280px;max-width:calc(100vw - 32px);height:88dvh;max-height:calc(100dvh - 32px);color:var(--surface);border-color:#506458;padding:0;overflow:hidden}.image-viewer[open]{flex-direction:column;display:flex}.image-viewer::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0c1d18c9}.image-viewer-heading{border-bottom:1px solid #ffffff21;flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;display:flex}.image-viewer-heading>div{min-width:0}.image-viewer-heading h2{font-family:var(--serif);overflow-wrap:anywhere;margin:0 0 6px;font-size:27px;font-weight:400}.image-viewer-heading p{color:#b8c6b9;margin:0;font-size:11px}.image-viewer-heading .icon-button{min-width:44px;min-height:44px;color:var(--surface);flex-shrink:0}.image-viewer-heading .icon-button:hover{background:#ffffff14}.image-viewer-body{background:#10251d;flex:1;justify-content:center;align-items:center;min-height:0;padding:20px;display:flex}.image-viewer-body>img,.image-viewer-body>.sketch{object-fit:contain;width:100%;height:100%}@media (hover:none){.enlarge-hint{opacity:1}}@media (max-width:760px){dialog.image-viewer{border-radius:8px;max-width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.image-viewer-heading{gap:10px;padding:12px}.image-viewer-heading h2{font-size:23px}.image-viewer-heading p{font-size:10px}.image-viewer-body{padding:10px}.enlarge-hint{padding:5px 7px;font-size:9px;top:7px;right:7px}}.media-card{position:relative}.media-card>.image-actions{z-index:2;position:absolute;top:12px;right:12px}.image-actions{position:relative}.image-actions-toggle{background:var(--paper,#fbfaf7);color:#203e34;border:1px solid #d6ddd6;border-radius:50%;width:36px;height:36px}.image-actions-menu{z-index:5;background:#fffdf8;border:1px solid #d6ddd6;border-radius:8px;min-width:180px;padding:5px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 28px #14291f26}.image-actions-menu button{text-align:left;width:100%;font:inherit;white-space:nowrap;cursor:pointer;color:#203e34;background:0 0;border:0;border-radius:4px;padding:11px 12px;display:block}.image-actions-menu button:hover,.image-actions-menu button:focus-visible{outline-offset:-2px;background:#edf1eb;outline:2px solid #81937a}.image-actions-menu button:disabled{opacity:.5;cursor:default}.image-actions-menu .danger-text,.remove-image-error{color:#a5382b}.image-viewer-controls{align-items:center;gap:12px;display:flex}.remove-image-dialog{width:calc(100% - 32px);max-width:480px;padding:28px}.remove-image-dialog h2{margin-top:0}.remove-image-dialog p{overflow-wrap:anywhere;line-height:1.6}.remove-image-buttons{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.button.danger{color:#fff;background:#a5382b;border:1px solid #a5382b}.button.danger:hover{background:#862b21}.button:disabled{opacity:.6;cursor:wait}.image-actions-toggle span{font-size:27px;line-height:1}.image-viewer-heading .image-actions-toggle{color:var(--forest-dark);background:var(--surface)}@media (max-width:760px){.image-actions-toggle{width:44px;height:44px}}.image-actions-toggle:hover,.image-viewer-heading .image-actions-toggle:hover{color:var(--forest-dark);background:#f2f5eb}.move-image-dialog{width:calc(100% - 32px);max-width:480px;padding:28px}.move-image-dialog h2{margin-top:0}.move-image-dialog p{overflow-wrap:anywhere;line-height:1.6}.move-image-dialog label{flex-direction:column;gap:8px;margin-top:20px;font-size:13px;display:flex}.move-image-dialog select{background:var(--surface);width:100%;color:var(--forest-dark);border:1px solid #cbd3c6;border-radius:5px;padding:12px}.move-image-buttons{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.move-image-error{color:#a5382b}.collection-notice{color:var(--forest);background:#edf1eb;border-radius:5px;padding:12px 16px;font-size:13px}.auth-controls{max-width:360px;margin:24px 0}.auth-controls h2{margin:0 0 16px;font-size:18px}.auth-provider{justify-content:center;width:100%;margin:0 0 10px}.auth-divider{color:var(--muted);margin:18px 0;font-size:12px}.auth-links{flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;display:flex}.auth-links .text-button{font-size:12px}.verify-email{max-width:640px;margin:12vh auto;padding:24px}.invitation-banner{background:#f0f4e9;border:1px solid #a8b394;border-radius:12px;margin-bottom:24px;padding:22px}.invitation-banner h2{margin-top:0;font-size:20px}.people-panel{max-height:70vh;padding-right:8px;overflow:auto}.people-panel h3{margin-top:28px}.people-list{margin:12px 0;padding:0;list-style:none}.people-list li{overflow-wrap:anywhere;border-bottom:1px solid #e0e3da;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.people-list small{color:#626957;margin-top:5px;display:block}.invite-link{margin-top:22px}.invite-link textarea{resize:vertical;border:1px solid #afb5a7;border-radius:6px;width:100%;min-height:90px;padding:10px;font-size:12px}.revoke-confirm{background:#fff3ee;border-radius:8px;margin-top:16px;padding:16px}.project-people{margin-bottom:18px}@media (max-width:600px){.auth-controls{max-width:none}.people-list li{align-items:flex-start}.account-settings{font-size:12px}}.auth-controls{width:100%}.people-panel select{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);border-radius:5px;margin-top:8px;padding:10px 8px;font-size:12px;display:block}@media (max-width:760px){.topbar .breadcrumb{flex:1;min-width:0}.topbar .mode-badge{display:none}.people-settings,.account-settings{flex-shrink:0;font-size:11px}}.invitation-alternate{max-width:500px;margin-top:20px}.invitation-alternate h3{font-size:17px}.invitation-alternate p{line-height:1.6}.invitation-alternate input{letter-spacing:.18em;max-width:240px;font-size:18px}.invitation-banner p{overflow-wrap:anywhere}.property-tools{justify-content:flex-end;margin-bottom:12px;display:flex}.upload-zone{flex-wrap:wrap}.location-filter{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:flex}.location-filter select{max-width:240px;padding:9px 12px}.collection-tools{flex-wrap:wrap}.bulk-locations{color:var(--muted);flex-wrap:wrap;align-items:center;gap:16px;margin:0 0 20px;font-size:13px;display:flex}.bulk-locations label{align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.bulk-locations input,.image-selection input{width:17px;height:17px;accent-color:var(--accent);margin:0}.image-selection{z-index:2;background:var(--surface,#fff);border-radius:5px;padding:5px;display:flex;position:absolute;top:12px;left:12px;box-shadow:0 1px 5px #0002}.media-selected{outline:2px solid var(--accent,#325e4b);outline-offset:2px}.location-tag{color:var(--muted);border:1px solid var(--line,#ddd);text-align:left;overflow-wrap:anywhere;background:0 0;border-radius:5px;justify-content:space-between;align-items:center;gap:8px;max-width:100%;margin:8px 0;padding:5px 8px;font-size:12px;display:flex}button.location-tag{cursor:pointer}button.location-tag:hover{background:var(--surface,#f4f3ed)}.location-manager{width:min(760px,100vw - 32px);max-height:90dvh;overflow:auto}.location-manager>p{font-size:13px;line-height:1.6}.location-list{border-block:1px solid var(--line,#ddd);max-height:330px;margin:20px 0;padding:0;list-style:none;overflow:auto}.location-list li{border-bottom:1px solid var(--line,#ddd);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.location-list li:last-child{border:0}.location-list-name{overflow-wrap:anywhere;min-width:0;font-size:13px}.location-list-name p{color:var(--muted);margin:4px 0 0;font-size:12px}.location-list-name small{color:var(--muted);margin-left:8px;font-weight:400;display:inline-block}.location-list-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.location-list-actions .text-button{font-size:12px}.archived-location .location-list-name{opacity:.6}.location-form{border-bottom:1px solid var(--line,#ddd);padding-bottom:20px}.location-form h3{margin:0 0 16px;font-size:16px}.location-form textarea{font:inherit;resize:vertical;border:1px solid var(--line,#ddd);background:0 0;border-radius:6px;width:100%;min-height:70px;padding:10px}.assign-location-dialog{width:min(460px,100vw - 32px)}.assign-location-dialog p{color:var(--muted);font-size:14px;line-height:1.6}@media (max-width:700px){.location-filter{width:100%}.location-filter select{flex:1;max-width:none}.location-list li{flex-direction:column;align-items:flex-start;gap:8px}.location-list-actions{align-self:flex-end}.upload-zone .upload-stage{flex:1;min-width:130px;margin-left:0}.bulk-locations{gap:12px}.property-tools{justify-content:flex-start}}.room-guess-note{color:var(--muted);overflow-wrap:anywhere;margin:8px 0;font-size:12px;line-height:1.5}.room-guess-note p{margin:0 0 5px}.room-guess-note .text-button,.room-guess-action{color:var(--forest);padding:2px 0;font-size:12px}.room-guess-actions{flex-wrap:wrap;align-items:center;gap:4px 20px;margin-top:6px;display:flex}.room-guess-actions .text-button{text-align:left;border-radius:4px;gap:6px;max-width:100%;min-height:32px}.room-review-banner{border:1px solid var(--line);border-left:3px solid var(--forest);background:#f0f4ee;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;margin:22px 0;padding:18px 22px;display:flex}.room-review-banner strong{font-size:15px;font-weight:600}.room-review-banner strong span{background:var(--forest);color:#fff;border-radius:12px;justify-content:center;align-items:center;min-width:24px;height:24px;margin-left:8px;padding:0 6px;font-size:12px;display:inline-flex}.room-review-banner p{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.6}.room-review-banner .button{flex-shrink:0}.room-review-dialog{width:min(920px,100vw - 32px);max-width:920px;max-height:min(90dvh,940px);color:var(--ink);border-radius:12px;padding:0;overflow:hidden}.room-review-dialog[open]{flex-direction:column;display:flex}.room-review-dialog .modal-heading{flex-shrink:0;margin:0;padding:24px 28px 0}.room-review-dialog .modal-heading h2{margin:4px 0 0;font-size:25px}.room-review-dialog .eyebrow{margin:0;font-size:10px}.room-review-dialog .room-review-description{color:var(--muted);margin:14px 0 0;padding:0 28px;font-size:14px;line-height:1.65}.room-review-summary{color:var(--forest);background:#f0f4ee;border-radius:6px;flex-shrink:0;margin:12px 28px 18px;padding:10px 12px;font-size:13px;line-height:1.6}.room-review-list{overscroll-behavior:contain;min-height:0;padding:0 28px;overflow:auto}.room-review-row{border-top:1px solid var(--line);grid-template-columns:132px minmax(0,1fr);gap:20px;padding:22px 0;display:grid}.room-review-photo{background:#e9e9e1;border-radius:7px;align-self:start;overflow:hidden}.room-review-photo-button{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block;position:relative}.room-review-photo img{object-fit:cover;width:100%;height:110px;display:block}.room-review-photo-button span{color:#fff;background:#15261db8;padding:5px;font-size:10px;position:absolute;bottom:0;left:0;right:0}.room-review-photo-placeholder{min-height:110px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.room-review-photo.expanded-photo{grid-column:1/-1}.expanded-photo img{object-fit:contain;height:auto;max-height:50dvh}.expanded-photo .room-review-photo-button{cursor:zoom-out}.expanded-photo+.room-review-details{grid-column:1/-1}.room-review-details{min-width:0}.room-review-details h3{overflow-wrap:anywhere;color:var(--muted);margin:0 0 8px;font-size:13px;font-weight:500}.room-review-details .room-review-question{font-family:var(--serif);color:var(--ink);margin:0 0 6px;font-size:22px;line-height:1.4}.room-review-details p{color:var(--muted);overflow-wrap:anywhere;margin:5px 0;font-size:13px;line-height:1.6}.room-review-details .room-review-uncertain{color:#775f25;font-size:12px}.room-review-reason{max-width:64ch}.room-review-destination{letter-spacing:.04em;margin:14px 0 0;font-size:11px;font-weight:600;display:block}.room-review-destination select{letter-spacing:0;width:100%;max-width:390px;min-height:40px;margin:6px 0 0;font-size:14px;display:block}.room-review-row-actions{flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:14px;display:flex}.room-review-row-actions .text-button{text-align:left;align-items:center;gap:6px;min-height:36px;padding:4px 0;font-size:13px;display:inline-flex}.room-review-row-actions .button{align-items:center;gap:7px;display:inline-flex}.room-review-details .room-review-confirmed{color:var(--forest);align-items:center;gap:8px;margin-top:14px;font-weight:500;display:flex}.reviewed-row .room-review-photo{opacity:.75}.room-review-create{border:1px solid var(--line);background:#f5f5ee;border-radius:8px;margin-top:16px;padding:16px}.room-review-create p{margin:0 0 12px}.room-review-create label{font-size:12px}.room-review-create input{font-size:14px}.room-review-footer{border-top:1px solid var(--line);background:var(--paper,#faf9f5);flex-shrink:0;padding:16px 28px 22px}.room-review-footer>p{color:var(--muted);margin:0 0 12px;font-size:12px;line-height:1.6}.room-review-footer .modal-actions{gap:12px;margin:0}.room-review-footer .button{align-items:center;gap:8px;display:inline-flex}.room-review-error{margin:0 28px 12px;font-size:13px}.room-review-error .error{margin:0 0 6px}.single-photo img{object-fit:contain;height:auto;max-height:34dvh}.single-review .room-review-question{font-size:26px}.single-review .room-review-destination select{max-width:none}@media (max-width:600px){.room-review-banner{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.room-review-dialog{width:calc(100vw - 16px);max-height:94dvh}.room-review-dialog .modal-heading{padding:18px 18px 0}.room-review-dialog .room-review-description{padding:0 18px;font-size:13px}.room-review-summary{margin:12px 18px}.room-review-list{padding:0 18px}.room-review-row{grid-template-columns:90px minmax(0,1fr);gap:12px;padding:18px 0}.room-review-photo img{height:90px}.single-photo img,.expanded-photo img{height:auto}.room-review-details .room-review-question{font-size:20px}.room-review-row-actions{column-gap:16px}.room-review-footer{padding:14px 18px 18px}.room-review-footer .modal-actions{flex-direction:column-reverse;align-items:stretch}.room-review-footer .button{justify-content:center}.room-review-error{margin:0 18px 12px}.room-review-create .form-row{display:block}.room-review-create label+label{margin-top:12px;display:block}}.room-review-row-actions .button{min-height:38px;padding:9px 13px;font-size:12px}.room-review-banner .small-button{padding:9px 13px;font-size:12px}.room-review-dialog.single-review{max-width:780px}.single-review .room-review-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}.room-review-dialog .modal-heading h2{overflow-wrap:anywhere}.room-review-dialog .modal-heading>div{min-width:0}.single-review .room-review-row-actions:empty{display:none}@media (max-width:600px){.single-review .room-review-row{grid-template-columns:minmax(0,1fr);gap:16px}.single-photo img{max-height:23dvh}.single-review .room-review-footer .modal-actions{flex-flow:wrap;justify-content:flex-end}.single-review .room-review-footer .button{flex:1}}
