/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.italic{font-style:italic}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--paper:#f4f1ea;--surface:#fffefa;--surface-strong:#fff;--ink:#1d2723;--ink-soft:#53615b;--muted:#7c8882;--line:#dfe3dc;--line-soft:#ebece7;--sage:#617a6b;--sage-dark:#40594b;--sage-pale:#e7eee8;--terracotta:#bd603f;--terracotta-pale:#f7e9e2;--amber:#c78a31;--amber-pale:#fbf1dc;--blue:#56778b;--blue-pale:#e6eef2;--red:#b34e43;--red-pale:#f8e7e3;--green:#4c755e;--green-pale:#e2eee6;--shadow:0 16px 42px #28342e12;--shadow-small:0 8px 22px #28342e0f}.admin-shell{color:#1f312a;background:#f4f0e8;min-height:100vh;padding:32px clamp(18px,4vw,64px) 70px}.admin-topbar,.panel-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.admin-topbar-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-topbar h1{font-family:var(--font-display),serif;margin:4px 0;font-size:clamp(30px,4vw,50px)}.admin-grid{grid-template-columns:minmax(300px,.8fr) minmax(380px,1.2fr);gap:20px;margin:28px 0;display:grid}.admin-panel{background:#fffdf9;border:1px solid #e0ddd4;border-radius:20px;padding:24px;box-shadow:0 12px 34px #2d36300f}.admin-panel h2{font-family:var(--font-display),serif;margin:0 0 8px}.admin-form{gap:14px;margin-top:20px;display:grid}.admin-form>label{gap:6px;font-weight:700;display:grid}.admin-form input,.admin-form select{min-height:44px;font:inherit;background:#fff;border:1px solid #d9ddd7;border-radius:10px;padding:10px 12px}.admin-form fieldset{border:1px solid #e1e2dd;border-radius:12px;max-height:220px;padding:12px;overflow:auto}.check-row{align-items:center;grid-template-columns:auto 1fr!important;gap:8px!important;font-weight:500!important;display:flex!important}.check-row input{min-height:auto}.form-actions,.card-actions{flex-wrap:wrap;gap:8px;display:flex}.account-card{border-bottom:1px solid #ebe7df;justify-content:space-between;gap:18px;padding:16px 0;display:flex}.account-card>div:first-child{min-width:0}.account-card strong{font-size:18px}.account-card p{color:#6a756f;margin:4px 0}.account-card small{color:#839089;overflow-wrap:anywhere}.account-status{color:#855134;background:#efe8dd;border-radius:999px;margin-left:9px;padding:3px 8px;font-size:11px}.account-status.active{color:#315d49;background:#e4efe9}.account-status.disabled,.account-status.deleted{color:#8b4037;background:#f5dfdc}.card-actions button{background:#fff;border:1px solid #d9ddd7;border-radius:8px;padding:7px 10px}.audit-panel{overflow:hidden}.audit-table{margin-top:18px;overflow:auto}.audit-row{border-top:1px solid #ebe7df;grid-template-columns:170px 150px 90px 150px minmax(130px,1fr);align-items:start;gap:12px;padding:12px 4px;font-size:13px;display:grid}.audit-row span small{color:#839089;margin-top:3px;display:block}.audit-head{color:#65716b;font-weight:800}.audit-row details summary{cursor:pointer;color:#b55f3c}.audit-row pre{white-space:pre-wrap;word-break:break-all;background:#f5f2ec;border-radius:8px;max-height:160px;padding:8px;font-size:11px;overflow:auto}.form-error{color:#903d34;background:#f7e3df;border-radius:10px;padding:12px}@media (width<=820px){.admin-shell{padding:20px 14px 90px}.admin-topbar,.panel-heading{flex-direction:column;align-items:flex-start}.admin-topbar-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.admin-topbar-actions .language-control{grid-column:1/-1;justify-self:start}.admin-topbar-actions>a{text-align:center;justify-content:center;align-items:center;min-height:46px;display:inline-flex}.admin-grid{grid-template-columns:1fr}.audit-row{grid-template-columns:120px 100px 70px 110px minmax(110px,1fr)}.admin-panel{padding:18px}.account-card{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:14px;display:grid}.account-card .card-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.account-card .card-actions button{width:100%;min-height:48px;padding:8px 12px;font-size:16px}.admin-project-list article{flex-direction:column;align-items:stretch}.admin-project-list article button{width:100%;min-height:46px}.admin-topbar{gap:16px}.admin-topbar h1{font-size:34px;line-height:1.15}.admin-account-tabs{grid-template-columns:1fr 1fr;width:100%;display:grid}.admin-account-tabs button{min-height:48px;padding:9px 10px}.admin-panel h2{font-size:24px;line-height:1.25}.audit-table{overflow:visible}.audit-head{display:none}.audit-row:not(.audit-head){background:#fbfaf7;border:1px solid #e2ded5;border-radius:14px;grid-template-columns:1fr;gap:10px;margin-top:12px;padding:14px;display:grid}.audit-row:not(.audit-head)>*{gap:3px;min-width:0;padding-left:92px;display:grid;position:relative}.audit-row:not(.audit-head)>:before{color:#7a857f;content:attr(data-label);font-size:12px;font-weight:700;position:absolute;top:1px;left:0}.audit-row details summary{align-items:center;min-height:40px;display:inline-flex}.audit-row pre{max-width:100%;overflow:auto}.panel-heading>span{line-height:1.5}.client-request-list article{grid-template-columns:1fr}.client-request-list article .card-actions{grid-template-columns:1fr 1fr;display:grid}.client-request-list article button{width:100%;min-height:48px}}.schedule-pdf-button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.client-read-only .content-area .primary-button,.client-read-only .content-area .secondary-button,.client-read-only .content-area .danger-outline-button,.client-read-only .content-area .calendar-day-add,.client-read-only .mobile-add{display:none!important}.client-read-only .content-area .schedule-pdf-button,.client-read-only .procurement-page .procurement-page-actions>.primary-button,.client-read-only .procurement-page .procurement-empty>.primary-button{display:inline-flex!important}.client-submission-note{color:#64736b;background:#edf1ed;border-radius:9px;margin:10px 0 0;padding:9px 10px;font-size:12px}.material-tool-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.material-tool-row select{background:#fffdf9;border:1px solid #d8ddd7;border-radius:10px;min-height:42px;padding:0 10px}.material-pdf-button{text-decoration:none}.client-read-only .content-area .material-pdf-button{display:inline-flex!important}.material-readiness{margin:18px 0 22px;padding:18px 20px}.material-readiness-stats{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.material-readiness-stats span{background:#f1f3ef;border-radius:12px;padding:12px 14px}.material-readiness-stats small{color:#76827c;display:block}.material-readiness-stats strong{font-family:var(--font-display),serif;font-size:27px}.material-readiness-stats .is-missing{color:#a25037;background:#f9eae2}.material-readiness-stats .is-ready{color:#396d59;background:#e6f0e9}.material-reminders{border-top:1px solid #e3e4de;grid-template-columns:100px 1fr;align-items:start;gap:14px;margin-top:15px;padding-top:14px;display:grid}.material-reminders>div{flex-wrap:wrap;gap:7px;display:flex}.material-reminders span{background:#f7f3ec;border-radius:8px;padding:6px 9px;font-size:12px}.material-reminders span small{color:#a75d3e;display:block}.material-reminders em{color:#7a8680;align-self:center;font-size:12px}.material-wastage{color:#8b6547;background:#f2eee5;border-radius:8px;margin:6px 0;padding:7px 9px;font-size:12px}.material-checklist-modal{width:min(920px,94vw);max-height:92vh;overflow:auto}.checklist-template-choice{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px;display:grid}.checklist-template-choice button{text-align:left;background:#fff;border:1px solid #d9ddd7;border-radius:14px;gap:4px;padding:16px;display:grid}.checklist-template-choice button.active{background:#fff8f4;border-color:#ba6243;box-shadow:0 0 0 2px #f1d7cb}.checklist-template-choice span{color:#738078}.material-group-list{gap:12px;margin-top:18px;display:grid}.material-group-list>section{border:1px solid #e0e2dc;border-radius:14px;overflow:hidden}.material-group-list section>header{background:#f3f4f0;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.material-group-list header label,.material-group-list section>div label{align-items:flex-start;gap:9px;display:flex}.material-group-list label span{display:grid}.material-group-list label small{color:#7b8780}.material-group-list section>div{grid-template-columns:1fr 1fr;gap:8px;padding:12px 14px;display:grid}.material-group-list section>div label{background:#fbfaf7;border-radius:8px;padding:8px}.full-checklist-preview{background:#edf2ee;border-radius:14px;margin:18px 0;padding:18px}.full-checklist-preview strong{font-family:var(--font-display),serif;font-size:22px}.full-checklist-preview p{color:#53675d;margin:6px 0}.full-checklist-preview small{color:#7a8880}@media (width<=820px){.material-readiness-stats{grid-template-columns:repeat(2,1fr)}.material-reminders{grid-template-columns:1fr}.material-tool-row{justify-content:stretch}.material-tool-row>*{flex:auto}.material-group-list section>div,.checklist-template-choice{grid-template-columns:1fr}}*{box-sizing:border-box}html{background:var(--paper);min-width:320px}body{background:radial-gradient(circle at 94% 0%, #bd603f14, transparent 28rem), var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,Heiti TC,system-ui,sans-serif}button,input,select,textarea{font:inherit;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,Heiti TC,system-ui,sans-serif}button{color:inherit}.procurement-page button,.procurement-page select,.procurement-page a{font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,Heiti TC,system-ui,sans-serif}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #56778b59}.app-shell,.loading-shell{min-height:100vh}.side-rail{color:#f8f8f1;z-index:20;background:#1c2923;flex-direction:column;align-items:stretch;width:232px;height:100vh;padding:26px 18px 22px;display:flex;position:fixed;top:0;left:0}.brand-lockup{align-items:center;gap:12px;min-height:50px;padding:0 8px;display:flex}.brand-home-link{color:inherit;text-decoration:none}.brand-home-link:focus-visible{outline-offset:3px;border-radius:10px;outline:2px solid}.brand-home-link-mobile{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.fatal-brand-home-link{display:inline-flex}.brand-lockup>span:last-child{flex-direction:column;display:flex}.brand-lockup strong{letter-spacing:.18em;font-family:Noto Serif TC,Songti TC,serif;font-size:21px;line-height:1.1}.brand-lockup small{color:#ffffff7a;letter-spacing:.23em;margin-top:4px;font-size:8px}.brand-mark{background:var(--terracotta);color:#fff;border-radius:10px 3px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-family:Felix Titling,Cinzel,Times New Roman,serif;font-size:20px;line-height:1;display:inline-flex}.side-nav{flex-direction:column;gap:7px;margin-top:42px;display:flex}.side-nav button{color:#ffffff9e;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:12px;width:100%;padding:11px 12px;font-size:13px;transition:background .15s,color .15s,transform .15s;display:flex}.side-nav button:hover{color:#fff;background:#ffffff0f;transform:translate(2px)}.side-nav button>span{color:#c5d2c9;justify-content:center;align-items:center;width:20px;font-size:18px;display:inline-flex}.side-nav button em{background:var(--terracotta);color:#fff;border-radius:99px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;font-size:9px;font-style:normal;display:inline-flex}.side-project{background:#ffffff0e;border:1px solid #ffffff14;border-radius:13px;margin-top:auto;padding:15px}.side-project p{color:#ffffff75;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:9px}.side-project>strong{letter-spacing:.1em;font-size:11px;display:block}.side-project>span{color:#ffffffbd;margin:4px 0 12px;font-size:11px;line-height:1.5;display:block}.side-project small{color:#ffffff75;margin-top:7px;font-size:9px;display:block}.side-user{border-top:1px solid #ffffff14;align-items:center;gap:9px;margin-top:18px;padding:18px 5px 0;display:flex}.side-user>span:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.side-user strong{font-size:11px}.side-user small{color:#ffffff6e;margin-top:2px;font-size:9px}.side-user-more{color:#ffffff80;font-size:12px}.avatar{color:#5b3c2d;letter-spacing:.03em;background:#d8c0aa;border:2px solid #fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:9px;font-weight:800;display:inline-flex}.avatar.tiny{border:1px solid #fff;width:22px;height:22px}.app-main{min-height:100vh;margin-left:232px}.topbar{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:15;background:#f4f1eae6;border-bottom:1px solid #ccd1c9b3;justify-content:space-between;align-items:center;height:76px;padding:0 36px;display:flex;position:sticky;top:0}.mobile-brand{display:none}.project-switcher{background:0 0;border:0;align-items:center;gap:9px;padding:6px 0;display:flex}.project-switcher>span{background:var(--sage-pale);color:var(--sage-dark);letter-spacing:.08em;border-radius:5px;padding:5px 7px;font-size:9px;font-weight:800}.project-switcher strong{font-size:13px;font-weight:650}.project-switcher i{color:var(--muted);font-style:normal}.topbar-actions{align-items:center;gap:13px;display:flex}.mobile-account-button{display:none}.today-label{border-right:1px solid var(--line);text-align:right;flex-direction:column;padding-right:18px;display:flex}.today-label small{color:var(--muted);letter-spacing:.08em;font-size:9px}.today-label strong{margin-top:2px;font-size:11px}.refresh-button,.notification-button,.icon-button{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex;position:relative}.refresh-button{color:var(--sage);font-size:17px}.notification-button{color:var(--terracotta);font-family:Georgia,serif;font-size:17px;font-weight:700}.notification-button span{background:var(--terracotta);border:2px solid var(--paper);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-family:inherit;font-size:7px;display:inline-flex;position:absolute;top:-5px;right:-5px}.content-area{max-width:1480px;margin:0 auto;padding:28px 34px 58px}.project-hero{color:#fff;min-height:230px;box-shadow:var(--shadow);background:linear-gradient(105deg,#182821f5,#3a4f43f0),#24362d;border-radius:22px;justify-content:space-between;align-items:center;padding:35px 42px;display:flex;position:relative;overflow:hidden}.project-hero:before,.project-hero:after{content:"";border:1px solid #ffffff14;border-radius:50%;width:350px;height:350px;position:absolute;top:-170px;right:-40px}.project-hero:after{width:260px;height:260px;top:-130px;right:58px}.hero-copy,.hero-progress{z-index:1;position:relative}.project-badges{align-items:center;gap:8px;display:flex}.project-badges>span{color:#ffffffd1;letter-spacing:.11em;background:#ffffff1f;border:1px solid #ffffff24;border-radius:5px;padding:5px 8px;font-size:9px;font-weight:700}.project-badges .live-badge{color:#d7eadd;background:#cfe3d61f}.live-badge:before{content:"";background:#8dbc9b;border-radius:50%;width:5px;height:5px;margin-right:6px;display:inline-block}.hero-copy h1{letter-spacing:.03em;margin:16px 0 8px;font-family:Noto Serif TC,Songti TC,serif;font-size:clamp(28px,3vw,39px);font-weight:600}.hero-copy>p{color:#ffffffa3;margin:0;font-size:11px}.hero-copy>p span{margin:0 8px}.hero-actions{align-items:center;gap:15px;margin-top:24px;display:flex}.primary-button,.secondary-button{cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 15px;font-size:13px;font-weight:700;transition:transform .14s,box-shadow .14s,background .14s;display:inline-flex}.primary-button{background:var(--terracotta);border:1px solid var(--terracotta);color:#fff;box-shadow:0 8px 20px #75301d2e}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.primary-button:disabled{cursor:wait;opacity:.65;transform:none}.secondary-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.secondary-button{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.danger-outline-button,.danger-button{cursor:pointer;font:inherit;border-radius:9px;justify-content:center;align-items:center;min-height:38px;padding:0 14px;font-size:11px;font-weight:800;display:inline-flex}.danger-outline-button{background:var(--surface);color:#9b4335;border:1px solid #d9aaa2}.danger-button{color:#fff;background:#a6483b;border:1px solid #a6483b}.danger-outline-button:disabled,.danger-button:disabled{cursor:wait;opacity:.6}.full-width{width:100%}.sync-note{color:#ffffff7a;align-items:center;gap:6px;font-size:9px;display:inline-flex}.hero-edit-button{color:#fff;background:#ffffff14;border-color:#ffffff3d}.sync-dot{background:#8dbc9b;border-radius:50%;width:5px;height:5px;box-shadow:0 0 0 4px #8dbc9b1f}.hero-progress{align-items:center;gap:20px;min-width:370px;display:flex}.progress-ring{background:conic-gradient(#d9e5dc var(--progress), #ffffff21 0);border-radius:50%;justify-content:center;align-items:center;width:126px;height:126px;display:flex;position:relative}.progress-ring:before{content:"";background:#34493e;border-radius:50%;position:absolute;inset:8px}.progress-ring>div{text-align:center;flex-direction:column;display:flex;position:relative}.progress-ring strong{font-family:Georgia,serif;font-size:26px;font-weight:500}.progress-ring span{color:#ffffff85;margin-top:2px;font-size:9px}.hero-progress-copy{flex-direction:column;max-width:185px;display:flex}.hero-progress-copy>span{color:#ffffff7a;letter-spacing:.1em;font-size:9px}.hero-progress-copy strong{margin:8px 0;font-family:Noto Serif TC,Songti TC,serif;font-size:19px;font-weight:600}.hero-progress-copy small{color:#ffffff94;font-size:9px;line-height:1.6}.metric-grid{grid-template-columns:repeat(4,1fr);gap:13px;margin:16px 0;display:grid}.metric-card{background:var(--surface);border:1px solid var(--line-soft);box-shadow:var(--shadow-small);border-radius:14px;align-items:center;gap:13px;min-height:98px;padding:16px 17px;display:flex}.metric-card>div{grid-template-columns:auto 1fr;width:100%;display:grid}.metric-card p{color:var(--muted);letter-spacing:.04em;grid-column:1/-1;margin:0 0 4px;font-size:11px}.metric-card strong{align-self:end;font-family:Georgia,serif;font-size:27px;font-weight:500;line-height:1}.metric-card small{color:var(--muted);place-self:end;padding-bottom:2px;font-size:10px}.metric-icon{background:var(--sage-pale);color:var(--sage);border-radius:10px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-family:Georgia,serif;font-size:19px;display:inline-flex}.metric-amber .metric-icon{background:var(--amber-pale);color:var(--amber)}.metric-red .metric-icon{background:var(--red-pale);color:var(--red)}.metric-green .metric-icon{background:var(--green-pale);color:var(--green)}.metric-blue .metric-icon{background:var(--blue-pale);color:var(--blue)}.card{background:var(--surface);border:1px solid var(--line-soft);box-shadow:var(--shadow-small);border-radius:16px}.alerts-panel{background:#fffcf4;border:1px solid #eadfc8;border-radius:14px;align-items:stretch;margin-bottom:16px;display:flex;overflow:hidden}.alerts-heading{color:#7e5c24;background:#f4ead7;flex-direction:column;justify-content:center;align-items:center;min-width:106px;padding:12px;display:flex}.alerts-heading span{font-size:9px}.alerts-heading strong{margin-top:3px;font-family:Georgia,serif;font-size:26px}.alerts-list{flex:1;grid-template-columns:repeat(3,1fr);display:grid}.alert-row{border-right:1px solid #eee5d3;grid-template-columns:26px 1fr auto;align-items:center;gap:10px;min-width:0;padding:13px 16px;display:grid}.alert-row:last-child{border-right:0}.alert-symbol{background:var(--amber-pale);color:var(--amber);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-family:Georgia,serif;font-size:11px;font-weight:700;display:inline-flex}.severity-critical .alert-symbol{background:var(--red-pale);color:var(--red)}.alert-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.alert-row p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:10px;overflow:hidden}.alert-row time{color:var(--amber);font-size:8px}.phase-ribbon{margin-bottom:16px;padding:20px 22px 16px}.section-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-heading h2,.photo-checklist h2,.visit-list-card h2{margin:3px 0 0;font-family:Noto Serif TC,Songti TC,serif;font-size:18px;font-weight:650}.photo-checklist h2{font-size:22px;line-height:1.35}.eyebrow{color:var(--terracotta);letter-spacing:.14em;margin:0;font-size:8px;font-weight:800}.legend{color:var(--muted);align-items:center;gap:6px;font-size:8px;display:flex}.legend i{border-radius:50%;width:6px;height:6px;margin-left:8px;display:inline-block}.legend-done{background:var(--sage)}.legend-now{background:var(--terracotta)}.legend-next{background:#c7ccc8}.phase-list{grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.phase-step{grid-template-columns:26px 1fr auto;align-items:center;gap:8px;min-height:54px;padding:3px 12px 3px 0;display:grid;position:relative}.phase-step:not(:last-child):after{background:var(--line);content:"";width:14px;height:1px;position:absolute;top:27px;right:-3px}.phase-index{color:var(--muted);background:#eef0ec;border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;font-family:Georgia,serif;font-size:9px;display:inline-flex}.phase-done .phase-index{background:var(--sage);color:#fff}.phase-now .phase-index{background:var(--terracotta);box-shadow:0 0 0 5px var(--terracotta-pale);color:#fff}.phase-step>div{flex-direction:column;min-width:0;display:flex}.phase-step strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.phase-step small{color:var(--muted);margin-top:3px;font-size:7px}.phase-step em{color:var(--muted);font-family:Georgia,serif;font-size:9px;font-style:normal}.overview-grid{grid-template-columns:minmax(0,1.52fr) minmax(320px,.78fr);gap:16px;display:grid}.weekly-card,.decision-card,.updates-card{padding:22px}.count-badge{background:var(--sage-pale);color:var(--sage-dark);border-radius:99px;padding:5px 9px;font-size:8px}.count-badge.warning{background:var(--amber-pale);color:#91631f}.task-list{border-top:1px solid var(--line-soft)}.task-row{grid-template-columns:45px 1fr;gap:14px;padding:16px 0;display:grid}.task-row:not(:last-child){border-bottom:1px solid var(--line-soft)}.task-date{background:#f0f2ed;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;height:50px;display:flex}.task-date span{color:var(--muted);font-size:7px}.task-date strong{margin-top:1px;font-family:Georgia,serif;font-size:17px;font-weight:500}.task-main{min-width:0}.task-title-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.task-title-row h3{margin:4px 0 0;font-size:14px}.task-meta{color:var(--muted);font-size:10px}.status-pill{color:#68726d;background:#eff1ee;border-radius:99px;flex:none;align-items:center;gap:5px;padding:5px 7px;font-size:10px;line-height:1;display:inline-flex}.status-dot{background:currentColor;border-radius:50%;width:4px;height:4px;display:inline-block}.tone-green{background:var(--green-pale);color:var(--green)}.tone-blue{background:var(--blue-pale);color:var(--blue)}.tone-amber{background:var(--amber-pale);color:#93621d}.tone-red{background:var(--red-pale);color:var(--red)}.progress-track{background:#e5e8e3;border-radius:99px;width:100%;height:7px;overflow:hidden}.side-project .progress-track{background:#ffffff1f}.progress-track span{background:var(--sage);border-radius:inherit;height:100%;display:block}.side-project .progress-track span{background:#afc8b7}.progress-track.compact{height:5px}.task-progress-line{grid-template-columns:1fr auto;align-items:center;gap:9px;margin-top:12px;display:grid}.task-progress-line strong{color:var(--sage);font-family:Georgia,serif;font-size:9px}.task-footer{color:var(--muted);align-items:center;gap:6px;margin-top:9px;font-size:10px;display:flex}.inspection-tag{background:var(--amber-pale);color:#8f6323;border-radius:4px;margin-left:5px;padding:3px 5px}.text-button{color:var(--terracotta);cursor:pointer;background:0 0;border:0;align-items:center;min-height:44px;margin-left:auto;padding:8px 0;font-size:13px;font-weight:700;display:inline-flex}.blocked-note{background:var(--red-pale);color:var(--red);border-radius:6px;margin:8px 0 0;padding:6px 8px;font-size:8px}.overview-side{flex-direction:column;gap:16px;display:flex}.decision-list{border-top:1px solid var(--line-soft)}.decision-row{cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:42px 1fr 12px;align-items:center;gap:11px;width:100%;padding:12px 0;display:grid}.decision-row:not(:last-child){border-bottom:1px solid var(--line-soft)}.decision-row:hover .decision-copy>strong{color:var(--terracotta)}.due-block{background:var(--sage-pale);color:var(--sage);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;height:43px;display:flex}.due-block.soon{background:var(--amber-pale);color:#95641c}.due-block.overdue{background:var(--red-pale);color:var(--red)}.due-block small{font-size:7px}.due-block strong{margin-top:2px;font-family:Georgia,serif;font-size:13px}.due-block i{margin-left:1px;font-family:inherit;font-size:7px;font-style:normal}.decision-copy{flex-direction:column;min-width:0;display:flex}.decision-copy small{color:var(--muted);font-size:7px}.decision-copy>strong{text-overflow:ellipsis;white-space:nowrap;margin:3px 0;font-size:12px;transition:color .14s;overflow:hidden}.decision-copy em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-style:normal;overflow:hidden}.row-arrow{color:var(--muted);font-family:Georgia,serif;font-size:18px}.visit-card{background:#e9eee9;border:1px solid #d8dfd8;border-radius:15px;grid-template-columns:56px 1fr 30px;align-items:center;gap:14px;padding:17px;display:grid}.visit-calendar{background:var(--surface);box-shadow:var(--shadow-small);border-radius:9px;flex-direction:column;justify-content:center;align-items:center;height:57px;display:flex}.visit-calendar small{color:var(--terracotta);font-size:8px}.visit-calendar strong{font-family:Georgia,serif;font-size:22px;font-weight:500}.visit-copy h3{margin:4px 0;font-size:12px;line-height:1.45}.visit-copy>p{color:var(--muted);margin:0;font-size:10px}.visit-action{min-height:44px;margin:7px 0 0}.visit-icon{background:var(--sage);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:inline-flex}.updates-card{margin-top:16px}.muted-label{color:var(--muted);font-size:8px}.timeline-feed{border-top:1px solid var(--line-soft);width:100%;min-width:0;padding-top:5px}.feed-item{grid-template-columns:34px minmax(0,1fr);align-items:start;gap:12px;width:100%;padding:14px 0;display:grid;position:relative}.feed-item>.avatar{grid-area:1/1;justify-self:center}.feed-item:not(:last-child) .feed-line{background:var(--line);width:1px;position:absolute;top:47px;bottom:-12px;left:16px}.feed-content{grid-area:1/2;width:100%;min-width:0;max-width:100%}.feed-heading{grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:12px;display:grid}.feed-heading>div{min-width:0;font-size:11px}.feed-heading strong{margin-right:5px}.feed-heading span,.feed-heading time{color:var(--muted);font-size:10px}.feed-content>p{color:var(--ink-soft);margin:8px 0;font-size:12px;line-height:1.7}.feed-meta{align-items:center;gap:7px;display:flex}.feed-meta>span:first-child{color:var(--sage);background:#f0f2ee;border-radius:5px;padding:4px 6px;font-size:8px;font-weight:700}.attachment-strip{flex-wrap:wrap;gap:7px;max-width:100%;margin-top:10px;display:flex;position:relative}.photo-tile{cursor:zoom-in;background:#e4e8e2;border:0;border-radius:8px;width:126px;height:92px;padding:0;display:block;overflow:hidden}.photo-tile img{object-fit:cover;width:100%;height:100%;transition:transform .18s}.photo-tile:hover img{transform:scale(1.04)}.attachment-strip.compact .photo-tile{width:86px;height:64px}.photo-more{color:#fff;cursor:pointer;background:#1d2723b8;border:0;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;margin:33px 0 0 -22px;font-size:8px;display:inline-flex}.photo-viewer-backdrop{z-index:140;background:#0a120fe0;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.photo-viewer{color:#fff;background:#101a16;border-radius:16px;width:min(92vw,1180px);max-width:1180px;max-height:calc(100vh - 44px);display:grid;overflow:hidden;box-shadow:0 28px 80px #00000061}.photo-viewer-header,.photo-viewer-footer{justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.photo-viewer-header{border-bottom:1px solid #ffffff21}.photo-viewer-header>div,.photo-viewer-footer>div{gap:3px;display:grid}.photo-viewer-header strong,.photo-viewer-footer strong{font-size:15px}.photo-viewer-header span,.photo-viewer-footer span{color:#ffffffa6;font-size:12px}.photo-viewer-header button,.photo-viewer-footer a{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:9px;min-height:40px;padding:9px 13px;font-size:13px;text-decoration:none}.photo-viewer-stage{background:#09100d;justify-content:center;align-items:center;min-height:min(68vh,720px);display:flex;position:relative;overflow:hidden}.photo-viewer-stage>img{object-fit:contain;max-width:100%;max-height:min(68vh,720px)}.photo-viewer-nav{color:var(--sage-dark);cursor:pointer;z-index:2;background:#faf9f5eb;border:0;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.photo-viewer-nav.previous{left:16px}.photo-viewer-nav.next{right:16px}.photo-viewer-nav svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:24px;height:24px}.photo-viewer-footer{border-top:1px solid #ffffff21}.empty-state{color:var(--muted);text-align:center;padding:30px 10px;font-size:10px}.empty-state.success{color:var(--green)}.page-title-row{justify-content:space-between;align-items:flex-end;margin:4px 0 22px;display:flex}.page-title-row h1{margin:5px 0 7px;font-family:Noto Serif TC,Songti TC,serif;font-size:28px;font-weight:650}.page-title-row>div:first-child>p:last-child{color:var(--muted);margin:0;font-size:13px}.page-actions{gap:9px;display:flex}.schedule-summary{background:var(--surface);border:1px solid var(--line);border-radius:11px;align-items:center;gap:16px;padding:11px 15px;display:flex}.schedule-summary span{color:var(--muted);font-size:11px}.schedule-summary strong{color:var(--ink);margin-left:3px;font-family:Georgia,serif;font-size:14px}.schedule-summary .is-late{background:var(--red-pale);color:var(--red);border-radius:5px;padding:5px 7px}.schedule-header-actions{flex-direction:column;align-items:flex-end;gap:9px;display:flex}.schedule-working-note{align-items:flex-start;gap:15px;margin-top:14px;padding:16px 18px;display:flex}.schedule-working-note strong{color:var(--sage-dark);flex:none;font-size:12px}.schedule-working-note span{color:var(--muted);font-size:12px;line-height:1.6}.schedule-action-row,.schedule-view-tabs,.schedule-date-mode{gap:8px;display:flex}.schedule-action-row{flex-wrap:wrap;justify-content:flex-end}.schedule-view-tabs{background:#e9ece7;border-radius:12px;width:fit-content;margin-bottom:14px;padding:4px}.schedule-view-tabs button,.schedule-date-mode button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:9px 14px;font-size:12px;font-weight:700}.schedule-view-tabs button.active,.schedule-date-mode button.active{background:var(--surface);color:var(--sage-dark);box-shadow:0 1px 5px #1e302817}.schedule-calendar-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:14px;display:grid}.schedule-calendar-card{overflow:hidden}.calendar-toolbar{justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.calendar-toolbar strong{font-family:Noto Serif TC,serif;font-size:18px}.calendar-toolbar button{background:var(--surface-soft);border:1px solid var(--line);color:var(--sage-dark);cursor:pointer;border-radius:8px;width:34px;height:34px;font-size:22px}.calendar-weekdays,.schedule-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays{border-bottom:1px solid var(--line);border-top:1px solid var(--line);color:var(--muted);text-align:center;background:#f0f2ed;padding:8px 0;font-size:10px;font-weight:700}.schedule-calendar-grid>button{background:var(--surface);border:0;border-bottom:1px solid var(--line-soft);border-right:1px solid var(--line-soft);cursor:pointer;text-align:left;min-height:148px;padding:7px;overflow:hidden}.schedule-calendar-grid>button:nth-child(7n){border-right:0}.schedule-calendar-grid>button.outside{opacity:.38}.schedule-calendar-grid>button.non-working{background:#f5f2ed}.schedule-calendar-grid>button.selected{box-shadow:inset 0 0 0 2px var(--terracotta);opacity:1}.schedule-calendar-grid>button.is-drop-target{cursor:copy}.schedule-calendar-grid>button.is-drop-target:hover,.schedule-calendar-grid>button.is-drop-target:focus-visible{box-shadow:inset 0 0 0 2px var(--terracotta);opacity:1;background:#fff7ef}.calendar-date{justify-content:space-between;align-items:center;display:flex}.calendar-date b{font-family:Georgia,serif;font-size:14px}.calendar-date em{background:var(--terracotta);color:#fff;border-radius:4px;padding:2px 4px;font-size:8px;font-style:normal}.holiday-label{color:var(--red);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:8px;display:block;overflow:hidden}.calendar-task-stack{flex-direction:column;gap:3px;margin-top:6px;display:flex}.calendar-task-stack i{background:var(--task-color,var(--sage))}@supports (color:color-mix(in lab, red, red)){.calendar-task-stack i{background:color-mix(in srgb, var(--task-color,var(--sage)) 18%, white)}}.calendar-task-stack i{border-left:3px solid var(--task-color,var(--sage));color:var(--sage-dark);text-overflow:ellipsis;white-space:nowrap;border-radius:3px;padding:4px 5px;font-size:9px;font-style:normal;overflow:hidden}.calendar-task-stack i[draggable=true]{cursor:grab;-webkit-user-select:none;user-select:none}.calendar-task-stack i[draggable=true]:active{cursor:grabbing}.calendar-task-stack i.is-acceptance{color:#79481f;background:#fff0df;border-color:#c7834a;font-weight:700}.calendar-task-stack i.is-procurement-node{border-color:var(--terracotta);color:#81533e;background:#f4e8dc}.calendar-task-stack>small{color:var(--muted);font-size:8px}.day-agenda{padding:19px;position:sticky;top:18px}.day-agenda h2{margin:5px 0 14px;font-family:Noto Serif TC,serif;font-size:18px}.calendar-day-add{justify-content:center;width:100%;margin:12px 0 16px}.calendar-placement-banner{background:#fff1e7;border:1px solid #edc3a8;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin:10px 0 12px;padding:10px 11px;display:flex}.calendar-placement-banner>span{flex-direction:column;gap:2px;min-width:0;display:flex}.calendar-placement-banner small{color:var(--terracotta);letter-spacing:.08em;font-size:8px;font-weight:800}.calendar-placement-banner strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.calendar-placement-banner em{color:var(--muted);font-size:9px;font-style:normal}.calendar-placement-banner button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:7px;flex:none;padding:7px 9px;font-size:9px}.day-off-note,.agenda-empty{color:var(--muted);background:#f4f0ea;border-radius:8px;padding:11px;font-size:11px}.agenda-task{border:0;border-top:1px solid var(--line-soft);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;width:100%;padding:12px 0;display:flex}.agenda-task-actions,.agenda-procurement-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;display:grid}.agenda-task-actions .agenda-task{min-width:0}.agenda-move-button{border:1px solid var(--line);color:var(--sage-dark);cursor:pointer;background:#f1f4ef;border-radius:7px;padding:7px 8px;font-size:9px;font-weight:700}.agenda-move-button:hover{border-color:var(--sage)}.agenda-task:before{background:var(--task-color,var(--sage));content:"";border-radius:99px;width:3px;height:30px;margin-right:9px}.agenda-task.is-acceptance{background:#fffaf3}.agenda-task>span{flex-direction:column;gap:3px;display:flex}.agenda-task>span:last-child{align-items:flex-end}.agenda-task small{color:var(--muted);font-size:9px}.agenda-task strong{font-size:12px}.agenda-task .agenda-task-stage{font-size:8px}.agenda-task .agenda-task-process{font-size:14px;line-height:1.25}.agenda-task b{color:var(--sage);font-family:Georgia,serif;font-size:12px}.agenda-procurement-node{border-left:3px solid var(--terracotta);background:#f7efe7;border-radius:7px;flex-direction:column;gap:3px;margin-top:8px;padding:10px 11px;display:flex}.agenda-procurement-node small{color:var(--terracotta);font-size:8px}.agenda-procurement-node strong{font-size:11px}.agenda-procurement-actions .agenda-procurement-node{width:100%;min-width:0}.common-process-launch{justify-content:center;width:100%;margin-top:16px}.common-process-library{border:1px solid var(--line);background:#f7f5ef;border-radius:11px;margin-top:9px;padding:11px}.common-process-library>div:first-child{flex-direction:column;gap:3px;display:flex}.common-process-library>div:first-child strong{font-size:12px}.common-process-library>div:first-child small{color:var(--muted);font-size:8px;line-height:1.45}.common-process-library>label{flex-direction:column;gap:5px;margin-top:10px;display:flex}.common-process-library>label span{color:var(--muted);font-size:8px;font-weight:700}.common-process-library select{border:1px solid var(--line);color:var(--ink);font:inherit;background:#fff;border-radius:7px;width:100%;padding:8px;font-size:10px}.common-process-chips{gap:6px;max-height:260px;margin-top:9px;display:grid;overflow-y:auto}.common-process-chips button{border:1px solid var(--line-soft);cursor:grab;text-align:left;background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:2px;padding:8px 9px;display:grid}.common-process-chips button:hover{border-color:var(--terracotta)}.common-process-chips button small{color:var(--muted);grid-column:1/3;font-size:7px}.common-process-chips button strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.common-process-chips button span{color:var(--terracotta);font-size:8px}.reschedule-notice{border-left:3px solid var(--terracotta);color:var(--muted);background:#fff1e7;border-radius:8px;margin:0;padding:10px 12px;font-size:10px;line-height:1.55}.reschedule-notice strong{color:var(--ink)}.month-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.month-overview-card{border:1px solid var(--line);cursor:pointer;text-align:left;padding:17px}.month-card-head,.month-card-stats{justify-content:space-between;align-items:center;display:flex}.month-card-head strong{font-family:Noto Serif TC,serif;font-size:16px}.month-card-head b{color:var(--sage);font-family:Georgia,serif}.month-progress{background:#e7ebe7;border-radius:99px;height:6px;margin:13px 0 10px;display:block;overflow:hidden}.month-progress i{background:var(--sage);height:100%;display:block}.month-card-stats small{color:var(--muted);font-size:9px}.month-phase-list{flex-wrap:wrap;gap:5px;margin-top:13px;display:flex}.month-phase-list i{background:var(--surface-soft);color:var(--muted);border-radius:4px;padding:4px 6px;font-size:9px;font-style:normal}.schedule-date-mode{background:#e9ece7;border-radius:10px;margin-bottom:14px;padding:4px}.schedule-date-mode button{flex:1}.schedule-date-preview{color:var(--muted);background:#f2f5f1;border-radius:8px;margin:-2px 0 14px;padding:10px 12px;font-size:11px}.schedule-date-preview strong{color:var(--sage-dark)}.schedule-stage-color-note{border-left:3px solid var(--sage);color:var(--muted);background:#f2f5f1;border-radius:7px;margin:0 0 14px;padding:9px 11px;font-size:9px;line-height:1.55}.acceptance-empty{background:#f5f2ed;border-radius:10px;flex-direction:column;align-items:flex-start;gap:5px;padding:15px;display:flex}.acceptance-empty strong{font-size:12px}.acceptance-empty span{color:var(--muted);font-size:11px;line-height:1.5}.modal-sheet.renovation-template-modal{width:min(1180px,100vw - 44px);max-width:1180px;max-height:92vh}.renovation-template-modal form{max-height:calc(92vh - 95px);overflow-y:auto}.renovation-template-form.is-schedule-step{flex-direction:column;max-height:calc(92vh - 95px);display:flex;overflow:hidden}.template-stepper{background:#f2f1ed;border-radius:10px;grid-template-columns:1fr 1fr;margin-bottom:14px;padding:4px;display:grid}.template-stepper button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;font-size:11px;font-weight:800;display:flex}.template-stepper button b{border:1px solid var(--line);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:9px;display:inline-flex}.template-stepper button.active{background:var(--surface);color:var(--sage-dark);box-shadow:0 1px 5px #1e302817}.template-stepper button.active b,.template-stepper button.complete b{background:var(--sage-dark);border-color:var(--sage-dark);color:#fff}.template-stepper button:disabled{cursor:not-allowed;opacity:.55}.template-intro{color:var(--muted);margin-top:0;font-size:12px}.template-existing-warning{color:#8f3f31;background:#fff1ec;border:1px solid #e7b7aa;border-radius:8px;padding:10px 12px;font-size:11px;line-height:1.55}.template-logic-note{border-left:3px solid var(--terracotta);color:#765442;background:#f7efe8;border-radius:6px;margin:0 0 13px;padding:9px 11px;font-size:11px;line-height:1.6}.template-parallel-note{color:#496777;background:#edf3f4;border-left:3px solid #5f7f98;border-radius:6px;margin:0 0 13px;padding:9px 11px;font-size:11px;line-height:1.6}.template-summary{background:#edf1ec;border-radius:10px;gap:18px;margin-bottom:13px;padding:12px 14px;display:flex}.template-summary span,.template-summary strong{font-size:11px}.template-summary span{color:var(--muted)}.template-preview-heading{justify-content:space-between;align-items:center;margin:0 2px 7px;display:flex}.template-preview-heading strong{font-size:12px}.template-preview-heading span{color:var(--muted);font-size:10px}.template-preview-list{border:1px solid var(--line);border-radius:10px;max-height:330px;overflow-y:auto}.template-preview-list>div{border-bottom:1px solid var(--line-soft);grid-template-columns:24px minmax(0,1fr) 310px;align-items:center;gap:10px;padding:10px 11px;display:grid}.template-preview-list>div:last-child{border-bottom:0}.template-preview-list>div.parallel-task{background:#f5f9fa}.template-preview-list b{background:var(--sage-dark);color:#fff;border-radius:50%;justify-content:center;align-items:center;height:22px;font-size:9px;display:flex}.template-preview-list span{flex-direction:column;gap:2px;display:flex}.template-preview-list small{color:var(--muted);font-size:9px}.template-preview-list strong{font-size:11px}.template-preview-list em{color:var(--muted);text-align:left;grid-template-columns:1fr 1fr;gap:6px;font-size:9px;font-style:normal;line-height:1.5;display:grid}.template-preview-list em label{align-items:center;gap:4px;display:flex}.template-preview-list em input{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:5px;padding:5px 4px;font-size:10px;font-weight:700}.template-date-input{flex-direction:column;align-items:stretch!important}.template-date-input span{font-size:8px}.template-date-input input{width:100%}.template-days-input{grid-column:1/-1;justify-content:flex-end}.template-days-input input{text-align:center;width:48px}.template-editor-heading{flex:none;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;display:flex}.template-editor-heading>div{flex-direction:column;gap:3px;display:flex}.template-editor-heading strong{font-size:14px}.template-editor-heading span{color:var(--muted);font-size:10px}.template-schedule-table-wrap{border:1px solid var(--line);border-radius:10px;flex:auto;min-height:280px;overflow:auto}.template-schedule-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:920px}.template-schedule-table th{border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:.06em;text-align:left;text-transform:uppercase;z-index:2;background:#edf1ec;padding:9px 8px;font-size:9px;position:sticky;top:0}.template-schedule-table th:first-child{text-align:center;width:56px}.template-schedule-table th:nth-child(2){width:38%}.template-schedule-table th:nth-child(3),.template-schedule-table th:nth-child(4){width:17%}.template-schedule-table th:nth-child(5){width:14%}.template-schedule-table td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:8px}.template-schedule-table tr:last-child td{border-bottom:0}.template-schedule-table tr.parallel-task{background:#f5f9fa}.template-schedule-table tr.is-excluded{opacity:.55;background:#f4f2ee}.template-schedule-table td>small{color:var(--muted);margin-bottom:4px;font-size:8px;display:block}.template-schedule-table td>input,.template-table-days input{background:var(--surface);border:1px solid var(--line);box-sizing:border-box;color:var(--ink);font:inherit;border-radius:6px;width:100%;min-height:34px;padding:6px 7px;font-size:10px}.template-task-title-input{font-weight:800!important}.template-include-check{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.template-include-check input{accent-color:var(--sage-dark);width:16px;height:16px}.template-include-check span{color:var(--muted);font-size:8px}.template-table-days{align-items:center;gap:5px;display:flex}.template-table-days input{text-align:center;width:58px}.template-table-days span{color:var(--muted);white-space:nowrap;font-size:8px}.renovation-template-form.is-schedule-step .template-summary,.renovation-template-form.is-schedule-step .modal-footer{flex:none}.schedule-task-selector-note{color:var(--muted);margin:-4px 0 14px;font-size:10px;line-height:1.5}.custom-task-name-field{background:#f7f4ef;border-radius:9px;padding:10px}.template-manager-modal{max-width:720px}.template-group-list{gap:10px;margin:16px 0;display:grid}.template-group-card{border:1px solid var(--line);background:#f7f4ef;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.template-group-card>span{flex-direction:column;gap:3px;display:flex}.template-group-card small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.template-group-card strong{font-size:13px}.template-group-card em{color:var(--muted);font-size:10px;font-style:normal}.template-delete-note{color:#855046;background:#fff1ec;border-radius:8px;padding:10px 12px;font-size:10px;line-height:1.55}@media (width<=1180px){.schedule-calendar-layout{grid-template-columns:1fr}.day-agenda{position:static}.month-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.modal-sheet.renovation-template-modal{width:100%;max-height:96vh}.renovation-template-modal form,.renovation-template-form.is-schedule-step{max-height:calc(96vh - 86px)}.template-editor-heading{flex-direction:column;align-items:stretch}.template-editor-heading .secondary-button{align-self:flex-start}.template-schedule-table-wrap{border:0;min-height:300px}.template-schedule-table{min-width:0;display:block}.template-schedule-table thead{display:none}.template-schedule-table tbody{gap:9px;display:grid}.template-schedule-table tr{background:var(--surface);border:1px solid var(--line);border-radius:9px;grid-template-columns:48px minmax(0,1fr) minmax(0,1fr);padding:8px;display:grid;overflow:hidden}.template-schedule-table td{border:0;padding:5px}.template-schedule-table td:first-child{grid-row:1/3}.template-schedule-table td:nth-child(2),.template-schedule-table td:nth-child(5){grid-column:2/4}.template-schedule-table td[data-label]:before{color:var(--muted);content:attr(data-label);margin-bottom:3px;font-size:8px;font-weight:800;display:block}}@media (width<=680px){.schedule-header-actions{align-items:stretch;width:100%}.schedule-action-row{grid-template-columns:1fr 1fr;display:grid}.schedule-view-tabs{width:100%;overflow-x:auto}.schedule-view-tabs button{flex:1 0 auto}.calendar-weekdays span{font-size:8px}.schedule-calendar-grid>button{min-height:76px;padding:5px}.calendar-task-stack i{height:7px;padding:0;font-size:0}.holiday-label{font-size:0}.holiday-label:after{content:"假期";font-size:8px}.month-overview-grid{grid-template-columns:1fr}.template-summary{flex-direction:column;align-items:flex-start;gap:5px}.template-preview-list>div{grid-template-columns:22px minmax(0,1fr)}.template-preview-list em{text-align:left;grid-column:2}.template-preview-list em label{justify-content:flex-start}.template-preview-list em{grid-template-columns:1fr}.template-days-input{grid-column:1}.template-group-card{flex-direction:column;align-items:stretch}}.gantt-card{overflow-x:auto}.gantt-scroll{min-width:calc(278px + var(--gantt-timeline-width,560px));width:max-content}.gantt-head,.gantt-row,.phase-band{grid-template-columns:220px var(--gantt-timeline-width,560px) 58px;display:grid}.gantt-head{border-bottom:1px solid var(--line);color:var(--muted);background:#f0f2ed;min-width:840px;font-size:11px;font-weight:700}.gantt-head>div{min-height:44px;padding:14px 18px}.gantt-head>div:last-child{text-align:center}.gantt-scale{border-left:1px solid var(--line);border-right:1px solid var(--line);position:relative}.gantt-scale span{border-left:1px solid var(--line-soft);white-space:nowrap;justify-content:center;align-items:center;padding:0 5px;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.phase-bands,.gantt-tasks{min-width:840px}.phase-band{border-bottom:1px solid var(--line-soft);background:#f9faf7;align-items:center;min-height:48px}.phase-band-name{flex-direction:column;padding:10px 18px;display:flex}.phase-band-name strong{font-size:12px}.phase-band-name span{color:var(--muted);margin-top:3px;font-size:10px}.phase-band-track,.gantt-track{background-image:linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);background-size:var(--gantt-week-size,20%) 100%;border-left:1px solid var(--line);border-right:1px solid var(--line);align-self:stretch;position:relative}.phase-band-track>span{background:#c9d5cd;border-radius:99px;height:8px;position:absolute;top:20px}.phase-band>strong{color:var(--sage);text-align:center;font-family:Georgia,serif;font-size:12px}.gantt-row{background:var(--surface);border:0;border-bottom:1px solid var(--line-soft);cursor:pointer;text-align:left;align-items:stretch;width:100%;min-height:58px;padding:0}.gantt-row:hover{background:#fffdf7}.gantt-task-name{flex-direction:column;justify-content:center;padding:10px 18px;display:flex}.gantt-task-name small{color:var(--muted);font-size:10px}.gantt-task-name strong{margin-top:3px;font-size:12px}.gantt-bar{background:#b9c0bb;border-radius:5px;height:22px;position:absolute;top:18px;overflow:hidden}.gantt-bar.tone-green{background:#b8cabb}.gantt-bar.tone-blue{background:#b9cbd4}.gantt-bar.tone-red{background:#e7beb8}.gantt-bar>b{background:var(--sage);opacity:.85;height:100%;display:block}.gantt-bar.tone-red>b{background:var(--red)}.gantt-bar em{color:#fff;font-size:10px;font-style:normal;position:absolute;top:6px;left:7px}.gantt-row>strong{color:var(--sage);text-align:center;align-self:center;font-family:Georgia,serif;font-size:12px}.today-line{border-left:1px dashed var(--terracotta);width:1px;position:absolute;top:0;bottom:0}.today-line i{background:var(--terracotta);color:#fff;white-space:nowrap;border-radius:3px;padding:2px 3px;font-size:6px;font-style:normal;position:absolute;top:1px;left:-10px}.procurement-gantt-row{cursor:default}.procurement-gantt-marker{background:var(--terracotta);border-radius:50%;width:12px;height:12px;position:absolute;top:23px;overflow:visible;transform:translate(-50%)}.procurement-gantt-marker.delivery{background:var(--sage-dark)}.procurement-gantt-marker b{color:#714934;white-space:nowrap;background:#fff8f1;border:1px solid #e6cdbd;border-radius:4px;padding:2px 4px;font-size:7px;position:absolute;top:-5px;left:7px}.filter-chips{background:#e9ece7;border-radius:10px;gap:3px;padding:3px;display:flex}.filter-chips button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 12px;font-size:9px}.filter-chips button.active{background:var(--surface);color:var(--ink);font-weight:700;box-shadow:0 2px 9px #28342e14}.procurement-page-actions{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.procurement-page-actions .primary-button{min-height:38px}.procurement-page .filter-chips{justify-content:space-between;width:100%;min-width:360px}.procurement-page .filter-chips button{flex:1;min-height:38px;padding:8px 14px;font-size:11px}.procurement-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.procurement-card{overflow:hidden}.product-image{background:linear-gradient(135deg,#5d71650d,#bd603f1a),#e9ece7;justify-content:center;align-items:center;height:160px;display:flex;position:relative;overflow:hidden}.product-image>span:not(.status-pill){color:var(--muted);flex-direction:column;align-items:center;gap:7px;font-size:8px;display:flex}.product-image>span i{font-family:Georgia,serif;font-size:28px;font-style:normal}.product-image img{object-fit:cover;width:100%;height:100%}.product-image .status-pill{position:absolute;top:10px;right:10px}.product-body{padding:18px}.product-meta{color:var(--muted);margin:0;font-size:10px}.linked-delivery-badge{color:#9a5438;background:#f7e8df;border-radius:999px;margin-top:8px;padding:4px 7px;font-size:8px;font-weight:800;display:inline-flex}.product-body h3{margin:6px 0 13px;font-family:Noto Serif TC,Songti TC,serif;font-size:17px}.product-quantity{background:var(--terracotta-pale);color:var(--terracotta);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:9px;padding:8px 11px;display:flex}.product-quantity span{font-size:9px;font-weight:700}.product-quantity strong{font-family:Georgia,serif;font-size:16px}.tile-card-summary{color:var(--sage-dark);margin:-1px 0 11px;font-size:10px;font-weight:700}.procurement-empty{grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:28px;display:grid}.procurement-empty>span{background:var(--sage-pale);color:var(--sage);border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;font-family:Georgia,serif;font-size:24px;display:flex}.procurement-empty strong{font-family:Noto Serif TC,Songti TC,serif;font-size:16px}.procurement-empty p{color:var(--muted);margin:5px 0 0;font-size:11px}.model-block{background:#f1f3ef;border-radius:8px;flex-direction:column;min-height:51px;padding:9px 11px;display:flex}.model-block small,.product-dates small{color:var(--muted);font-size:7px}.model-block strong{margin-top:4px;font-size:12px}.product-dates{grid-template-columns:1fr 1fr;gap:12px;margin:14px 0;display:grid}.product-dates span{flex-direction:column;display:flex}.product-dates strong{flex-direction:column;margin-top:3px;font-family:Georgia,Noto Serif TC,serif;font-size:11px;font-weight:600;display:flex}.product-dates strong em{color:var(--amber);margin-top:2px;font-family:Noto Sans TC,sans-serif;font-size:7px;font-style:normal}.product-dates .date-overdue,.product-dates .date-overdue em{color:var(--red)}.product-note{color:var(--ink-soft);min-height:25px;margin:0 0 13px;font-size:11px;line-height:1.55}.records-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,.6fr);gap:16px;display:grid}.record-main,.record-side{flex-direction:column;gap:16px;display:flex}.record-card{padding:20px}.record-head{grid-template-columns:38px 1fr auto;align-items:center;gap:11px;display:grid}.record-head>div:nth-child(2) small{color:var(--muted);font-size:8px}.record-head h3{margin:3px 0;font-size:13px}.record-head p{color:var(--muted);margin:0;font-size:8px}.record-progress{flex-direction:column;align-items:flex-end;display:flex}.record-progress strong{color:var(--sage);font-family:Georgia,serif;font-size:20px;font-weight:500}.record-progress small{color:var(--muted);font-size:7px}.record-note{color:var(--ink-soft);margin:15px 0 0;font-size:12px;line-height:1.7}.record-audit-actions{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;margin-top:14px;padding-top:11px;display:flex}.record-audit-actions>span{color:var(--muted);font-size:9px}.existing-update-photos{background:#f6f7f3;border-radius:10px;margin-bottom:14px;padding:12px}.existing-update-photos>strong{margin-bottom:8px;font-size:11px;display:block}.existing-update-photos>small{color:var(--muted);margin-top:8px;font-size:9px;display:block}.update-history{border:1px solid var(--line);border-radius:10px;margin-bottom:14px;overflow:hidden}.update-history summary{cursor:pointer;background:#f1f3ee;padding:12px 14px;font-size:11px;font-weight:800}.update-history>p{color:var(--muted);padding:0 14px;font-size:10px}.update-history article{border-top:1px solid var(--line-soft);padding:11px 14px}.update-history article>div{justify-content:space-between;align-items:center;display:flex}.update-history article strong{font-size:10px}.update-history article time,.update-history article small,.update-history article span{color:var(--muted);font-size:8px}.update-history article small{margin-top:3px;display:block}.update-history article p{margin:7px 0 3px;font-size:10px;line-height:1.5}.photo-checklist,.visit-list-card{padding:20px}.photo-checklist ul{margin:16px 0;padding:0;list-style:none}.photo-checklist li{border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;padding:13px 0;font-size:14px;line-height:1.55;display:flex}.photo-checklist li span{background:var(--sage-pale);color:var(--sage);border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;display:inline-flex}.checklist-note{background:var(--amber-pale);color:#795822;border-radius:8px;margin:0;padding:14px;font-size:13px;line-height:1.65}.client-design-card{padding:24px}.client-design-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.client-design-grid>article{border:1px solid var(--line-soft);background:#faf8f3;border-radius:14px;min-height:220px;overflow:hidden}.client-design-grid>article.has-content{grid-template-columns:minmax(180px,.9fr) minmax(0,1.1fr);display:grid}.client-design-grid>article.has-content:last-child{display:block}.client-design-image{min-height:220px;position:relative;overflow:hidden}.client-design-image img{object-fit:cover;width:100%;height:100%}.client-design-image span{color:#fff;background:#19362ce6;padding:7px 10px;font-size:13px;position:absolute;bottom:12px;left:12px}.client-design-copy{flex-direction:column;justify-content:center;padding:22px;display:flex}.client-design-copy>small,.client-design-copy>time{color:var(--muted);font-size:13px}.client-design-copy>strong{margin-top:6px;font-family:Noto Serif TC,Songti TC,serif;font-size:22px}.client-design-copy>p{margin:8px 0;font-size:15px}.client-design-copy.panorama .primary-button{align-self:flex-start;margin-top:16px}.client-design-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:220px;padding:28px;display:flex}.client-design-empty>span{color:var(--terracotta);margin-bottom:12px;font-size:25px}.client-design-empty>strong{font-size:18px}.client-design-empty>p{color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.65}.client-design-history{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;margin-top:18px;padding-top:14px;font-size:13px;display:flex}.client-design-history span{color:var(--muted)}@media (width<=760px){.client-design-grid,.client-design-grid>article.has-content{grid-template-columns:1fr}.client-design-image{min-height:190px}}.visit-list-row{border:0;border-top:1px solid var(--line-soft);color:var(--ink);cursor:pointer;text-align:left;background:0 0;flex-direction:column;width:100%;margin-top:11px;padding-top:11px;padding-left:0;padding-right:0;display:flex}.visit-list-row:hover strong{color:var(--terracotta)}.visit-list-card time{color:var(--terracotta);font-size:11px}.visit-list-card strong{margin:4px 0;font-size:12px;line-height:1.5}.visit-list-card span{color:var(--muted);font-size:11px}.modal-backdrop{z-index:50;background:#0f19148c;justify-content:center;align-items:flex-end;padding:22px;display:flex;position:fixed;inset:0}.modal-sheet{background:var(--surface);border-radius:18px;width:100%;max-width:720px;max-height:calc(100vh - 44px);padding:24px 27px 22px;overflow-y:auto;box-shadow:0 28px 90px #0f191447}.modal-handle{background:var(--line);border-radius:99px;width:46px;height:4px;margin:-12px auto 15px;display:none}.modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.modal-header h2{margin:5px 0 0;font-family:Noto Serif TC,Songti TC,serif;font-size:22px}.icon-button{color:var(--muted);background:#f1f3ef;border:0;border-radius:50%;width:44px;height:44px;font-size:20px}.modal-sheet form{flex-direction:column;gap:14px;display:flex}.schedule-task-modal{max-width:760px}.project-settings-modal{max-width:920px}.settings-section{border:1px solid var(--line-soft);background:#fafbf8;border-radius:13px;flex-direction:column;gap:13px;padding:16px;display:flex}.settings-section-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.settings-section-heading>div{flex-direction:column;gap:3px;display:flex}.settings-section-heading strong{font-size:14px}.settings-section-heading small,.form-help{color:var(--muted);font-size:11px;line-height:1.55}.form-help{background:var(--blue-pale);border-radius:8px;margin:0;padding:10px 12px}.check-field{color:var(--ink-soft);align-items:center;gap:8px;min-height:44px;font-size:12px;font-weight:650;display:flex}.check-field input{width:18px;height:18px}.settings-check{align-self:end}.contact-editor-list{gap:11px;display:grid}.contact-editor-card{border:1px solid var(--line);background:#fff;border-radius:11px;flex-direction:column;gap:11px;padding:13px;display:flex}.contact-editor-card-heading{justify-content:space-between;align-items:center;display:flex}.contact-editor-card-heading strong{font-size:12px}.contact-editor-card-heading span{background:var(--sage-pale);color:var(--sage-dark);border-radius:99px;padding:4px 8px;font-size:10px;font-weight:750}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-field{flex-direction:column;gap:6px;display:flex}.form-field>span,.progress-fieldset legend{color:var(--ink-soft);font-size:12px;font-weight:700}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--line);color:var(--ink);background:#fbfcf9;border-radius:8px;width:100%;min-height:44px;padding:9px 11px;font-size:13px}.form-guidance{background:var(--sage-pale);color:var(--sage-dark);border-radius:8px;margin:0;padding:10px 12px;font-size:11px;line-height:1.55}.form-field textarea{resize:vertical;min-height:88px;line-height:1.6}.tile-master-summary,.tile-category-note,.tile-total-field,.tile-delivery-note{background:var(--sage-pale);border:1px solid #dce4de;border-radius:9px;justify-content:center;min-height:72px;padding:10px 12px}.tile-master-summary strong,.tile-category-note strong,.tile-total-field strong,.tile-delivery-note strong{color:var(--sage-dark);font-size:13px}.tile-master-summary small,.tile-category-note small,.tile-total-field small,.tile-delivery-note small{color:var(--muted);font-size:10px;line-height:1.45}.material-name-preview{background:#f2f5f0;border:1px solid #dce4de;border-radius:9px;justify-content:center;min-height:72px;padding:10px 12px}.material-name-preview strong{color:var(--sage-dark);font-size:15px}.material-name-preview small{color:var(--muted);font-size:10px;line-height:1.45}.tile-detail-editor{background:#f7f4ee;border:1px solid #e2ddd3;border-radius:13px;gap:14px;padding:16px;display:grid}.tile-detail-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.tile-detail-heading h3{margin:2px 0 5px;font-family:Noto Serif TC,Songti TC,serif;font-size:18px}.tile-detail-heading p{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.tile-detail-actions{flex-shrink:0;gap:7px;display:flex}.tile-detail-actions button{min-height:38px;padding:8px 11px}.tile-feature-button{color:var(--terracotta);border-color:#d9b8a8}.tile-detail-list{gap:10px;display:grid}.tile-detail-row{border:1px solid var(--line);background:#fffefa;border-radius:10px;padding:13px}.tile-detail-row>header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.tile-detail-row>header strong{color:var(--ink);font-size:12px}.tile-detail-row>header button{color:var(--terracotta);cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:700}.tile-detail-row>header button:disabled{color:#b9b9b2;cursor:not-allowed}.tile-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.tile-calculated-quantity{background:#edf3ef;border:1px solid #d6e2db;border-radius:9px;justify-content:center;min-height:72px;padding:10px 12px}.tile-calculated-quantity strong{color:var(--sage-dark);font-size:17px}.tile-photo-field{cursor:pointer;background:#f7f4ee;border:1px dashed #c8cec8;border-radius:9px;grid-column:1/-1;grid-template-columns:64px 1fr;align-items:center;gap:10px;min-height:76px;padding:8px;display:grid;position:relative;overflow:hidden}.tile-photo-field input{opacity:0;position:absolute;inset:0}.tile-photo-field>span:not(.tile-photo-preview):not(.tile-photo-placeholder){gap:3px;display:grid}.tile-photo-field strong{color:var(--ink);font-size:12px}.tile-photo-field small{color:var(--muted);font-size:10px}.tile-photo-preview,.tile-photo-placeholder{color:var(--terracotta);background:#e7ebe6;border-radius:7px;justify-content:center;align-items:center;width:58px;height:58px;display:flex;overflow:hidden}.tile-photo-preview img{object-fit:cover;width:100%;height:100%}.procurement-category-sections{gap:24px;display:grid}.procurement-category-section{gap:12px;display:grid}.procurement-category-header{border-bottom:1px solid #d9ddd7;justify-content:space-between;align-items:end;padding:0 2px 10px;display:flex}.procurement-category-header div{gap:2px;display:grid}.procurement-category-header span{color:var(--terracotta);letter-spacing:.12em;font-size:9px;font-weight:800}.procurement-category-header h2{font-family:var(--font-display), "Noto Serif TC", serif;margin:0;font-size:24px}.procurement-category-header>strong{color:var(--sage-dark);background:#e8eee9;border-radius:999px;padding:6px 10px;font-size:11px}.acceptance-client-picker{border:1px solid var(--line);border-radius:9px;margin:0;padding:9px 11px}.acceptance-client-picker legend{color:var(--muted);padding:0 4px;font-size:11px;font-weight:700}.acceptance-client-picker>div{gap:6px;display:grid}.acceptance-client-picker label{background:#f5f4ef;border-radius:7px;align-items:center;gap:8px;padding:8px 9px;display:flex}.acceptance-client-picker label>span{gap:1px;display:grid}.acceptance-client-picker label small{color:var(--muted);font-size:9px}.acceptance-client-picker p{color:#8b5f4c;margin:0;font-size:10px;line-height:1.5}.tile-delivery-summary{background:#edf1ec;border-radius:9px;gap:6px;padding:11px 13px;display:grid}.tile-delivery-summary>strong{color:var(--sage-dark);font-size:11px}.tile-delivery-summary p{color:var(--ink-soft);gap:2px;margin:0;font-size:10px;display:grid}.tile-delivery-summary p span{color:var(--terracotta);font-weight:800}.tile-delivery-picker{background:#f7f1e8;border:1px solid #e6d8c8;border-radius:10px;gap:7px;padding:12px;display:grid}.tile-delivery-picker>strong{color:var(--ink);font-size:12px}.tile-delivery-picker>p{color:var(--muted);margin:0 0 2px;font-size:10px}.tile-delivery-picker>button{border:1px solid var(--line);color:var(--terracotta);cursor:pointer;text-align:left;background:#fffefa;border-radius:8px;gap:3px;padding:9px 10px;font-size:11px;font-weight:800;display:grid}.tile-delivery-picker>button small{color:var(--ink-soft);font-size:9px;font-weight:500}.progress-fieldset{border:1px solid var(--line);border-radius:10px;margin:0;padding:11px 12px 12px}.progress-fieldset legend{padding:0 5px}.progress-options{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.progress-options button{cursor:pointer;background:#f0f2ee;border:1px solid #0000;border-radius:7px;min-height:40px;font-family:Georgia,serif;font-size:12px}.progress-options button.active{background:var(--sage);color:#fff}.progress-slider{accent-color:var(--sage);width:100%;margin:9px 0 0}.upload-field{cursor:pointer;background:#f2f4f0;border:1px dashed #c8cec7;border-radius:9px;align-items:center;gap:9px;min-height:62px;padding:9px 12px;display:flex;position:relative}.upload-field.wide{min-height:72px}.upload-field input{opacity:0;width:100%;position:absolute;inset:0}.upload-icon{background:var(--surface);border:1px solid var(--line);color:var(--terracotta);border-radius:8px;justify-content:center;align-items:center;width:35px;height:35px;font-size:16px;display:inline-flex}.upload-field>span:nth-child(2){flex-direction:column;display:flex}.upload-field strong{font-size:12px}.upload-field small{color:var(--muted);margin-top:3px;font-size:11px}.selected-files{flex-wrap:wrap;gap:5px;display:flex}.selected-files span{background:var(--blue-pale);color:var(--blue);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;max-width:190px;padding:4px 6px;font-size:7px;overflow:hidden}.pending-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.pending-photo-card{border:1px solid var(--line);background:#f8f7f3;border-radius:11px;min-width:0;position:relative;overflow:hidden}.pending-photo-card.selected{border-color:var(--sage-dark);box-shadow:0 0 0 2px #325b4c24}.pending-photo-select-card{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;width:100%;padding:0;display:block}.pending-photo-preview{aspect-ratio:4/3;background:var(--sage-pale);position:relative}.pending-photo-preview img{object-fit:cover;width:100%;height:100%;display:block}.pending-photo-remove{color:#fff;cursor:pointer;background:#182d25db;border:0;border-radius:99px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:inline-flex;position:absolute;top:8px;right:8px}.pending-photo-check{color:var(--sage-dark);background:#ffffffeb;border:2px solid #fffffff2;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:15px;font-weight:800;display:flex;position:absolute;top:9px;left:9px}.pending-photo-card:not(.selected) .pending-photo-check{background:#ffffffb8;border-color:#182d2559}.pending-photo-details{gap:9px;padding:10px;display:grid}.pending-photo-details>strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.pending-photo-details>span{border-radius:99px;width:fit-content;padding:6px 9px;font-size:11px;font-weight:700}.photo-room-assigned{background:var(--sage-pale);color:var(--sage-dark)}.photo-room-unassigned{color:var(--clay-dark);background:#f8e6dc}.pending-photo-workspace{gap:12px;display:grid}.pending-photo-batch-tools{border:1px solid var(--line);background:#f4f6f2;border-radius:12px;gap:11px;padding:14px;display:grid}.pending-photo-batch-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.pending-photo-batch-heading>div{gap:3px;display:grid}.pending-photo-batch-heading strong{font-size:16px}.pending-photo-batch-heading small{color:var(--muted);font-size:12px;line-height:1.5}.pending-photo-batch-heading>span{background:var(--sage-dark);color:#fff;border-radius:99px;flex:none;padding:7px 10px;font-size:12px}.pending-photo-selection-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.pending-photo-selection-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;min-height:36px;padding:7px 11px}.pending-photo-selection-actions p{color:var(--muted);margin:0;font-size:12px}.pending-photo-selection-actions b{color:var(--clay)}.pending-photo-room-actions{flex-wrap:wrap;gap:7px;display:flex}.pending-photo-room-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:99px;align-items:center;gap:6px;min-height:36px;padding:7px 11px;display:inline-flex}.pending-photo-room-actions button:hover:not(:disabled){border-color:var(--sage-dark);color:var(--sage-dark)}.pending-photo-room-actions button:disabled{cursor:not-allowed;opacity:.45}.pending-photo-room-actions em{background:var(--sage-pale);color:var(--sage-dark);border-radius:50%;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 4px;font-size:10px;font-style:normal;display:inline-flex}.site-update-date{background:var(--sage-dark);color:#fff;border-radius:11px;gap:4px;padding:14px 16px;display:grid}.site-update-date span{letter-spacing:.08em;opacity:.72;text-transform:uppercase;font-size:10px}.site-update-date strong{font-family:var(--font-serif);font-size:22px;font-weight:500}.site-update-date small{opacity:.76;font-size:11px}.site-update-photo-block .upload-field{min-height:88px}.record-room-filter{background:var(--paper);border:1px solid var(--line);border-radius:14px;gap:13px;margin:18px 0;padding:17px 18px 13px;display:grid}.record-room-filter>div:first-child{gap:3px;display:grid}.record-room-filter h2{font-family:var(--font-serif);margin:0;font-size:20px;font-weight:550}.record-room-filter p{color:var(--muted);margin:0;font-size:12px}.record-room-tabs{scrollbar-width:thin;gap:7px;padding-bottom:4px;display:flex;overflow-x:auto}.record-room-tabs button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#f5f3ee;border-radius:9px;flex:none;align-items:center;gap:8px;min-height:40px;padding:8px 11px;font-size:12px;display:inline-flex}.record-room-tabs button b{background:#19362d14;border-radius:99px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:10px;display:inline-flex}.record-room-tabs button.active{background:var(--sage-dark);border-color:var(--sage-dark);color:#fff}.record-room-tabs button.active b{background:#ffffff29}.record-updater{background:var(--sage-pale);color:var(--sage-dark);border-radius:99px;flex:none;padding:6px 9px;font-size:9px;font-weight:700}.record-card .attachment-strip{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.record-card .photo-tile{width:100%;height:130px}.feed-heading>div{gap:2px;display:grid}.feed-heading .feed-updater{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;background:#f2f0ea;border-radius:99px;max-width:210px;padding:5px 8px;display:block;overflow:hidden}@media (width<=780px){.record-card .attachment-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.record-card .photo-tile{height:116px}.record-updater{display:none}.feed-heading{grid-template-columns:minmax(0,1fr);gap:7px}.feed-heading .feed-updater{justify-self:start;max-width:100%}.photo-viewer-backdrop{padding:0}.photo-viewer{border-radius:0;width:100vw;height:100dvh;max-height:none}.photo-viewer-stage{min-height:0}.photo-viewer-stage>img{max-height:calc(100dvh - 146px)}.photo-viewer-nav{width:42px;height:42px}.photo-viewer-nav.previous{left:10px}.photo-viewer-nav.next{right:10px}.photo-viewer-header,.photo-viewer-footer{padding:12px 14px}}@media (width<=600px){.pending-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pending-photo-batch-heading{align-items:flex-start}.pending-photo-batch-heading small{font-size:11px}}.form-error{background:var(--red-pale);color:var(--red);border-radius:7px;margin:0;padding:8px 10px;font-size:9px}.modal-footer{border-top:1px solid var(--line-soft);justify-content:flex-end;gap:8px;margin-top:4px;padding-top:15px;display:flex}.decision-deadline{background:#eef1ed;border-radius:10px;grid-template-columns:repeat(3,1fr);gap:9px;margin:-5px 0 18px;padding:11px;display:grid}.decision-deadline span{color:var(--muted);flex-direction:column;font-size:7px;display:flex}.decision-deadline strong{color:var(--ink);margin-top:4px;font-family:Georgia,Noto Serif TC,serif;font-size:10px}.toast{color:#fff;z-index:80;background:#21372b;border:1px solid #ffffff1a;border-radius:9px;padding:11px 15px;font-size:10px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 36px #101d163d}.mobile-nav{display:none}.project-row-code{align-items:center;gap:7px;display:flex}.project-lead-label,.engagement-badge{letter-spacing:.04em;white-space:nowrap;border-radius:99px;font-style:normal;font-weight:700}.project-lead-label{color:#8c5d19;background:#fff1d9;padding:4px 7px;font-size:10px}.engagement-type-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.engagement-type-picker button{border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:#fbfaf6;border-radius:14px;grid-template-columns:45px 1fr;align-items:flex-start;gap:4px 10px;padding:16px;display:grid}.engagement-type-picker button>span{color:#426251;background:#eef2ed;border-radius:10px;grid-row:1/3;justify-content:center;align-items:center;width:42px;height:42px;font-family:Felix Titling,Cinzel,serif;font-size:14px;display:flex}.engagement-type-picker button strong{font-size:15px}.engagement-type-picker button small{color:var(--muted);line-height:1.45}.engagement-type-picker button.active{border-color:var(--terracotta);box-shadow:inset 0 0 0 1px var(--terracotta);background:#f4ebe4}.engagement-type-picker button.active>span{background:var(--terracotta);color:#fff}.follow-up-page{max-width:1500px;margin:0 auto}.follow-up-page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;display:flex}.follow-up-page-header h1{margin:0;font-family:Noto Serif TC,Songti TC,serif;font-size:clamp(30px,3vw,44px);line-height:1.12}.follow-up-page-header h2{margin:0;font-family:Noto Serif TC,Songti TC,serif;font-size:clamp(24px,2.2vw,32px);line-height:1.2}.follow-up-page-header>div:first-child>p:last-child{color:var(--muted);max-width:720px;margin:9px 0 0;font-size:14px;line-height:1.7}.follow-up-title-line{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.engagement-badge{color:#365b48;background:#e7f0ea;padding:7px 10px;font-size:11px}.engagement-badge.engagement-lead{color:#8c5d19;background:#fff1d9}.follow-up-header-actions{flex:none;align-items:center;gap:10px;display:flex}.follow-up-metrics{border:1px solid var(--line);background:#edf1ec;border-radius:16px;grid-template-columns:repeat(4,1fr);margin-bottom:15px;padding:5px;display:grid;overflow:hidden}.follow-up-metrics button{color:#6c7b72;cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;gap:10px;min-height:58px;padding:9px 12px;display:flex}.follow-up-metrics button strong{color:var(--ink);font-family:Noto Serif TC,Songti TC,serif;font-size:24px}.follow-up-metrics button span{font-size:12px;font-weight:700}.follow-up-metrics button.active{background:var(--surface);color:var(--terracotta);box-shadow:0 4px 16px #22342a14}.follow-up-workspace{grid-template-columns:minmax(280px,.72fr) minmax(500px,1.55fr);align-items:start;gap:15px;display:grid}.follow-up-list,.follow-up-detail-shell,.follow-up-state-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px #1e2d240e}.follow-up-list{flex-direction:column;gap:7px;min-height:420px;max-height:calc(100vh - 315px);padding:9px;display:flex;position:sticky;top:84px;overflow-y:auto}.follow-up-list-card{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-left:3px solid #a7b4ac;border-radius:10px;flex-direction:column;gap:8px;width:100%;padding:13px 14px;display:flex}.follow-up-list-card:hover{background:#f6f7f3}.follow-up-list-card.active{background:#eef3ef;box-shadow:inset 0 0 0 1px #d6e1d9}.follow-up-list-card.priority-urgent{border-left-color:#ba4e42}.follow-up-list-card.priority-attention{border-left-color:#c5903d}.follow-up-list-card>strong{font-size:15px;line-height:1.45}.follow-up-list-card>small{color:var(--muted);font-size:11px}.follow-up-card-topline,.follow-up-card-footer{justify-content:space-between;align-items:center;display:flex}.follow-up-card-topline>span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:700}.follow-up-card-footer time{color:var(--muted);font-size:10px}.priority-pill,.status-pill{border-radius:99px;padding:6px 8px;font-size:10px;font-style:normal;font-weight:700;line-height:1;display:inline-flex}.priority-pill.priority-urgent{color:#9e382f;background:#f8ded8}.priority-pill.priority-attention{color:#8a5c12;background:#fff0d1}.priority-pill.priority-normal{color:#637269;background:#e9eeea}.status-pill{color:#59685f;background:#edf0ed}.status-pill.status-waiting_client{color:#8a5c12;background:#fff0d1}.status-pill.status-waiting_company{color:#48677d;background:#e4edf3}.status-pill.status-in_progress{color:#32614e;background:#e3ece8}.status-pill.status-resolved{color:#2f6a4b;background:#dcece2}.follow-up-detail-shell{min-height:520px;overflow:hidden}.follow-up-detail-empty,.follow-up-empty{color:var(--muted);text-align:center;justify-content:center;align-items:center;min-height:300px;padding:30px;display:flex}.follow-up-empty{flex-direction:column;gap:8px;min-height:220px}.follow-up-empty span{color:#3e7055;background:#e6efe9;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:flex}.follow-up-detail>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 26px 20px;display:flex}.follow-up-detail>header p{color:var(--terracotta);letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:10px;font-weight:800}.follow-up-detail>header h2{margin:0;font-family:Noto Serif TC,Songti TC,serif;font-size:26px;line-height:1.3}.follow-up-detail>header span:not(.status-pill){color:var(--muted);margin-top:6px;font-size:12px;display:block}.follow-up-detail-badges{align-items:center;gap:7px;display:flex}.follow-up-detail-actions{flex-direction:column;flex:none;align-items:flex-end;gap:12px;display:flex}.follow-up-delete-button{min-height:44px}.follow-up-description{padding:20px 26px 6px;font-size:14px;line-height:1.8}.follow-up-description>p{white-space:pre-wrap;margin:0}.follow-up-facts{grid-template-columns:repeat(3,1fr);margin:10px 26px 20px;display:grid}.follow-up-facts>div{border-left:1px solid var(--line);padding:4px 15px}.follow-up-facts>div:first-child{border-left:0;padding-left:0}.follow-up-facts dt{color:var(--muted);margin-bottom:5px;font-size:10px}.follow-up-facts dd{margin:0;font-size:13px;font-weight:700}.follow-up-staff-controls{border-block:1px solid var(--line);background:#f5f6f2;padding:20px 26px}.follow-up-staff-controls .form-field>span{font-size:11px}.follow-up-checks{flex-wrap:wrap;gap:12px 24px;margin:12px 0;display:flex}.follow-up-checks label{color:#46584e;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.follow-up-checks input{accent-color:var(--terracotta);width:17px;height:17px}.follow-up-save-actions{justify-content:flex-end;gap:8px;display:flex}.follow-up-activity{padding:23px 26px 5px}.follow-up-activity h3,.follow-up-reply h3{margin:0 0 15px;font-family:Noto Serif TC,Songti TC,serif;font-size:18px}.follow-up-timeline{flex-direction:column;display:flex}.follow-up-timeline>article{grid-template-columns:34px 1fr;gap:12px;display:grid;position:relative}.follow-up-timeline>article:not(:last-child):after{background:var(--line);content:"";width:1px;position:absolute;top:34px;bottom:0;left:16px}.follow-up-avatar{color:#704632;z-index:1;background:#ead9cc;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:9px;font-weight:800;display:flex;position:relative}.follow-up-timeline>article>div{border-bottom:1px solid var(--line);padding-bottom:17px}.follow-up-timeline>article:last-child>div{border-bottom:0}.follow-up-timeline header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.follow-up-timeline header strong{font-size:12px}.follow-up-timeline time{color:var(--muted);font-size:10px}.follow-up-timeline p{white-space:pre-wrap;margin:7px 0;font-size:13px;line-height:1.7}.follow-up-attachments{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.follow-up-attachments a{border:1px solid var(--line);color:var(--ink);background:#f1f3ef;border-radius:8px;align-items:center;gap:7px;max-width:240px;padding:7px 9px;text-decoration:none;display:flex}.follow-up-attachments a>span{color:var(--terracotta);font-size:8px;font-weight:800}.follow-up-attachments a>strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.follow-up-reply{border-top:1px solid var(--line);margin:15px 26px 25px;padding-top:20px}.follow-up-reply textarea{border:1px solid var(--line);font:inherit;resize:vertical;border-radius:10px;width:100%;min-height:100px;padding:12px;font-size:14px;line-height:1.6}.follow-up-reply>div:last-child{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.follow-up-file-input{cursor:pointer;background:#f6f7f3;border:1px dashed #bdc9c0;border-radius:10px;align-items:center;gap:11px;margin-top:9px;padding:11px 13px;display:flex;position:relative}.follow-up-file-input>span{font-size:12px;font-weight:800}.follow-up-file-input>small{color:var(--muted);font-size:10px}.follow-up-file-input input{opacity:0;position:absolute;inset:0}.selected-file-list{color:var(--muted);margin:6px 0;font-size:10px;line-height:1.5}.follow-up-state-card{color:var(--muted);text-align:center;min-height:250px;padding:40px}.follow-up-state-card.error strong{color:#9e382f}.follow-up-create-modal{max-width:760px}.follow-up-create-modal .follow-up-file-input{margin-bottom:10px}.follow-up-create-intro{color:var(--muted);max-width:560px;margin-top:7px;font-size:13px;line-height:1.6;display:block}.follow-up-embedded{box-sizing:border-box;width:100%;margin-block:0;padding:24px}.follow-up-embedded.follow-up-staff{margin-top:24px}.follow-up-embedded .follow-up-page-header{align-items:center;margin-bottom:16px}.follow-up-embedded .follow-up-page-header>div:first-child>p:last-child{max-width:760px}.follow-up-embedded .follow-up-list{max-height:480px;position:static;top:auto}.follow-up-embedded-empty{background:var(--surface);border:1px solid var(--line);border-radius:16px;align-items:center;gap:14px;min-height:88px;padding:18px 22px;display:flex}.follow-up-embedded-empty>span{color:#3e7055;background:#e6efe9;border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.follow-up-embedded-empty strong{font-size:15px;display:block}.follow-up-embedded-empty p{color:var(--muted);margin:3px 0 0;font-size:13px}@media (width<=720px){.follow-up-embedded{padding:18px}.follow-up-embedded.follow-up-staff{margin-top:24px}.follow-up-embedded .follow-up-page-header{align-items:stretch}.follow-up-embedded .follow-up-page-header h2{font-size:24px}.follow-up-embedded .follow-up-header-actions,.follow-up-embedded .follow-up-header-actions .primary-button{width:100%}}.client-read-only .follow-up-page .primary-button,.client-read-only .follow-up-page .secondary-button{display:inline-flex!important}@media (width<=1050px){.follow-up-workspace{grid-template-columns:minmax(250px,.7fr) minmax(430px,1.3fr)}.follow-up-detail>header{flex-direction:column}}.loading-main{margin-left:232px;padding:46px 36px}.loading-line,.loading-hero,.loading-grid>div{background:linear-gradient(90deg,#e6e9e4 25%,#f3f4f1 50%,#e6e9e4 75%) 0 0/200% 100%;border-radius:8px;animation:1.5s linear infinite shimmer}.side-rail .loading-line{background:#ffffff14;height:34px;margin:7px 8px}.side-rail .loading-line.short{width:60%;margin-top:42px}.loading-line.title{width:260px;height:30px;margin-bottom:24px}.loading-hero{height:230px}.loading-grid{grid-template-columns:repeat(3,1fr);gap:15px;margin-top:16px;display:grid}.loading-grid>div{height:110px}@keyframes shimmer{to{background-position:-200% 0}}.fatal-shell{background:var(--paper);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.fatal-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;border-radius:20px;max-width:460px;padding:38px}.fatal-card .brand-mark{margin-bottom:20px}.fatal-card h1{font-family:Noto Serif TC,Songti TC,serif;font-size:25px}.fatal-card>p:not(.eyebrow){color:var(--muted);font-size:11px;line-height:1.7}@media (width<=1180px){.side-rail{width:206px}.app-main,.loading-main{margin-left:206px}.content-area{padding-inline:24px}.project-hero{padding-inline:30px}.hero-progress{min-width:330px}.metric-grid{grid-template-columns:repeat(2,1fr)}.phase-list{grid-template-columns:repeat(3,1fr);gap:4px 0}.overview-grid{grid-template-columns:1fr}.overview-side{grid-template-columns:1.2fr .8fr;display:grid}.procurement-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=840px){.side-rail{display:none}.app-main,.loading-main{margin-left:0}.topbar{height:64px;padding:0 18px}.topbar-actions{gap:8px}.desktop-account-button{display:none}.mobile-account-button{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:12px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;text-decoration:none;display:inline-flex}.mobile-account-button .nav-icon{width:18px;height:18px}.mobile-account-button:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}.mobile-brand{align-items:center;gap:8px;display:flex}.mobile-brand .brand-mark{border-radius:7px 2px;width:30px;height:30px;font-size:14px}.mobile-brand strong{font-family:Noto Serif TC,Songti TC,serif;font-size:16px}.project-switcher,.today-label{display:none}.content-area{padding:18px 14px calc(100px + env(safe-area-inset-bottom))}.project-hero{flex-direction:column;align-items:flex-start;gap:28px;padding:25px 22px}.hero-progress{width:100%;min-width:0}.progress-ring{width:94px;height:94px}.progress-ring strong{font-size:21px}.metric-grid{gap:9px}.metric-card{align-items:flex-start;min-height:95px;padding:13px}.metric-icon{width:34px;height:34px}.alerts-panel{flex-direction:column}.alerts-heading{flex-direction:row;gap:7px;min-height:38px;padding:7px 12px}.alerts-heading strong{margin:0;font-size:17px}.alerts-list{grid-template-columns:1fr}.alert-row{border-bottom:1px solid #eee5d3;border-right:0}.alert-row:last-child{border-bottom:0}.phase-list{grid-template-columns:1fr 1fr}.legend{display:none}.overview-side{display:flex}.page-title-row{flex-direction:column;align-items:flex-start;gap:15px}.page-actions{width:100%}.page-actions>button{flex:1}.schedule-summary,.filter-chips{width:100%;max-width:100%;overflow-x:auto}.gantt-card{overflow-x:auto}.gantt-head>div:first-child,.phase-band-name,.gantt-task-name{box-shadow:1px 0 0 var(--line);z-index:3;position:sticky;left:0}.gantt-head>div:first-child{background:#f0f2ed}.phase-band-name{background:#f9faf7}.gantt-task-name{background:var(--surface)}.procurement-grid{grid-template-columns:1fr}.procurement-page-actions{align-items:stretch;width:100%}.procurement-page-actions .primary-button{width:100%}.filter-chips{overflow-x:auto}.procurement-page .filter-chips{min-width:0;overflow:visible}.procurement-page .filter-chips button{padding-inline:7px;font-size:10px}.procurement-empty{grid-template-columns:auto 1fr;align-items:flex-start;padding:20px}.procurement-empty .primary-button{grid-column:1/-1;width:100%}.records-grid{grid-template-columns:1fr}.mobile-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--line);height:calc(68px + env(safe-area-inset-bottom));padding:4px 7px calc(7px + env(safe-area-inset-bottom));z-index:30;background:#fffefaf0;grid-template-columns:repeat(5,1fr);align-items:center;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button,.mobile-nav a{color:var(--muted);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:48px;font-size:13px;text-decoration:none;display:flex}html[data-locale=en] .mobile-nav>button:not(.mobile-add),html[data-locale=en] .mobile-nav>a{letter-spacing:-.01em;overflow-wrap:normal;word-break:normal;min-width:0;padding-inline:0;font-size:clamp(10px,2.82vw,11px);line-height:1.15}.mobile-nav button>span,.mobile-nav a>span{font-size:16px}.mobile-nav button.active{color:var(--terracotta);font-weight:700}.mobile-nav .mobile-add{background:var(--terracotta);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:47px;height:47px;font-size:25px;display:flex;position:absolute;bottom:48px;right:16px;box-shadow:0 8px 22px #75301d40}.modal-backdrop{min-height:100dvh;padding:0}.modal-sheet{max-height:calc(92dvh - env(safe-area-inset-bottom));padding:22px 18px calc(18px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0}.form-field input,.form-field select,.form-field textarea{font-size:16px}.progress-options button{min-height:44px}.upload-field strong{font-size:12px}.upload-field small{font-size:11px}.toast{bottom:calc(82px + env(safe-area-inset-bottom))}.modal-handle{display:block}.engagement-type-picker{grid-template-columns:1fr}.follow-up-page-header{flex-direction:column;align-items:stretch}.follow-up-title-line{flex-direction:column;align-items:flex-start}.follow-up-header-actions{width:100%}.follow-up-header-actions>button{flex:1}.follow-up-metrics{grid-template-columns:repeat(4,minmax(88px,1fr));overflow-x:auto}.follow-up-metrics button{flex-direction:column;gap:2px;min-width:88px}.follow-up-metrics button strong{font-size:21px}.follow-up-workspace{display:block}.follow-up-list{min-height:0;max-height:none;position:static}.follow-up-detail-shell{min-height:0;margin-top:12px}.follow-up-detail>header,.follow-up-description,.follow-up-staff-controls,.follow-up-activity{padding-inline:18px}.follow-up-facts{grid-template-columns:1fr;margin-inline:18px}.follow-up-facts>div,.follow-up-facts>div:first-child{border-bottom:1px solid var(--line);border-left:0;padding:10px 0}.follow-up-reply{margin-inline:18px}.follow-up-reply>div:last-child{flex-direction:column;align-items:stretch}.follow-up-reply>div:last-child button{width:100%}.follow-up-staff-controls .three-columns{grid-template-columns:1fr}}@media (width<=360px){.topbar{padding-inline:12px}.topbar-actions{gap:6px}.topbar .refresh-button{display:none}}@media (width<=560px){.tile-detail-heading{display:grid}.tile-detail-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.tile-detail-actions button{width:100%}.tile-detail-grid{grid-template-columns:1fr}.hero-copy h1{font-size:27px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-progress-copy{max-width:165px}.metric-grid{grid-template-columns:1fr 1fr}.metric-card{grid-template-columns:30px 1fr;gap:8px;display:grid}.metric-icon{width:30px;height:30px;font-size:14px}.metric-card strong{font-size:23px}.metric-card small{display:none}.phase-list{grid-template-columns:1fr}.phase-step:not(:last-child):after{width:1px;height:10px;inset:auto auto -5px 12px}.weekly-card,.decision-card,.updates-card,.phase-ribbon{padding:17px 15px}.task-row{grid-template-columns:38px 1fr}.task-date{height:45px}.task-footer{flex-wrap:wrap}.text-button{text-align:left;flex-basis:100%;margin:5px 0 0 27px}.photo-tile{width:92px;height:72px}.form-row,.decision-deadline{grid-template-columns:1fr}.progress-options{gap:4px}.progress-options button{padding:0}.schedule-summary{justify-content:space-between}}.team-login-page{background:radial-gradient(circle at 12% 8%,#70867a24,#0000 32rem),#eee9df;align-items:center;min-height:100vh;padding:clamp(20px,4vw,56px);display:flex}.team-login-shell{background:#fffdf9;border-radius:16px;grid-template-columns:minmax(330px,.9fr) minmax(430px,1.1fr);width:100%;max-width:1060px;min-height:min(720px,100vh - 80px);margin:auto;display:grid;overflow:hidden;box-shadow:0 28px 72px #26312b24}.team-login-page.is-registering .team-login-shell{grid-template-columns:minmax(310px,.72fr) minmax(560px,1.28fr);max-width:1180px}.team-login-story{color:#f8f3e9;background:#1d3028;flex-direction:column;min-width:0;padding:clamp(34px,5vw,62px);display:flex;position:relative}.team-login-story:after{content:"";pointer-events:none;border:1px solid #f7f0e41c;border-radius:50%;width:340px;height:340px;position:absolute;top:-180px;right:-190px}.team-login-story-brand,.team-login-mobile-brand{align-items:center;gap:12px;display:flex}.team-login-story-brand>span,.team-login-mobile-brand>span{color:#fffaf2;background:#c86645;border-radius:10px 3px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;font-family:Felix Titling,Cinzel,Times New Roman,serif;font-size:21px;display:inline-flex}.team-login-story-brand div{gap:2px;display:grid}.team-login-story-brand strong{letter-spacing:.14em;font-family:Noto Serif TC,Songti TC,serif;font-size:15px}.team-login-story-brand small{color:#f8f3e994;letter-spacing:.2em;font-size:8px}.team-login-story-copy{z-index:1;max-width:430px;margin:auto 0;padding:58px 0 42px;position:relative}.team-login-story-copy h1{color:#fffaf1;letter-spacing:-.03em;text-wrap:balance;margin:0 0 24px;font-family:Noto Serif TC,Songti TC,serif;font-size:clamp(42px,4.7vw,64px);font-weight:500;line-height:1.16}.team-login-story-copy p{color:#f8f3e9b8;max-width:33ch;margin:0;font-size:16px;line-height:1.9}.team-login-story-list{border-top:1px solid #f8f3e926;display:grid}.team-login-story-list>div{gap:5px;padding:16px 0;display:grid}.team-login-story-list>div+div{border-top:1px solid #f8f3e91a}.team-login-story-list strong{font-size:14px;font-weight:800}.team-login-story-list span{color:#f8f3e98f;font-size:12px;line-height:1.6}.team-login-story-foot{color:#f8f3e96b;letter-spacing:.18em;margin:28px 0 0;font-size:10px}.team-login-card{color:#26322c;background:#fffdf9;align-self:center;padding:clamp(40px,6vw,78px)}.team-login-mobile-brand{display:none}.team-login-heading{margin-bottom:32px}.team-login-heading h2{color:#26322c;letter-spacing:-.025em;margin:0 0 14px;font-family:Noto Serif TC,Songti TC,serif;font-size:clamp(32px,4vw,44px);font-weight:600;line-height:1.22}.team-login-intro{color:#667068;max-width:38em;margin:0;font-size:15px;line-height:1.75}.team-login-card form{gap:18px;display:grid}.team-register-grid{grid-template-columns:1fr 1fr;gap:17px;display:grid}.team-login-card label{color:#3d4842;gap:8px;font-size:14px;font-weight:800;display:grid}.team-login-card input{color:#25302a;font:inherit;background:#fbfaf7;border:1px solid #d8d7d0;border-radius:10px;min-height:52px;padding:0 15px}.team-login-card input::placeholder{color:#858b86;opacity:1}.team-login-card input:focus{background:#fff;border-color:#617a6b;outline:none;box-shadow:0 0 0 3px #617a6b24}.team-login-card .team-login-remember{cursor:pointer;align-items:flex-start;gap:11px;font-weight:400;display:flex}.team-login-card .team-login-remember>input{accent-color:#315447;flex:none;width:18px;height:18px;min-height:0;margin:2px 0 0;padding:0}.team-login-remember>span{gap:3px;display:grid}.team-login-remember strong{color:#34433b;font-size:14px}.team-login-remember small{color:#747c76;font-size:12px;font-weight:500;line-height:1.5}.team-login-card .primary-button{width:100%;min-height:52px}.login-text-button{color:#a95036;cursor:pointer;text-align:center;background:0 0;border:0;min-height:40px;padding:6px;font-weight:800}.login-text-button:hover{color:#7d3c2b}.form-success{color:#315d49;background:#e5efe9;border-radius:10px;padding:12px;line-height:1.55}.team-login-help{color:#6f7771;font-size:13px;line-height:1.65;display:block}.team-login-reset-note{text-align:center;margin:-4px 0 0}.team-login-access-note{color:#727a74;border-top:1px solid #e7e3da;margin:30px 0 0;padding-top:18px;font-size:12px;line-height:1.7}.team-login-divider{color:#737b75;align-items:center;gap:12px;margin:3px 0;font-size:12px;display:flex}.team-login-divider:before,.team-login-divider:after{content:"";background:#e4e1da;flex:1;height:1px}.password-input-wrap{display:block;position:relative}.password-input-wrap>input{width:100%;padding-right:70px}.password-visibility-button{color:#a5573d;cursor:pointer;background:0 0;border:0;height:38px;padding:0 12px;font-size:12px;font-weight:800;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-visibility-button:focus-visible{outline-offset:1px;border-radius:7px;outline:2px solid #70867a}.login-secondary-action{color:#674737;cursor:pointer;font:inherit;background:#f4eee7;border:1px solid #d8cabe;border-radius:10px;min-height:50px;font-weight:800}.login-secondary-action:hover{background:#ede3d8;border-color:#cbb8a8}.admin-account-tabs{background:#e8e3d9;border-radius:14px;grid-template-columns:1fr 1fr;gap:6px;max-width:620px;margin-top:24px;padding:6px;display:grid}.admin-account-tabs button{color:#68736d;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:10px;min-height:44px;padding:8px 18px;font-weight:800}.admin-account-tabs button.active{color:#294438;background:#fffdf9;box-shadow:0 4px 14px #2d363014}.client-request-panel{margin-top:20px}.client-request-list{gap:10px;margin-top:18px;display:grid}.client-request-list article{border-top:1px solid #ebe7df;grid-template-columns:minmax(220px,1fr) minmax(240px,.75fr) auto;align-items:end;gap:14px;padding:16px 0;display:grid}.client-request-details{gap:5px;display:grid}.client-request-details span,.client-request-details small{color:#788078}.client-request-list label{gap:6px;font-size:12px;font-weight:800;display:grid}.client-request-list select{font:inherit;background:#fff;border:1px solid #d9ddd7;border-radius:9px;min-height:42px;padding:8px 10px}.admin-project-list{margin-top:14px}.admin-project-list article{border-top:1px solid #ebe7df;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.admin-project-list article div{gap:4px;display:grid}.admin-project-list article span{color:#788078}.danger-button{color:#973f32;cursor:pointer;background:#fff4f1;border:1px solid #e6b7ab;border-radius:9px;min-height:40px;padding:8px 12px;font-weight:800}.document-confirmation-box{background:#f8f1e9;border:1px solid #e4cbbb;border-radius:12px;gap:12px;margin-top:13px;padding:14px;display:grid}.document-confirmation-box label{color:#403a35;align-items:flex-start;gap:11px;font-size:14px;font-weight:700;line-height:1.7;display:flex}.document-confirmation-box input{flex:none;width:18px;height:18px;margin-top:2px}.document-confirmation-box>p{color:#866554;border-top:1px solid #ead8cb;margin:0;padding-top:10px;font-size:12px;line-height:1.65}.document-confirmation-box .primary-button{justify-self:start}.client-read-only .document-confirmation-box .primary-button{display:inline-flex!important}.document-confirmed-note{color:#34624d;background:#e7f0e9;border-radius:10px;gap:3px;margin-top:12px;padding:11px 12px;display:grid}.document-confirmed-note small{color:#617c6e}.document-awaiting-client{color:#94553d;background:#f8eee8;border-radius:9px;margin:12px 0 0;padding:9px 10px;font-size:11px;line-height:1.55}@media (width<=820px){.client-request-list article{grid-template-columns:1fr;align-items:stretch}.admin-account-tabs{max-width:none}}.role-permission-panel{margin-top:24px}.role-permission-list{grid-template-columns:1fr;gap:12px;margin-top:18px;display:grid}.role-permission-list article{background:#fbfaf7;border:1px solid #e2ded5;border-radius:14px;grid-template-columns:minmax(150px,.8fr) repeat(3,minmax(145px,1fr)) auto;align-items:center;gap:12px;padding:14px;display:grid}.role-permission-name{gap:3px;display:grid}.role-permission-name small{color:#7a857f}.role-permission-list label{align-items:center;gap:8px;min-height:44px;display:flex}.role-permission-list input{accent-color:#23483b;width:20px;height:20px}.role-permission-list button{min-height:44px}@media (width<=1100px){.role-permission-list article{grid-template-columns:1fr 1fr}.role-permission-name{grid-column:1/-1}}@media (width<=620px){.role-permission-list article{grid-template-columns:1fr}.role-permission-name{grid-column:auto}.role-permission-list label{min-height:48px}.role-permission-list button{width:100%}}.photo-metadata-fields{border:1px solid var(--line);border-radius:var(--radius-small);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:14px;display:grid}.photo-metadata-fields legend{padding:0 6px;font-weight:800}.photo-metadata-fields .wide{grid-column:1/-1}.photo-visibility-choice{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.photo-visibility-choice button{border:1px solid var(--line);background:#fff;border-radius:999px;min-height:44px;padding:8px 14px}.photo-visibility-choice button.active{background:var(--sage-dark);border-color:var(--sage-dark);color:#fff}.photo-visibility-choice small{color:var(--muted);flex-basis:100%;line-height:1.5}.gallery-page{gap:18px;display:grid}.gallery-photo-count{background:var(--sage-pale);color:var(--sage-dark);white-space:nowrap;border-radius:999px;padding:9px 14px}.gallery-filters{grid-template-columns:minmax(260px,2fr) repeat(3,minmax(140px,1fr));align-items:end;gap:16px;display:grid}.gallery-filters>div{gap:10px;display:grid}.gallery-filters>div>div{flex-wrap:wrap;gap:8px;display:flex}.gallery-filters button{border:1px solid var(--line);background:#fff;border-radius:999px;min-height:42px;padding:7px 13px}.gallery-filters button.active{background:var(--sage-dark);border-color:var(--sage-dark);color:#fff}.gallery-filters label{gap:6px;font-weight:700;display:grid}.gallery-filters select{border:1px solid var(--line);font:inherit;background:#fff;border-radius:10px;min-height:44px;padding:8px 10px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.gallery-card{padding:0;overflow:hidden}.gallery-card img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.gallery-card>div{gap:5px;padding:14px;display:grid}.gallery-card span,.gallery-card small{color:var(--muted);font-size:12px}.gallery-card strong{line-height:1.35}@media (width<=1000px){.gallery-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.photo-metadata-fields,.gallery-filters,.gallery-grid{grid-template-columns:1fr}.photo-metadata-fields .wide{grid-column:auto}.gallery-card img{aspect-ratio:1}}.account-settings-page{color:#26322c;background:#f2eee6;align-items:center;min-height:100vh;padding:28px;display:flex}.account-card-panel{background:#fffdf9;border:1px solid #dedbd3;border-radius:22px;width:100%;max-width:620px;margin:auto;padding:clamp(24px,5vw,48px);box-shadow:0 24px 70px #2b332e1f}.account-profile-heading{align-items:center;gap:16px;display:flex}.account-profile-heading>span{color:#fff;background:#c86645;border-radius:14px;justify-content:center;align-items:center;width:54px;height:54px;font-family:Georgia,serif;font-size:20px;display:flex}.account-profile-heading h1{font-family:var(--font-display), serif;margin:2px 0 0;font-size:34px}.account-summary{border-top:1px solid #e8e4dc;border-bottom:1px solid #e8e4dc;margin:28px 0;display:grid}.account-summary div{justify-content:space-between;align-items:center;gap:18px;padding:14px 0;display:flex}.account-summary div+div{border-top:1px solid #eeeae3}.account-summary dt{color:#788078}.account-summary dd{text-align:right;margin:0;font-weight:800}.account-admin-access{background:#edf2ee;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin:0 0 22px;padding:20px;display:grid}.account-admin-access h2{font-family:var(--font-display), serif;margin:0 0 6px;font-size:22px}.account-admin-access p{color:#5f6e66;margin:0;line-height:1.55}.account-admin-button{white-space:nowrap;min-height:46px;text-decoration:none}.account-email-form{gap:14px;display:grid}.account-email-form label{gap:7px;font-weight:800;display:grid}.account-email-form input{font:inherit;background:#fff;border:1px solid #d9ddd7;border-radius:10px;min-height:46px;padding:10px 12px}.account-email-form p,.account-readonly-note{color:#6f7972;margin:0;line-height:1.65}.account-actions{align-items:center;gap:14px;margin-top:24px;display:flex}.account-actions>a:not(.secondary-button){color:#b45f40}.account-loading{margin:auto}@media (width<=640px){.account-settings-page{padding:14px 14px max(24px, env(safe-area-inset-bottom));align-items:flex-start}.account-card-panel{border-radius:18px;padding:24px 20px}.account-profile-heading h1{font-size:30px}.account-summary{margin:24px 0}.account-summary div{flex-direction:column;align-items:flex-start;gap:4px;padding:13px 0}.account-summary dd{text-align:left;word-break:break-word}.account-admin-access{grid-template-columns:1fr;align-items:stretch;padding:18px}.account-admin-button{justify-content:center;width:100%;min-height:48px;display:inline-flex}.account-actions{flex-direction:column;align-items:stretch}.account-actions .secondary-button{justify-content:center;width:100%;min-height:46px}.account-actions>a:not(.secondary-button){align-items:center;min-height:44px;display:inline-flex}}.reset-request-panel{margin-bottom:20px}.reset-request-list{margin-top:18px}.reset-request-list article{border-top:1px solid #ebe7df;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.reset-request-list article>div{gap:4px;display:grid}.reset-request-list article span,.reset-request-list article small{color:#788078}.reset-status{color:#855134;white-space:nowrap;background:#efe8dd;border-radius:999px;padding:7px 10px;font-size:12px}.reset-status.sent,.reset-status.used{color:#315d49;background:#e4efe9}.reset-status.failed,.reset-status.configuration_required{color:#8b4037;background:#f5dfdc}.team-logout-button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;min-height:38px;padding:0 12px}@media (width<=820px){.team-login-page,.team-login-page.is-registering{align-items:flex-start;padding:0}.team-login-shell,.team-login-page.is-registering .team-login-shell{box-shadow:none;border-radius:0;max-width:none;min-height:100vh;display:block}.team-login-story{min-height:auto;padding:30px 24px 34px}.team-login-story-brand,.team-login-story-list,.team-login-story-foot{display:none}.team-login-story-copy{max-width:620px;margin:0;padding:0}.team-login-story-copy h1{margin-bottom:14px;font-size:clamp(34px,9vw,46px)}.team-login-story-copy h1 br{display:none}.team-login-story-copy p{max-width:40em;font-size:14px;line-height:1.75}.team-login-card{padding:34px 24px 42px}.team-login-mobile-brand{margin-bottom:34px;display:flex}.team-login-mobile-brand>span{width:42px;height:42px}.team-login-mobile-brand strong{letter-spacing:.13em;font-family:Noto Serif TC,Songti TC,serif;font-size:14px}.team-login-heading{margin-bottom:28px}.team-login-heading h2{font-size:32px}.team-register-grid{grid-template-columns:1fr}.team-login-access-note{margin-top:26px}.team-logout-button{display:none}}@media (width<=420px){.team-login-story,.team-login-card{padding-inline:20px}.team-login-heading h2{font-size:29px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.portfolio-main{min-width:0}.portfolio-rail-summary{background:#ffffff0e;border:1px solid #ffffff14;border-radius:13px;flex-direction:column;gap:11px;margin-top:auto;padding:15px;display:flex}.portfolio-rail-summary p{color:#ffffff75;letter-spacing:.1em;margin:0 0 2px;font-size:10px}.portfolio-rail-summary span{color:#ffffffb3;font-size:12px}.portfolio-rail-summary strong{color:#fff;margin-right:4px;font-family:Georgia,serif;font-size:16px}.portfolio-breadcrumb{flex-direction:column;gap:2px;display:flex}.portfolio-breadcrumb span{color:var(--muted);letter-spacing:.08em;font-size:10px}.portfolio-breadcrumb strong{font-size:15px}.topbar-create{min-height:44px;padding-inline:18px}.portfolio-content{max-width:1480px;margin:0 auto;padding:38px 34px 64px}.portfolio-heading{justify-content:space-between;align-items:flex-end;margin-bottom:25px;display:flex}.portfolio-heading h1{letter-spacing:-.025em;margin:6px 0 8px;font-family:Noto Serif TC,Songti TC,serif;font-size:clamp(28px,3vw,42px);font-weight:600}.portfolio-heading>div>p:last-child{color:var(--muted);margin:0;font-size:14px}.portfolio-metrics,.portfolio-loading-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px;display:grid}.portfolio-metric{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-small);border-radius:14px;min-height:130px;padding:20px;position:relative}.portfolio-metric:after{background:var(--sage);content:"";opacity:.13;border-radius:99px;width:8px;height:42px;position:absolute;top:18px;right:18px}.portfolio-metric.tone-red:after{background:var(--red)}.portfolio-metric.tone-blue:after{background:var(--blue)}.portfolio-metric.tone-amber:after{background:var(--amber)}.portfolio-metric p{color:var(--ink-soft);margin:0;font-size:13px;font-weight:700}.portfolio-metric strong{margin:9px 0 2px;font-family:Georgia,serif;font-size:34px;font-weight:500;display:block}.portfolio-metric span{color:var(--muted);font-size:12px}.portfolio-list{overflow:hidden}.portfolio-list-toolbar{justify-content:space-between;align-items:center;gap:20px;padding:21px 22px;display:flex}.portfolio-list-toolbar>div:first-child{align-items:baseline;gap:9px;display:flex}.portfolio-list-toolbar h2{margin:0;font-family:Noto Serif TC,Songti TC,serif;font-size:20px}.portfolio-list-toolbar>div:first-child span{color:var(--muted);font-size:12px}.portfolio-filters{align-items:center;gap:10px;display:flex}.project-search{border:1px solid var(--line);background:#f5f6f2;border-radius:10px;align-items:center;gap:7px;width:min(300px,28vw);min-height:44px;padding:0 12px;display:flex}.project-search>span{color:var(--muted);font-size:19px}.project-search input{color:var(--ink);background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:13px}.portfolio-filters .filter-chips button{min-height:38px;font-size:12px}.portfolio-list-head,.portfolio-project-row{grid-template-columns:minmax(230px,1.6fr) minmax(150px,1fr) minmax(145px,.85fr) minmax(170px,1.05fr) minmax(90px,.55fr) 18px;gap:16px;display:grid}.portfolio-list-head{border-bottom:1px solid var(--line);border-top:1px solid var(--line);color:var(--muted);letter-spacing:.06em;background:#f0f2ed;padding:10px 22px;font-size:10px;font-weight:700}.portfolio-project-row{background:var(--surface);border:0;border-bottom:1px solid var(--line-soft);cursor:pointer;text-align:left;align-items:center;width:100%;min-height:128px;padding:18px 22px;transition:background .15s,transform .15s}.portfolio-project-row:active{transform:scale(.998)}.project-row-main,.project-row-stage,.project-row-date,.project-row-next,.project-row-risk{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.project-row-code{color:var(--sage);letter-spacing:.08em;margin-bottom:5px;font-size:10px;font-weight:800}.project-row-main strong{text-overflow:ellipsis;width:100%;font-family:Noto Serif TC,Songti TC,serif;font-size:16px;line-height:1.45;overflow:hidden}.project-row-main small,.project-row-date span,.project-row-next span,.project-row-risk small,.project-row-stage small{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.45}.portfolio-status{border-radius:99px;margin-bottom:7px;padding:4px 8px;font-size:10px;font-weight:700}.portfolio-status.status-draft{background:var(--blue-pale);color:var(--blue)}.portfolio-status.status-active,.portfolio-status.status-in_progress{background:var(--green-pale);color:var(--green)}.portfolio-status.status-on_hold{background:var(--amber-pale);color:#805b22}.portfolio-status.status-completed{background:var(--sage-pale);color:var(--sage-dark)}.project-row-stage>strong,.project-row-date>strong,.project-row-next>strong{font-size:13px;line-height:1.45}.portfolio-progress-track{background:#e5e9e3;border-radius:99px;width:min(130px,100%);height:5px;margin-top:9px;overflow:hidden}.portfolio-progress-track i{background:var(--sage);height:100%;display:block}.project-row-date>small,.project-row-next>small{color:var(--muted);margin-bottom:6px;font-size:10px}.project-row-risk{text-align:center;background:#f2f4f0;border-radius:10px;justify-content:center;align-items:center;min-height:76px}.project-row-risk>strong{font-family:Georgia,serif;font-size:22px;font-weight:500}.project-row-risk>span{color:var(--muted);font-size:10px}.project-row-risk.risk-critical{background:var(--red-pale);color:var(--red)}.project-row-risk.risk-warning{background:var(--amber-pale);color:#805b22}.project-row-risk small{margin-top:3px;font-size:9px}.project-row-arrow{color:var(--muted);font-family:Georgia,serif;font-size:26px}.portfolio-empty,.portfolio-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:260px;padding:35px;display:flex}.portfolio-empty>span{color:var(--sage);font-size:32px}.portfolio-empty strong,.portfolio-error strong{margin-top:8px;font-family:Noto Serif TC,Songti TC,serif;font-size:19px}.portfolio-empty p,.portfolio-error p{color:var(--muted);font-size:13px}.portfolio-loading{padding-top:8px}.portfolio-loading-metrics>div,.portfolio-loading-list{background:linear-gradient(90deg,#e6e9e4 25%,#f3f4f1 50%,#e6e9e4 75%) 0 0/200% 100%;border-radius:14px;animation:1.5s linear infinite shimmer}.portfolio-loading-metrics>div{height:130px}.portfolio-loading-list{height:360px}.portfolio-mobile-add{display:none}.new-project-sheet{max-width:860px}.project-template-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:13px 0;display:grid}.project-template-picker button{border:1px solid var(--line);cursor:pointer;text-align:left;background:#faf9f5;border-radius:11px;flex-direction:column;align-items:flex-start;min-height:96px;padding:13px;display:flex}.project-template-picker button.active{border-color:var(--terracotta);box-shadow:0 0 0 1px var(--terracotta);background:#f3ebe4}.project-template-picker button>span{color:var(--terracotta);letter-spacing:.1em;font-size:11px;font-weight:900}.project-template-picker button strong{margin:7px 0 5px;font-size:15px}.project-template-picker button small{color:var(--muted);font-size:12px;line-height:1.55}.new-project-template-preview{border:1px solid var(--line);border-radius:10px;margin-bottom:16px;overflow:hidden}.new-project-template-preview summary{cursor:pointer;background:#f2f3ef;padding:13px 14px;font-size:13px;font-weight:800}.new-project-template-preview>div{max-height:260px;overflow-y:auto}.new-project-template-preview p{border-top:1px solid var(--line-soft);align-items:center;gap:9px;margin:0;padding:8px 12px;display:flex}.new-project-template-preview p>label:first-child{align-items:center;gap:6px;display:flex}.new-project-template-preview p>label:first-child b{background:var(--sage-pale);border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:8px;display:flex}.new-project-template-preview p>span{flex-direction:column;display:flex}.new-project-template-preview p strong{font-size:13px}.new-project-template-preview p small{color:var(--muted);margin-top:2px;font-size:11px}.new-project-template-preview p em{color:var(--muted);margin-top:3px;font-size:11px;font-style:normal;line-height:1.5}.new-project-template-preview p.excluded{opacity:.45}.new-project-template-preview p>span:nth-child(2){flex:1}.new-template-days{align-items:center;gap:3px;display:flex}.new-template-days input{border:1px solid var(--line);font:inherit;border-radius:6px;width:58px;padding:7px;font-size:12px}.new-template-order{gap:3px;flex-direction:row!important}.new-template-order button{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:5px;width:27px;height:27px}.blank-template-note{color:var(--muted);background:#f4f1ec;border-radius:8px;padding:11px 13px;font-size:10px}.auto-template-result{background:var(--sage-pale);color:var(--sage-dark);border-radius:9px;margin:0 0 15px;padding:11px 13px;font-size:12px;line-height:1.55}.auto-project-name-note{border:1px solid var(--line-soft);color:var(--ink);background:#f7f2ea;border-radius:10px;flex-direction:column;align-items:flex-start;gap:3px;margin:0 0 15px;padding:12px 14px;display:flex}.auto-project-name-note strong{font-size:13px}.auto-project-name-note span{color:var(--muted);font-size:12px;line-height:1.55}.auto-project-name-preview{background:var(--sage-pale);border:1px solid var(--line-soft);border-radius:10px;justify-content:center;padding:12px 14px}.auto-project-name-preview strong{color:var(--sage-dark);overflow-wrap:anywhere;font-size:14px;line-height:1.45}.auto-project-name-preview small{color:var(--muted);font-size:11px;line-height:1.45}.project-code-input{align-items:stretch;display:flex}.project-code-input b{background:var(--sage-dark);color:#fff;letter-spacing:.04em;border-radius:8px 0 0 8px;align-items:center;padding:0 14px;font-size:15px;display:flex}.project-code-input input{letter-spacing:.08em;border-left:0;border-radius:0 8px 8px 0;font-size:16px}.project-address-fields{border:1px solid var(--line);border-radius:11px;gap:12px;margin:0;padding:13px;display:grid}.project-address-fields legend{color:var(--ink-soft);padding:0 5px;font-size:13px;font-weight:800}.address-detail-row{grid-template-columns:1fr 1fr 1fr}.unit-layout-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.unit-layout-grid input{text-align:center;font-size:18px;font-weight:700}.unit-layout-grid .form-field small{color:var(--muted);font-size:10px;line-height:1.4}.room-name-editor{border:1px solid var(--line-soft);background:#f8f6f1;border-radius:12px;margin:12px 0;padding:14px}.room-name-editor>header{flex-direction:column;gap:3px;margin-bottom:11px;display:flex}.room-name-editor>header strong{font-size:14px}.room-name-editor>header small{color:var(--muted);font-size:11px;line-height:1.5}.room-name-editor>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.room-name-editor .form-field small{color:var(--terracotta);font-size:10px}.unit-layout-summary{background:#f3eee7;border-radius:9px;align-items:flex-start;gap:13px;margin:0;padding:12px 13px;display:flex}.unit-layout-summary strong{color:var(--terracotta);flex:none;font-size:15px}.unit-layout-summary span{color:var(--muted);font-size:12px;line-height:1.5}.new-project-sheet .form-field>span{font-size:13px}.new-project-sheet .form-field>small{color:var(--muted);font-size:11px;line-height:1.45}.new-project-sheet .form-field input,.new-project-sheet .form-field select,.new-project-sheet .form-field textarea{min-height:48px;font-size:14px}.new-project-sheet .form-section-heading strong{font-size:15px}.new-project-sheet .form-section-heading small{font-size:12px;line-height:1.45}.form-section-heading.compact-heading{margin-top:15px}.project-room-picker{flex-wrap:wrap;gap:7px;margin:12px 0;display:flex}.project-room-picker label input{opacity:0;pointer-events:none;position:absolute}.project-room-picker label span{border:1px solid var(--line);cursor:pointer;background:#f5f5f1;border-radius:99px;padding:7px 10px;font-size:9px;display:block}.project-room-picker label input:checked+span{background:var(--sage-dark);border-color:var(--sage-dark);color:#fff}.form-section-heading{border-top:1px solid var(--line-soft);align-items:center;gap:11px;margin-top:8px;padding-top:17px;display:flex}.form-section-heading:first-child{border-top:0;margin-top:0;padding-top:0}.form-section-heading>span{background:var(--sage-pale);color:var(--sage-dark);border-radius:50%;flex:none;justify-content:center;align-items:center;width:31px;height:31px;font-family:Georgia,serif;font-size:11px;display:inline-flex}.form-section-heading>div{flex-direction:column;display:flex}.form-section-heading strong{font-size:13px}.form-section-heading small{color:var(--muted);margin-top:2px;font-size:11px}.form-row.three-columns{grid-template-columns:1fr .8fr 1fr}.contact-form-card{border:1px solid var(--line-soft);background:#f5f6f2;border-radius:11px;padding:12px}.contact-form-card.secondary-contact{background:#fafbf8}.form-privacy-note{background:var(--blue-pale);color:#405f70;border-radius:8px;margin:0;padding:10px 12px;font-size:11px;line-height:1.55}.live-badge.is-draft{color:#d9ebf4;background:#e6eef229}.live-badge.is-draft:before{background:#a9d2e3}.schedule-empty{align-items:center;gap:22px;min-height:190px;margin-top:22px;padding:32px;display:flex}.schedule-empty-mark{background:var(--sage-pale);color:var(--sage);border-radius:50%;flex:none;justify-content:center;align-items:center;width:72px;height:72px;font-size:30px;display:inline-flex}.schedule-empty h2{margin:0 0 8px;font-family:Noto Serif TC,Songti TC,serif;font-size:21px}.schedule-empty p{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.schedule-empty .primary-button{margin-top:16px}@media (width<=1180px){.portfolio-list-head,.portfolio-project-row{grid-template-columns:minmax(220px,1.6fr) minmax(140px,1fr) minmax(145px,.9fr) minmax(90px,.65fr) 18px}.portfolio-list-head>span:nth-child(4),.project-row-next{display:none}}@media (width<=840px){.portfolio-content{padding:24px 14px 110px}.portfolio-topbar .portfolio-breadcrumb{margin-left:10px;margin-right:auto}.portfolio-topbar .mobile-brand strong,.topbar-create,.heading-create{display:none}.portfolio-heading{align-items:flex-start}.portfolio-heading h1{font-size:30px}.portfolio-metrics{grid-template-columns:1fr 1fr}.portfolio-metric{min-height:112px;padding:16px}.portfolio-metric strong{font-size:29px}.portfolio-list-toolbar{flex-direction:column;align-items:stretch;padding:17px 15px}.portfolio-filters{flex-direction:column;align-items:stretch}.project-search{width:100%}.portfolio-filters .filter-chips{overflow-x:auto}.portfolio-filters .filter-chips button{flex:none;min-height:44px}.portfolio-list-head{display:none}.portfolio-projects{background:var(--paper);gap:11px;padding:11px;display:grid}.portfolio-project-row{border:1px solid var(--line);box-shadow:var(--shadow-small);border-radius:13px;grid-template-columns:1fr auto;gap:13px 12px;min-height:0;padding:16px}.project-row-main{grid-column:1/-1}.project-row-stage,.project-row-date{grid-column:1}.project-row-date{border-top:1px solid var(--line-soft);padding-top:11px}.project-row-next{display:none}.project-row-risk{grid-area:2/2/span 2;min-width:84px}.project-row-arrow{display:none}.portfolio-mobile-add{background:var(--terracotta);bottom:calc(20px + env(safe-area-inset-bottom));color:#fff;z-index:24;border:0;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;font-size:26px;display:flex;position:fixed;right:18px;box-shadow:0 9px 28px #75301d4d}.new-project-sheet{max-height:calc(94dvh - env(safe-area-inset-bottom))}.project-template-picker{grid-template-columns:1fr}.unit-layout-grid,.room-name-editor>div{grid-template-columns:1fr 1fr}.address-detail-row{grid-template-columns:1fr}.unit-layout-summary{flex-direction:column;gap:5px}.form-row.three-columns{grid-template-columns:1fr}.schedule-empty{flex-direction:column;align-items:flex-start;padding:23px}.project-switcher{flex:1;justify-content:flex-start;min-width:0}.project-switcher strong{text-overflow:ellipsis;white-space:nowrap;max-width:42vw;overflow:hidden}}@media (width<=520px){.portfolio-topbar .today-label{display:none}.portfolio-metrics{gap:8px}.portfolio-metric{min-height:104px;padding:14px}.portfolio-metric p{font-size:12px}.portfolio-metric span{font-size:10px}.portfolio-metric:after{height:34px;top:13px;right:13px}}.project-setup-grid{grid-template-columns:minmax(300px,.9fr) minmax(420px,1.35fr);gap:16px;margin-top:16px;display:grid}.setup-readiness-card,.renderings-card{min-height:300px;padding:21px}.setup-score{background:var(--sage-pale);color:var(--sage-dark);border-radius:99px;align-items:center;min-height:31px;padding:0 10px;font-family:Georgia,serif;font-size:13px;font-weight:700;display:inline-flex}.setup-readiness-card>.progress-track{width:100%;height:7px;margin:15px 0 12px}.setup-known-facts{flex-wrap:wrap;gap:6px;margin-bottom:15px;display:flex}.setup-known-facts span{color:var(--ink-soft);background:#f0f2ed;border-radius:6px;padding:5px 7px;font-size:10px}.setup-missing-list>p{color:var(--muted);margin:0 0 5px;font-size:11px;line-height:1.55}.setup-missing-row,.setup-ready-note{border-top:1px solid var(--line-soft);align-items:flex-start;gap:9px;padding:10px 0;display:flex}.setup-missing-row>span,.setup-ready-note>span{background:var(--amber-pale);color:#875f20;border-radius:50%;flex:none;justify-content:center;align-items:center;width:23px;height:23px;font-family:Georgia,serif;font-size:11px;display:inline-flex}.setup-missing-row>div,.setup-ready-note>div{flex-direction:column;display:flex}.setup-missing-row strong,.setup-ready-note strong{font-size:12px}.setup-missing-row small,.setup-ready-note small{color:var(--muted);margin-top:2px;font-size:10px;line-height:1.45}.setup-ready-note>span{background:var(--green-pale);color:var(--green)}.compact-button{min-height:38px;padding:7px 11px}.latest-rendering{grid-template-columns:minmax(180px,1.2fr) 1fr;gap:16px;margin-top:15px;display:grid}.latest-rendering-image{background:#e7eae4;border-radius:11px;min-height:180px;display:block;position:relative;overflow:hidden}.latest-rendering-image img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.latest-rendering-image>span{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#17231db8;border-radius:6px;padding:6px 8px;font-size:10px;position:absolute;bottom:10px;right:10px}.latest-rendering-copy{flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.latest-rendering-copy>div{flex-wrap:wrap;gap:5px;display:flex}.latest-tag,.client-visible-tag,.internal-tag{border-radius:99px;padding:4px 7px;font-size:9px;font-weight:700}.latest-tag{background:var(--terracotta-pale);color:var(--terracotta)}.client-visible-tag{background:var(--green-pale);color:var(--green)}.internal-tag{color:var(--muted);background:#eceeeb}.latest-rendering-copy>strong{margin-top:11px;font-family:Noto Serif TC,Songti TC,serif;font-size:17px;line-height:1.45}.latest-rendering-copy p{color:var(--muted);margin:6px 0;font-size:11px}.latest-rendering-copy>small{color:var(--ink-soft);font-size:10px;line-height:1.55}.rendering-empty{background:#f4f6f1;border:1px dashed #c9d0c8;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;min-height:190px;margin-top:15px;padding:24px;display:grid}.rendering-empty>span{background:var(--surface);color:var(--sage);border-radius:10px;justify-content:center;align-items:center;width:54px;height:54px;font-size:24px;display:flex}.rendering-empty strong{font-size:14px}.rendering-empty p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.55}.rendering-version-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px;display:grid}.rendering-version-strip a{color:var(--ink);background:#edf0eb;border:1px solid #0000;border-radius:7px;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:9px;min-height:72px;padding:6px;text-decoration:none;display:grid}.rendering-version-strip a:hover{background:var(--sage-pale)}.rendering-version-strip a.is-latest{border-color:#bdcebf}.rendering-version-strip img{object-fit:cover;border-radius:5px;width:62px;height:58px}.rendering-history-copy{flex-direction:column;min-width:0;display:flex}.rendering-history-copy>strong{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.rendering-history-copy .history-version-line>span{font-size:11px}.rendering-history-copy>time{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.45}.rendering-upload-sheet{max-width:650px}.rendering-dropzone{min-height:95px}.rendering-upload-preview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.rendering-upload-preview-grid article{border:1px solid var(--line);background:#f5f3ee;border-radius:10px;min-width:0;position:relative;overflow:hidden}.rendering-upload-preview-grid img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.rendering-upload-preview-grid article>span{background:var(--sage-dark);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;display:flex;position:absolute;top:7px;left:7px}.rendering-upload-preview-grid article>button{color:#fff;cursor:pointer;background:#182d25db;border:0;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:16px;display:flex;position:absolute;top:7px;right:7px}.rendering-upload-preview-grid article>small{text-overflow:ellipsis;white-space:nowrap;padding:8px;font-size:10px;display:block;overflow:hidden}@media (width<=600px){.rendering-upload-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.visibility-check{background:var(--green-pale);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:12px;display:flex}.visibility-check input{accent-color:var(--green);flex:none;width:18px;height:18px;margin:1px 0 0}.visibility-check>span{flex-direction:column;display:flex}.visibility-check strong{font-size:12px}.visibility-check small{color:var(--ink-soft);margin-top:2px;font-size:10px;line-height:1.5}@media (width<=1080px){.project-setup-grid{grid-template-columns:1fr}}@media (width<=600px){.setup-readiness-card,.renderings-card{padding:17px 15px}.latest-rendering{grid-template-columns:1fr}.latest-rendering-image{min-height:200px}.rendering-empty{grid-template-columns:auto 1fr;align-items:flex-start;padding:18px}.rendering-empty .primary-button{grid-column:1/-1;width:100%}.rendering-version-strip{grid-template-columns:1fr}}.card-action-group{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.design-source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px;display:grid}.design-source{border:1px solid var(--line);background:#f7f8f5;border-radius:13px;flex-direction:column;min-height:255px;padding:15px;display:flex;overflow:hidden}.design-source.has-content{background:linear-gradient(145deg,#fbfcf9,#f3f6f1);border-color:#cfd7cf}.design-source.is-empty{border-style:dashed}.design-source-heading{align-items:center;gap:10px;display:flex}.design-source-heading>div{flex-direction:column;min-width:0;display:flex}.design-source-heading small{color:var(--muted);letter-spacing:.12em;font-size:8px;font-weight:800}.design-source-heading strong{margin-top:2px;font-size:12px}.design-source-icon{background:var(--blue-pale);color:var(--blue);border-radius:9px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-family:Georgia,serif;font-size:11px;font-weight:700;display:inline-flex}.design-source-icon.image-icon{background:var(--terracotta-pale);color:var(--terracotta);font-family:inherit;font-size:18px}.design-source-content,.design-source-empty{flex-direction:column;flex:1;justify-content:center;align-items:flex-start;min-width:0;padding-top:17px;display:flex}.asset-tags{flex-wrap:wrap;gap:5px;display:flex}.design-source-content h3{overflow-wrap:anywhere;margin:11px 0 0;font-family:Noto Serif TC,Songti TC,serif;font-size:16px;line-height:1.45}.design-source-content p,.design-source-content>small,.design-source-empty p{color:var(--muted);font-size:10px;line-height:1.55}.design-source-content p{margin:5px 0}.system-upload-time{color:var(--muted);margin:1px 0 5px;font-size:11px;line-height:1.5;display:block}.latest-rendering-copy .system-upload-time{margin-bottom:5px}.design-source-content>small{color:var(--ink-soft);margin-bottom:4px}.design-source-empty p{max-width:32em;margin:0}.design-source-empty .text-button{margin-top:5px;margin-left:0}.panorama-open-link{align-self:flex-start;margin-top:12px;text-decoration:none}.image-design-preview{flex:1;grid-template-columns:minmax(115px,.9fr) minmax(0,1fr);gap:12px;margin-top:15px;display:grid}.image-design-preview .latest-rendering-image{min-height:150px}.image-design-preview .latest-rendering-copy>strong{overflow-wrap:anywhere;font-size:14px}.design-version-history{border-top:1px solid var(--line-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;padding-top:14px;display:grid}.panorama-version-group h3,.rendering-version-group h3,.version-history-heading h4{color:var(--ink-soft);letter-spacing:.03em;margin:0;font-size:12px}.version-history-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.version-history-heading>span{color:var(--muted);flex:none;font-size:11px}.history-version-line{align-items:center;gap:5px;min-width:0;display:flex}.history-version-line>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.history-version-line em{background:var(--terracotta-pale);color:var(--terracotta);border-radius:99px;flex:none;padding:3px 5px;font-size:10px;font-style:normal;font-weight:800}.panorama-version-list{gap:6px;display:grid}.panorama-version-list a{color:var(--ink);background:#f1f4f1;border:1px solid #0000;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 8px;min-height:48px;padding:8px 10px;text-decoration:none;display:grid}.panorama-version-list a:hover{background:var(--sage-pale)}.panorama-version-list a.is-latest{border-color:#bdcebf}.panorama-version-list .history-version-line>span{color:var(--muted);font-size:11px}.panorama-version-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.panorama-version-list time{color:var(--muted);grid-column:1;font-size:11px;line-height:1.4}.panorama-version-list i{color:var(--sage);grid-area:1/2/span 3;font-size:13px;font-style:normal}.project-documents-card{grid-column:1/-1;padding:21px}.section-description{color:var(--muted);max-width:58em;margin:5px 0 0;font-size:10px;line-height:1.55}.document-summary{background:var(--sage-pale);color:var(--sage-dark);border-radius:99px;flex:none;align-items:center;min-height:31px;padding:0 10px;font-size:10px;font-weight:800;display:inline-flex}.document-group-tabs{background:#eeeee8;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:16px;padding:5px;display:grid}.document-group-tabs button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;min-height:44px;padding:8px 12px;display:flex}.document-group-tabs button.is-active{background:var(--surface);color:var(--ink);box-shadow:0 2px 8px #26312a14}.document-group-tabs button span{font-size:12px;font-weight:800}.document-group-tabs button small{color:var(--sage);margin-left:7px;font-size:9px}.document-group-list{gap:16px;margin-top:16px;display:grid}.document-group{border:1px solid var(--line-soft);background:#f6f4ee;border-radius:14px;padding:14px}.document-group-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.document-group-heading>div{min-width:0}.document-group-heading-actions{flex:none;align-items:center;gap:8px;display:flex}.document-group-heading span{color:var(--ink);font-family:Noto Serif TC,Songti TC,serif;font-size:17px;font-weight:800}.document-group-heading p{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.5}.document-group-heading strong{background:var(--paper);border:1px solid var(--line);color:var(--sage-dark);border-radius:99px;flex:none;padding:6px 9px;font-size:10px}.document-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:0;display:grid}.document-slot{border:1px solid var(--line);background:#fafbf8;border-radius:12px;flex-direction:column;min-height:205px;padding:14px;display:flex}.document-slot.has-document{background:linear-gradient(145deg,#fcfdfa,#f0f5f0);border-color:#cdd8cf}.document-slot.is-missing{border-style:dashed}.document-slot-top,.document-slot-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.document-kind{background:var(--blue-pale);color:var(--blue);letter-spacing:.03em;border-radius:7px;justify-content:center;align-items:center;min-width:44px;height:34px;padding:0 7px;font-size:10px;font-weight:800;display:inline-flex}.document-state{background:var(--amber-pale);color:#805b22;border-radius:99px;padding:4px 7px;font-size:10px;font-weight:800}.document-state.is-ready{background:var(--green-pale);color:var(--green)}.document-slot-copy{flex:1;min-width:0;padding:13px 0 10px}.document-slot-copy h3{margin:0;font-family:Noto Serif TC,Songti TC,serif;font-size:15px}.document-slot-copy p,.document-slot-copy small{color:var(--muted);overflow-wrap:anywhere;font-size:11px;line-height:1.5;display:block}.document-slot-copy p{margin:6px 0}.document-slot-actions{border-top:1px solid var(--line-soft);padding-top:10px}.document-version-history{border-top:1px solid var(--line-soft);margin-top:11px;padding-top:11px}.document-version-history ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.document-version-history a{border:1px solid var(--line-soft);color:var(--ink);background:#ffffffb8;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:52px;padding:8px 9px;text-decoration:none;display:grid}.document-version-history a:hover{background:var(--sage-pale)}.document-version-history a.is-latest{border-color:#bdcebf}.document-history-copy{flex-direction:column;min-width:0;display:flex}.document-history-copy .history-version-line>span{font-size:11px;font-weight:700}.document-history-copy>strong{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.document-history-copy time{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.45}.document-version-history i{color:var(--sage);font-size:13px;font-style:normal}.text-link{color:var(--terracotta);align-items:center;min-height:38px;font-size:10px;font-weight:800;text-decoration:none;display:inline-flex}.text-link:hover{text-decoration:underline}.panorama-link-sheet,.document-upload-sheet{max-width:650px}.modal-intro{color:var(--muted);margin:-9px 0 17px;font-size:11px;line-height:1.6}.panorama-security-note{background:var(--blue-pale);color:#405f70;border-radius:9px;align-items:center;gap:8px;min-height:68px;padding:10px;display:flex}.panorama-security-note>span{background:#ffffffad;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.panorama-security-note small{font-size:10px;line-height:1.45}.document-type-callout{background:var(--sage-pale);border-radius:11px;align-items:center;gap:11px;margin:-7px 0 17px;padding:11px 12px;display:flex}.document-type-callout>span{background:var(--surface);color:var(--sage-dark);border:1px solid #40594b1f;border-radius:8px;flex:none;justify-content:center;align-items:center;min-width:48px;height:39px;padding:0 7px;font-size:9px;font-weight:800;display:inline-flex}.document-type-callout p{flex-direction:column;margin:0;display:flex}.document-type-callout strong{font-size:12px}.document-type-callout small{color:var(--ink-soft);margin-top:2px;font-size:10px;line-height:1.5}.document-upload-dropzone{min-height:96px}@media (width<=900px){.document-slot-grid{grid-template-columns:1fr}.document-slot{min-height:0}}@media (width<=700px){.design-source-grid,.design-version-history,.image-design-preview{grid-template-columns:1fr}.design-source{min-height:220px}.image-design-preview .latest-rendering-image{min-height:190px}}@media (width<=600px){.renderings-card .compact-heading{flex-wrap:wrap;align-items:flex-start}.card-action-group{justify-content:flex-start;width:100%;margin-top:10px}.card-action-group .compact-button{flex:1;min-height:44px}.project-documents-card{padding:17px 15px}.project-documents-card .compact-heading{flex-wrap:wrap;align-items:flex-start}.document-summary{margin-top:8px}.document-group-tabs button{flex-direction:column;gap:2px;padding-inline:4px}.document-group-tabs button small{margin-left:0}.document-group{padding:12px}.document-group-heading{flex-direction:column;align-items:flex-start;gap:8px}.document-slot-actions .compact-button,.text-link{min-height:44px}.panorama-security-note{min-height:58px}.modal-footer>button{flex:1}}@media (width<=840px){.schedule-header-actions{align-items:stretch;width:100%}.settings-section-heading{flex-direction:column;align-items:flex-start}.settings-section-heading .compact-button{width:100%;min-height:44px}}@media (width<=560px){.hero-actions .primary-button,.hero-actions .hero-edit-button{width:100%}.schedule-working-note{flex-direction:column}.project-settings-modal,.schedule-task-modal{padding-left:15px;padding-right:15px}.settings-section{padding:13px}}.client-read-only .material-tool-row>.primary-button{display:inline-flex!important}.modal-sheet.acceptance-outcome-modal{max-width:660px}.acceptance-outcome-modal form{gap:16px;display:grid}.acceptance-appointment-summary{border-left:4px solid var(--accent);background:#f3f0e9;border-radius:8px;gap:4px;padding:14px 16px;display:grid}.acceptance-appointment-summary span{color:var(--muted);font-size:11px;font-weight:700}.acceptance-appointment-summary strong{font-family:var(--font-serif);font-size:20px}.acceptance-appointment-summary small{color:var(--muted);line-height:1.5}.acceptance-status-note{color:#76503f;border-radius:8px;margin:0;padding:11px 13px;font-size:12px;line-height:1.6}.acceptance-status-note.success{color:#325f4d;background:#edf4ef}.acceptance-status-note.confirmed{color:#285541;background:#e7f0eb}.acceptance-resolved-check{border:1px solid var(--line);cursor:pointer;background:#f5f3ed;border-radius:9px;align-items:flex-start;gap:10px;padding:12px;display:flex}.acceptance-resolved-check input{margin-top:3px}.acceptance-resolved-check span{gap:3px;display:grid}.acceptance-resolved-check small{color:var(--muted);font-weight:400}.client-acceptance-panel{margin-bottom:22px;padding:0;overflow:hidden}.client-acceptance-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 22px 15px;display:flex}.client-acceptance-heading h2{font-family:var(--font-serif);margin:3px 0 0;font-size:25px}.client-acceptance-heading>span{color:#9d5035;background:#efe5da;border-radius:99px;padding:7px 10px;font-size:11px;font-weight:700}.client-acceptance-list{display:grid}.client-acceptance-item{border-bottom:1px solid var(--line);gap:13px;padding:18px 22px;display:grid}.client-acceptance-item:last-child{border-bottom:0}.client-acceptance-item.is-confirmed{background:#f4f7f4}.client-acceptance-item-top{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.client-acceptance-item-top>div{gap:5px;display:grid}.client-acceptance-item-top small{color:var(--muted)}.client-acceptance-item-top strong{font-size:16px}.client-acceptance-item-top>span{color:#a05035;background:#f3e7de;border-radius:99px;flex:none;padding:6px 9px;font-size:10px;font-weight:700}.client-acceptance-item.is-confirmed .client-acceptance-item-top>span{color:#2d664e;background:#dfece4}.client-acceptance-follow-up{background:#f7f3ee;border-radius:8px;padding:11px 13px}.client-acceptance-follow-up strong{color:#8e513d;font-size:11px}.client-acceptance-follow-up p{white-space:pre-wrap;margin:5px 0 0}.client-acceptance-actions{gap:10px;display:grid}.client-acceptance-actions label{gap:6px;display:grid}.client-acceptance-actions label>span{font-size:11px;font-weight:700}.client-acceptance-actions textarea{min-height:76px}.client-acceptance-actions>div{flex-wrap:wrap;gap:9px;display:flex}.client-acceptance-waiting{color:#976144}.client-acceptance-confirmed{color:#34654f;margin:0;font-size:12px}@media (width<=680px){.client-acceptance-heading,.client-acceptance-item{padding-left:15px;padding-right:15px}.client-acceptance-item-top{flex-direction:column;align-items:flex-start;gap:9px}.client-acceptance-actions>div{display:grid}.client-acceptance-actions button{width:100%}}.client-home-page{gap:18px;max-width:1320px;margin:0 auto;display:grid}.client-project-hero{min-height:238px}.client-project-hero .hero-copy{max-width:min(660px,58%)}.client-project-hero .hero-progress-copy{max-width:230px}.client-project-hero .hero-progress-copy small+small{border-top:1px solid #ffffff1f;margin-top:8px;padding-top:8px}.client-hero-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.client-hero-actions button{background:var(--terracotta);border:1px solid var(--terracotta);color:#fff;cursor:pointer;font:inherit;border-radius:9px;min-height:42px;padding:0 15px;font-size:12px;font-weight:800}.client-hero-actions button+button{background:#ffffff14;border-color:#ffffff3d}.client-hero-actions button:hover{transform:translateY(-1px)}.client-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.client-summary-grid>button{background:var(--surface);border:1px solid var(--line-soft);box-shadow:var(--shadow-small);color:var(--ink);cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:13px;min-height:100px;padding:16px 17px;display:flex}.client-summary-grid>button:hover{border-color:#c9d3cc;transform:translateY(-1px)}.client-summary-grid>button>span{background:var(--green-pale);color:var(--green);border-radius:12px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-family:Georgia,serif;font-size:18px;display:flex}.client-summary-grid>button.is-alert>span{color:var(--terracotta);background:#f8e7df}.client-summary-grid>button div{gap:2px;min-width:0;display:grid}.client-summary-grid small{color:var(--muted);font-size:10px}.client-summary-grid strong{font-family:var(--font-serif);font-size:24px;font-style:normal;font-weight:600}.client-summary-grid em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-style:normal;overflow:hidden}.client-commercial-card{background:var(--surface);border:1px solid var(--line-soft);box-shadow:var(--shadow-small);border-radius:18px;gap:20px;padding:24px;display:grid}.client-commercial-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.client-commercial-heading .eyebrow{color:var(--terracotta);letter-spacing:.16em;margin:0 0 5px;font-size:9px}.client-commercial-heading h2{font-family:var(--font-serif);margin:0;font-size:29px;font-weight:500}.client-commercial-heading p:last-child{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.55}.client-commercial-flow-link{background:var(--forest);border:1px solid var(--forest);color:#fff;border-radius:10px;flex:none;align-items:center;gap:12px;min-height:44px;padding:0 16px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.client-commercial-flow-link:hover{background:#1e493b;transform:translateY(-1px)}.client-commercial-flow-link span{color:#df9a77;font-size:17px}.client-commercial-metrics{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:12px;display:grid}.client-commercial-metrics>div{background:#f1f4ef;border:1px solid #e0e6e1;border-radius:13px;gap:3px;min-height:112px;padding:16px 18px;display:grid}.client-commercial-metrics>div.is-pending{background:#fbf2ec;border-color:#ecd7ca}.client-commercial-metrics span{color:var(--muted);font-size:11px;font-weight:700}.client-commercial-metrics strong{font-family:var(--font-serif);font-size:27px;font-weight:600}.client-commercial-metrics small{color:var(--muted);align-self:end;font-size:10px}.client-commercial-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.client-commercial-list{border:1px solid var(--line-soft);border-radius:14px;min-width:0;overflow:hidden}.client-commercial-list>header{border-bottom:1px solid var(--line-soft);background:#f7f7f3;justify-content:space-between;align-items:center;min-height:48px;padding:0 15px;display:flex}.client-commercial-list h3{margin:0;font-size:14px}.client-commercial-list>header>span{color:var(--muted);font-size:10px}.client-commercial-list ul{max-height:300px;margin:0;padding:0;list-style:none;overflow:auto}.client-commercial-list li{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding:12px 15px;display:flex}.client-commercial-list li:last-child{border-bottom:0}.client-commercial-list li>div:first-child{gap:4px;min-width:0;display:grid}.client-commercial-list li>div:first-child strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.client-commercial-list li>div:first-child span{color:var(--muted);font-size:10px}.client-commercial-item-end{flex:none;place-items:flex-end end;gap:5px;display:grid}.client-commercial-item-end>strong{font-family:var(--font-serif);font-size:15px}.client-commercial-item-end>span{border-radius:999px;padding:4px 7px;font-size:9px;font-weight:800}.client-commercial-item-end .is-waiting{color:#9a4d31;background:#f8e5da}.client-commercial-item-end .is-done{color:#296348;background:#dfece4}.client-commercial-empty{color:var(--muted);min-height:92px;margin:0;padding:19px 15px;font-size:11px;line-height:1.6}.client-commercial-message{background:#f3f5f2;border-radius:12px;gap:4px;padding:14px 16px;display:grid}.client-commercial-message.is-error{color:#7d392e;background:#fceae7}.client-commercial-message strong{font-size:12px}.client-commercial-message span{font-size:11px}.client-commercial-loading{color:var(--muted);align-items:center;gap:10px;min-height:88px;font-size:11px;display:flex}.client-commercial-loading>span{border:2px solid #d6ddd8;border-top-color:var(--terracotta);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite commercial-spin}@keyframes commercial-spin{to{transform:rotate(360deg)}}.client-home-welcome{justify-content:space-between;align-items:center;gap:24px;padding:8px 2px 2px;display:flex}.client-home-welcome h1{font-family:var(--font-serif);margin:6px 0 8px;font-size:clamp(28px,3vw,43px);font-weight:500}.client-home-welcome>div>p:last-child{color:var(--muted);margin:0}.client-colleague-card{border:1px solid var(--line);background:#fffdf9;border-radius:16px;align-items:center;gap:12px;min-width:260px;padding:13px 16px;display:flex}.client-colleague-card .avatar{background:var(--sage-dark);color:#fff;flex:none}.client-colleague-card div{gap:2px;display:grid}.client-colleague-card small,.client-colleague-card span{color:var(--muted);font-size:11px}.client-colleague-card strong{font-size:15px}.client-progress-hero{background:var(--forest);color:#fff;border-radius:24px;grid-template-columns:1fr auto;align-items:center;gap:24px;min-height:260px;padding:34px 40px;display:grid;position:relative;overflow:hidden}.client-progress-hero:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:330px;height:330px;position:absolute;top:-155px;right:-120px}.client-progress-copy{z-index:1;position:relative}.client-progress-copy .eyebrow{color:#d49a7f}.client-progress-copy h2{font-family:var(--font-serif);max-width:720px;margin:8px 0 26px;font-size:clamp(30px,4vw,50px);font-weight:500}.client-current-stage{gap:4px;padding-left:14px;display:grid;position:relative}.client-current-stage:before{background:var(--clay);content:"";border-radius:4px;width:4px;position:absolute;inset:0 auto 0 0}.client-current-stage span,.client-current-stage small{color:#b9cbc3;font-size:12px}.client-current-stage strong{font-size:20px}.client-next-task{color:#cad6d1;margin:18px 0 0;font-size:12px}.client-next-task strong{color:#fff}.client-progress-ring{background:conic-gradient(var(--clay) var(--client-progress),#ffffff26 0);z-index:1;border-radius:50%;justify-content:center;align-items:center;width:154px;height:154px;margin-right:18px;display:flex;position:relative}.client-progress-ring>span{z-index:1;flex-direction:column;align-items:center;display:flex;position:relative}.client-progress-ring strong{font-family:var(--font-serif);font-size:36px}.client-home-grid{grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:18px;display:grid}.client-action-card,.client-appointment-card,.client-latest-card,.client-document-card{padding:24px}.client-card-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.client-card-heading h2,.follow-up-embedded .follow-up-page-header h2{font-family:var(--font-serif);margin:4px 0 0;font-size:27px;font-weight:500}.client-card-heading>span{background:var(--clay);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;display:flex}.client-action-list{display:grid}.material-reminder-button{color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:#f7f3ec;border:1px solid #0000;border-radius:8px;padding:6px 9px;font-size:12px}.material-reminder-button:hover,.material-reminder-button:focus-visible{border-color:var(--clay);outline:none}.material-reminder-button small{color:#a75d3e;display:block}.client-action-list>button{border:0;border-top:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;grid-template-columns:84px 1fr auto;align-items:center;gap:14px;min-height:70px;padding:12px 4px;display:grid}.client-action-list button>span:nth-child(2){gap:4px;display:grid}.client-action-list button small{color:var(--muted)}.client-action-list button i{color:var(--clay);font-size:23px;font-style:normal}.client-action-date{color:var(--clay);font-size:11px}.client-card-link{color:var(--clay);cursor:pointer;background:0 0;border:0;margin-top:12px;padding:6px 0;font-weight:700}.client-appointment-date{align-items:baseline;gap:9px;display:flex}.client-appointment-date strong{color:var(--clay);font-family:var(--font-serif);font-size:31px}.client-appointment-date span,.client-appointment-card p{color:var(--muted)}.client-appointment-card h3{font-family:var(--font-serif);margin:18px 0 6px;font-size:24px;font-weight:500}.client-appointment-card .secondary-button{margin-top:18px}.client-read-only .client-home-page .secondary-button{display:inline-flex!important}.client-home-empty{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:150px;padding:20px;display:flex}.client-home-empty>span{color:var(--sage-dark);background:#e6eee8;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:8px;font-size:18px;display:flex}.client-home-empty p{margin:5px 0 0;font-size:12px}.client-section-intro{color:var(--muted);margin:-7px 0 18px;font-size:12px;line-height:1.7}.client-document-list{gap:12px;display:grid}.client-document-list>article{border:1px solid var(--line);background:#f8f6f1;border-radius:14px;gap:13px;padding:16px;scroll-margin-top:90px;display:grid}.client-document-title{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;display:grid}.client-document-title>span{color:#55778a;background:#e3edf2;border-radius:8px;justify-content:center;align-items:center;width:48px;height:42px;font-size:10px;font-weight:800;display:flex}.client-document-title>div{gap:2px;display:grid}.client-document-title small,.client-document-title em{color:var(--muted);font-size:10px;font-style:normal}.client-document-title strong{font-size:15px}.client-document-title a{color:var(--terracotta);font-size:11px;font-weight:800;text-decoration:none}.client-document-agreement{color:#303a35;cursor:pointer;background:#fff;border:1px solid #d8ddd7;border-radius:10px;align-items:flex-start;gap:12px;padding:15px 16px;font-size:14px;font-weight:700;line-height:1.75;display:flex}.client-document-agreement input{flex:none;width:20px;height:20px;margin-top:3px}.client-document-confirmation-notice{color:#806758;margin:-2px 2px 0;font-size:12px;line-height:1.7}.client-confirm-drawing{background:var(--terracotta);border:1px solid var(--terracotta);color:#fff;cursor:pointer;font:inherit;border-radius:9px;justify-content:center;align-self:start;align-items:center;width:fit-content;min-height:44px;padding:0 18px;font-size:13px;font-weight:800;display:inline-flex}.client-confirm-drawing:disabled{cursor:not-allowed;opacity:.48}.client-latest-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.client-latest-grid article{background:#f6f4ef;border-radius:14px;gap:5px;padding:12px;display:grid;overflow:hidden}.client-latest-grid article .attachment-strip{margin:-12px -12px 8px}.client-latest-grid article .attachment-strip.compact{grid-template-columns:repeat(2,1fr)}.client-latest-grid article time,.client-latest-grid article small,.client-latest-grid article span{color:var(--muted);font-size:11px}.client-latest-grid article>strong{font-size:15px}@media (width<=900px){.client-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-project-hero .hero-copy{max-width:100%}.client-home-welcome{flex-direction:column;align-items:stretch}.client-colleague-card{min-width:0}.client-progress-hero{min-height:220px;padding:26px}.client-progress-copy h2{margin-bottom:20px;font-size:32px}.client-progress-ring{width:118px;height:118px;margin-right:0}.client-progress-ring:after{width:94px;height:94px}.client-progress-ring strong{font-size:28px}.client-home-grid,.client-commercial-columns{grid-template-columns:1fr}}@media (width<=640px){.client-home-page,.client-home-page>*,.client-project-hero,.client-project-hero .hero-copy,.client-project-hero .hero-progress,.client-hero-actions{width:100%;min-width:0;max-width:100%}.client-home-page{gap:12px}.client-home-welcome{padding-top:0}.client-home-welcome h1{font-size:28px}.client-progress-hero{border-radius:18px;grid-template-columns:1fr;align-items:start;padding:23px 20px}.client-progress-copy h2{font-size:29px}.client-progress-ring{transform-origin:100% 0;margin:0;position:absolute;top:18px;right:18px;transform:scale(.72)}.client-current-stage{max-width:calc(100% - 78px)}.client-current-stage strong{font-size:17px}.client-action-card,.client-appointment-card,.client-latest-card,.client-document-card{padding:18px}.client-card-heading h2{font-size:24px}.client-action-list>button{grid-template-columns:68px 1fr auto}.client-latest-grid{grid-template-columns:1fr}.client-summary-grid{grid-template-columns:1fr 1fr}.client-summary-grid>button{align-items:flex-start;min-height:118px;padding:14px}.client-summary-grid>button>span{width:36px;height:36px}.client-commercial-card{border-radius:15px;padding:18px 15px}.client-commercial-heading{flex-direction:column;align-items:stretch;gap:14px}.client-commercial-heading h2{font-size:25px}.client-commercial-flow-link{justify-content:space-between;width:100%}.client-commercial-metrics{grid-template-columns:1fr}.client-commercial-list li{align-items:flex-start}.client-commercial-item-end>strong{font-size:13px}.client-document-title{grid-template-columns:auto 1fr;align-items:start}.client-document-title a{grid-column:2}}@media (prefers-reduced-motion:reduce){.client-commercial-loading>span{animation:none}}.quotation-link{color:#8f4d37;background:#f7efe8;border:1px solid #ead7ca;border-radius:9px;justify-content:space-between;align-items:center;margin:10px 0;padding:10px 12px;font-size:12px;font-weight:700;text-decoration:none;display:flex}.quotation-link span{color:#a77764;font-size:10px;font-weight:500}.procurement-order-mode{color:var(--muted);margin:8px 0 12px;font-size:11px}.procurement-client-order-note{background:#f3f5f1;border-radius:10px;padding:10px 12px}.procurement-client-order-note strong{font-size:14px}.quotation-upload-field{background:#fbf4ee;border-color:#dec6b8}.smart-wastage-field{background:#eef4ef;border-radius:11px;padding:11px 13px}.smart-wastage-field>strong{color:#2f684f;margin-top:4px;font-size:14px}.no-wastage-field{background:#f2f3ef;border-radius:11px;padding:11px 13px}.no-wastage-field strong{color:#58665f;font-size:14px}.floor-laying-field{background:#fbf5ee;border:1px solid #eadbce;border-radius:11px;margin:4px 0 12px;padding:12px}body{font-size:15px}.eyebrow{font-size:10px}.page-title-row>div:first-child>p:last-child{font-size:15px;line-height:1.65}.form-field>span,.progress-fieldset legend{font-size:14px}.form-field input,.form-field select,.form-field textarea{min-height:48px;font-size:15px}.form-field>small,.upload-field small{font-size:12px;line-height:1.55}.procurement-page .filter-chips button{font-size:13px}.product-meta{font-size:12px;line-height:1.55}.product-body h3{font-size:21px}.product-quantity span{font-size:12px}.product-quantity strong{font-size:18px}.model-block small,.product-dates small{font-size:11px}.model-block strong{font-size:15px}.product-dates strong{margin-top:5px;font-size:15px}.product-note,.procurement-order-mode{font-size:13px}.client-submission-note{font-size:13px;line-height:1.55}.material-readiness-stats small,.material-reminder-button,.material-reminders em{font-size:13px}.procurement-category-header span{font-size:10px}.procurement-category-header>strong{font-size:13px}.client-read-only .procurement-card .client-material-edit-button{display:inline-flex!important}.procurement-modal.client-editing .procurement-classification-row,.procurement-modal.client-editing .tile-category-note,.procurement-modal.client-editing .floor-laying-field,.procurement-modal.client-editing .tile-detail-editor{display:none}.client-edit-material-intro{background:#e8f0ea;border:1px solid #d4e0d7;border-radius:12px;margin-bottom:18px;padding:14px 16px}.client-edit-material-intro strong{color:var(--sage-dark);font-size:17px}.client-edit-material-intro p{color:var(--ink-soft);margin:5px 0 0;line-height:1.65}.client-material-status-field{background:#fbf3e9;border:1px solid #ead9c8;border-radius:11px;margin-bottom:14px;padding:13px}.air-conditioner-editor{border:1px solid var(--line);background:#f7f7f3;border-radius:14px;gap:14px;margin:6px 0 18px;padding:16px;display:grid}.air-conditioner-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.air-conditioner-heading h3{font-family:var(--font-serif);margin:4px 0 5px;font-size:23px;font-weight:600}.air-conditioner-heading p{color:var(--muted);max-width:720px;margin:0;line-height:1.6}.air-conditioner-heading>strong{background:var(--sage-pale);color:var(--sage-dark);border-radius:999px;flex:none;padding:7px 12px}.air-conditioner-room-picker{border:1px solid var(--line-soft);background:#fffefa;border-radius:12px;padding:15px}.air-conditioner-room-picker>strong{font-size:15px}.air-conditioner-room-picker>p{color:var(--muted);margin:5px 0 12px;font-size:13px;line-height:1.6}.air-conditioner-room-picker>div{flex-wrap:wrap;gap:8px;display:flex}.air-conditioner-room-picker button{border:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;background:#fff;border-radius:999px;align-items:center;gap:7px;min-height:38px;padding:7px 13px;font-size:14px;display:inline-flex}.air-conditioner-room-picker button:hover{border-color:var(--sage)}.air-conditioner-room-picker button.selected{background:var(--sage-dark);border-color:var(--sage-dark);color:#fff}.air-conditioner-room-picker button span{border:1px solid;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;line-height:1;display:inline-flex}.air-conditioner-room-picker button b{color:var(--sage-dark);background:#edf0ec;border-radius:999px;margin-left:2px;padding:3px 6px;font-size:10px}.air-conditioner-list{gap:10px;display:grid}.air-conditioner-empty{background:var(--sage-pale);color:var(--sage-dark);text-align:center;border-radius:10px;padding:14px;font-size:14px;line-height:1.6}.air-conditioner-list article{border:1px solid var(--line-soft);background:#fffefa;border-radius:11px;padding:13px}.air-conditioner-list article>header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.air-conditioner-list article>header strong{font-size:16px}.air-conditioner-list article>header span{color:var(--sage-dark);font-size:12px}.air-conditioner-list article>header button{color:var(--terracotta);cursor:pointer;font:inherit;background:0 0;border:0;padding:5px;font-size:12px;font-weight:800}.air-conditioner-list article>div{grid-template-columns:1.1fr 1.1fr 1fr .45fr;gap:10px;display:grid}.air-conditioner-card-list{background:#f1f3ef;border-radius:9px;gap:8px;margin-bottom:10px;padding:11px;display:grid}.air-conditioner-card-list span{gap:2px;display:grid}.air-conditioner-card-list span+span{border-top:1px solid #dde2dc;padding-top:8px}.air-conditioner-card-list small{color:var(--muted);font-size:11px}.air-conditioner-card-list strong{font-size:14px}.selected-material-files{border:1px solid var(--line-soft);background:#f4f5f1;border-radius:11px;gap:6px;margin:-5px 0 14px;padding:10px;display:grid}.selected-material-files span{background:#fff;border-radius:7px;justify-content:space-between;align-items:center;gap:9px;min-width:0;padding:7px 9px;font-size:12px;display:flex}.selected-material-files button{color:var(--terracotta);cursor:pointer;font:inherit;background:#f6e7e0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.material-photo-count{color:#fff;background:#18362cd6;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800;position:absolute;bottom:10px;left:10px}.quotation-file-list{gap:6px;margin:10px 0;display:grid}.quotation-file-list .quotation-link{margin:0}.client-drawing-status{border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.client-drawing-status strong{font-size:14px}.client-drawing-status span{font-size:12px;line-height:1.55}.client-drawing-status.is-pending{color:#925039;background:#f9ebe4}.client-drawing-status.is-confirmed{color:#315f49;background:#e4efe7}.client-document-versions{border-top:1px solid var(--line);padding-top:13px}.client-document-versions>div{justify-content:space-between;align-items:center;display:flex}.client-document-versions>div strong{font-size:14px}.client-document-versions>div span{color:var(--muted);font-size:12px}.client-document-versions ul{margin:8px 0 0;padding:0;list-style:none}.client-document-versions li+li{border-top:1px solid var(--line-soft)}.client-document-versions a{color:var(--ink);grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:9px;min-height:52px;padding:8px 4px;text-decoration:none;display:grid}.client-document-versions a>span{gap:2px;display:grid}.client-document-versions a small{color:var(--muted);font-size:11px}.client-document-versions a em,.client-document-versions a b{border-radius:999px;padding:4px 7px;font-size:10px;font-style:normal}.client-document-versions a em{color:var(--ink-soft);background:#edf0ec}.client-document-versions a b{color:#315f49;background:#e4efe7}.client-document-versions a i{color:var(--terracotta);font-size:17px;font-style:normal}@media (width<=720px){.air-conditioner-list article>div{grid-template-columns:1fr}.air-conditioner-heading{flex-direction:column}.client-drawing-status{flex-direction:column;align-items:flex-start}.client-document-versions a{grid-template-columns:minmax(0,1fr) auto}.client-document-versions a b{grid-column:1;width:fit-content}}.design-version-library,.client-design-library{border-top:1px solid var(--line-soft);margin-top:15px;padding-top:12px}.design-version-library>summary,.client-design-library>summary{border:1px solid var(--line-soft);cursor:pointer;background:#f2f3ef;border-radius:11px;justify-content:space-between;align-items:center;min-height:58px;padding:10px 14px;list-style:none;display:flex}.design-version-library>summary::-webkit-details-marker{display:none}.client-design-library>summary::-webkit-details-marker{display:none}.document-version-history>summary::-webkit-details-marker{display:none}.client-document-versions>summary::-webkit-details-marker{display:none}.design-version-library>summary>span,.client-design-library>summary>span{gap:3px;display:grid}.design-version-library>summary strong,.client-design-library>summary strong{font-size:13px}.design-version-library>summary small,.client-design-library>summary small{color:var(--muted);font-size:11px}.design-version-library>summary em,.client-design-library>summary em{color:var(--terracotta);font-size:11px;font-style:normal;font-weight:800}.design-version-library[open]>summary,.client-design-library[open]>summary{background:var(--sage-pale);border-color:#cbd8cf}.design-version-library .design-version-history{margin-top:12px}.client-rendering-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-top:12px;display:grid}.client-rendering-gallery>a{border:1px solid var(--line-soft);color:var(--ink);background:#f5f4ef;border-radius:10px;min-width:0;text-decoration:none;overflow:hidden}.client-rendering-gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.client-rendering-gallery a>span{gap:2px;padding:9px;display:grid}.client-rendering-gallery a>span strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.client-rendering-gallery a>span small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.client-rendering-gallery .client-panorama-tile{text-align:center;place-content:center;min-height:148px;display:grid}.client-panorama-tile>b{color:var(--blue);font-family:Georgia,serif;font-size:24px}.document-slot{grid-template-columns:auto minmax(0,1fr) auto;gap:8px 12px;min-height:0;padding:12px;display:grid}.document-slot-top{align-self:start;justify-items:start;gap:6px;display:grid}.document-slot-copy{align-self:center;padding:0}.document-slot-copy h3{font-size:14px}.document-slot-copy p{text-overflow:ellipsis;white-space:nowrap;max-width:42em;margin:3px 0;overflow:hidden}.document-slot-actions{border-top:0;flex-direction:column;justify-content:center;align-self:center;padding-top:0}.document-slot .document-confirmed-note,.document-slot .document-confirmation-box,.document-slot .document-awaiting-client,.document-slot>.form-error,.document-slot .document-version-history{grid-column:1/-1}.document-kind{min-width:40px;height:30px}.document-version-history{margin-top:2px;padding-top:8px}.document-version-history>summary,.client-document-versions>summary{color:var(--ink-soft);cursor:pointer;justify-content:space-between;align-items:center;min-height:32px;font-size:11px;font-weight:800;list-style:none;display:flex}.document-version-history>summary small,.client-document-versions>summary span{color:var(--muted);font-size:11px;font-weight:500}.document-version-history[open]>summary,.client-document-versions[open]>summary{color:var(--terracotta)}.client-document-versions{padding-top:8px}.phase-purpose-note{color:var(--muted);max-width:650px;margin:5px 0 0;font-size:11px;line-height:1.55}.legend-overdue{background:var(--amber)}.phase-focus-row{border:1px solid var(--line-soft);background:#f3f3ee;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-bottom:12px;display:grid}.phase-focus-row>div{gap:3px;padding:10px 13px;display:grid}.phase-focus-row>div+div{border-left:1px solid var(--line)}.phase-focus-row small{color:var(--muted);font-size:9px}.phase-focus-row strong{font-size:12px}.phase-list{grid-template-columns:repeat(4,minmax(0,1fr))}.phase-step{min-height:62px}.phase-step strong{font-size:11px}.phase-step small{white-space:normal;font-size:9px;line-height:1.45}.phase-overdue .phase-index{background:var(--amber-pale);color:var(--amber)}.phase-overdue em{color:var(--amber)}.phase-empty-state{border:1px dashed var(--line);color:var(--muted);background:#f5f3ed;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;padding:15px;display:flex}.phase-empty-state strong{color:var(--ink);font-size:13px}.phase-empty-state span{font-size:11px}@media (width<=900px){.client-rendering-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.phase-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.design-source-grid{grid-template-columns:1fr}.design-source{min-height:0}.client-rendering-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.document-slot-grid{grid-template-columns:1fr}.document-slot{grid-template-columns:auto minmax(0,1fr)}.document-slot-actions{flex-direction:row;grid-column:1/-1;justify-content:flex-end;align-items:center}.phase-focus-row{grid-template-columns:1fr}.phase-focus-row>div+div{border-left:0;border-top:1px solid var(--line)}.phase-list{grid-template-columns:1fr}}.renderings-card .design-source-grid{grid-template-columns:minmax(0,1.75fr) minmax(250px,.7fr);align-items:stretch}.renderings-card .rendering-album-source{grid-area:1/1;min-width:0;padding:0}.renderings-card .panorama-source{grid-area:1/2}.rendering-album-viewer{outline:none;min-width:0;display:grid}.rendering-album-toolbar{border-bottom:1px solid var(--line-soft);background:#f4f5f1;justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:13px 16px;display:flex}.rendering-album-toolbar>div{gap:3px;display:grid}.rendering-album-toolbar small{color:var(--terracotta);letter-spacing:.13em;font-size:9px;font-weight:800}.rendering-album-toolbar strong{font-family:var(--font-serif);font-size:19px;font-weight:600}.rendering-album-toolbar label{align-items:center;gap:9px;display:flex}.rendering-album-toolbar label>span{color:var(--muted);font-size:11px;font-weight:700}.rendering-album-toolbar select{border:1px solid var(--line);color:var(--ink);font:inherit;background:#fff;border-radius:8px;max-width:250px;min-height:38px;padding:0 32px 0 10px;font-size:12px}.rendering-album-count{color:var(--sage-dark);background:#e6eee8;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800}.rendering-album-stage{background:#252b28;min-height:370px;position:relative;overflow:hidden}.rendering-album-stage>a:first-child{justify-content:center;align-items:center;height:370px;display:flex}.rendering-album-stage img{object-fit:contain;width:100%;height:100%;display:block}.rendering-album-arrow{color:var(--sage-dark);cursor:pointer;z-index:2;background:#ffffffeb;border:0;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;padding:0 0 4px;font:400 34px/1 Georgia,serif;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 5px 18px #0003}.rendering-album-arrow:hover{background:#fff;transform:translateY(-50%)scale(1.04)}.rendering-album-arrow.is-previous{left:14px}.rendering-album-arrow.is-next{right:14px}.rendering-album-position,.rendering-album-original{color:#fff;z-index:2;background:#121c18c2;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;text-decoration:none;position:absolute;bottom:13px}.rendering-album-position{left:14px}.rendering-album-original{right:14px}.rendering-album-caption{justify-content:space-between;align-items:start;gap:18px;padding:14px 16px 10px;display:flex}.rendering-album-caption>div{grid-template-columns:auto 1fr;align-items:center;gap:3px;min-width:0;display:grid}.rendering-album-caption .latest-tag{grid-row:1/span 2;margin-right:5px}.rendering-album-caption strong{text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.rendering-album-caption p,.rendering-album-caption time{color:var(--muted);margin:0;font-size:11px}.rendering-album-caption time{text-align:right;flex:none;max-width:245px;line-height:1.5}.rendering-album-note{color:var(--ink-soft);margin:0;padding:0 16px 12px;font-size:12px;line-height:1.6}.rendering-album-thumbnails{scrollbar-width:thin;gap:8px;padding:4px 16px 15px;display:flex;overflow-x:auto}.rendering-album-thumbnails button{cursor:pointer;background:#eaeae5;border:2px solid #0000;border-radius:8px;flex:0 0 74px;height:58px;padding:0;position:relative;overflow:hidden}.rendering-album-thumbnails button.is-active{border-color:var(--terracotta);box-shadow:0 0 0 2px #f3d9cf}.rendering-album-thumbnails button img{object-fit:cover;width:100%;height:100%}.rendering-album-thumbnails button span{color:#fff;background:#121c18c2;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:9px;display:flex;position:absolute;top:4px;left:4px}.rendering-album-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:330px;padding:28px;display:flex}.rendering-album-empty>span{color:var(--blue);font-size:31px}.rendering-album-empty strong{font-family:var(--font-serif);margin-top:10px;font-size:20px}.rendering-album-empty p{color:var(--muted);max-width:410px;line-height:1.65}.rendering-album-upload{z-index:1;margin:-55px auto 22px;position:relative}.client-design-grid{grid-template-columns:minmax(0,1.7fr) minmax(245px,.65fr);align-items:stretch}.client-design-grid .client-rendering-album-card{border:1px solid var(--line);padding:0;overflow:hidden}.client-design-grid .client-rendering-album-card .rendering-album-stage{min-height:420px}.client-design-grid .client-rendering-album-card .rendering-album-stage>a:first-child{height:420px}.client-panorama-version-list{margin-top:12px}@media (width<=900px){.renderings-card .design-source-grid,.client-design-grid{grid-template-columns:1fr}.renderings-card .rendering-album-source,.renderings-card .panorama-source{grid-area:auto/1}}@media (width<=640px){.rendering-album-toolbar{flex-direction:column;align-items:stretch}.rendering-album-toolbar label{flex-direction:column;align-items:stretch;gap:4px}.rendering-album-toolbar select{width:100%;max-width:none}.rendering-album-stage,.client-design-grid .client-rendering-album-card .rendering-album-stage{min-height:270px}.rendering-album-stage>a:first-child,.client-design-grid .client-rendering-album-card .rendering-album-stage>a:first-child{height:270px}.rendering-album-arrow{width:42px;height:42px}.rendering-album-caption{flex-direction:column;align-items:stretch;gap:7px}.rendering-album-caption time{text-align:left;max-width:none}}.design-library-entry{border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:linear-gradient(120deg,#f6f3ed,#eef2ec);border-radius:14px;grid-template-columns:112px minmax(0,1fr) auto 24px;align-items:center;gap:16px;width:100%;min-height:116px;padding:12px 18px 12px 12px;transition:border-color .2s,box-shadow .2s,transform .2s;display:grid;overflow:hidden}.design-library-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.design-library-entry-grid .design-library-entry{grid-template-columns:88px minmax(0,1fr) 20px;gap:13px;min-height:104px;padding:10px 14px 10px 10px}.design-library-entry-grid .design-library-entry-latest{display:none}.design-library-entry:hover{border-color:#bdc9c0;transform:translateY(-1px);box-shadow:0 12px 28px #24342c17}.design-library-entry-preview{background:#dfe6df;border-radius:10px;justify-content:center;align-self:stretch;align-items:center;min-height:90px;display:flex;overflow:hidden}.design-library-entry-preview img{object-fit:cover;width:100%;height:100%}.design-library-entry-preview i{color:var(--sage);font-size:30px;font-style:normal}.design-library-entry-copy{gap:5px;min-width:0;display:grid}.design-library-entry-copy small{color:var(--terracotta);letter-spacing:.14em;font-size:9px;font-weight:800}.design-library-entry-copy strong{font-family:var(--font-serif);-webkit-hyphens:none;hyphens:none;overflow-wrap:normal;word-break:normal;font-size:21px;font-weight:600}.design-library-entry-copy em{color:var(--muted);font-size:12px;font-style:normal}.design-library-entry-copy>strong:not(.design-library-entry-title),.design-library-entry-copy>em:not(.design-library-entry-summary){display:none}.design-library-entry-latest{text-align:right;gap:4px;min-width:88px;display:grid}.design-library-entry-latest small{color:var(--muted);font-size:10px}.design-library-entry-latest strong{font-size:13px}.design-library-entry-arrow{color:var(--terracotta);font:400 32px/1 Georgia,serif}.design-library-entry-360{color:var(--blue);letter-spacing:-.03em;background:#e4ecef;font-size:20px;font-weight:800}html[data-locale=en] .design-library-entry-grid .design-library-entry{grid-template-columns:78px minmax(138px,1fr) 18px;gap:12px}html[data-locale=en] .design-library-entry-copy{overflow:visible}html[data-locale=en] .design-library-entry-copy strong,html[data-locale=en] .design-library-entry-copy em{white-space:normal}html[data-locale=en] .design-library-entry-copy strong{font-size:18px;line-height:1.22}.client-design-library-entry{margin-top:12px}.design-library-backdrop{padding:20px}.design-library-modal{width:min(1180px,100vw - 40px);max-width:1180px;max-height:calc(100vh - 40px);padding:0;overflow:auto}.design-library-modal-header{border-bottom:1px solid var(--line-soft);z-index:10;background:#fbfaf6;align-items:center;margin:0;padding:22px 24px;position:sticky;top:0}.design-library-modal-header>div:first-child{gap:4px;display:grid}.design-library-modal-header h2,.design-library-modal-header p{margin:0}.design-library-modal-actions{align-items:center;gap:8px;display:flex}.design-library-modal-grid{grid-template-columns:minmax(0,1fr) 310px;min-height:560px;display:grid}.design-library-modal-grid.is-renderings,.design-library-modal-grid.is-panorama{grid-template-columns:minmax(0,1fr)}.design-library-modal-grid.is-panorama{background:#f8f6f1;min-height:480px}.design-library-modal-grid.is-panorama .design-library-panorama-panel{width:100%;max-width:620px;margin:0 auto;padding:38px 24px}.design-library-album-panel{border-right:1px solid var(--line-soft);min-width:0}.design-library-panorama-panel{background:#f8f6f1;padding:22px}.design-library-panorama-heading{align-items:center;gap:11px;display:flex}.design-library-panorama-heading>span{color:var(--blue);background:#e2ebef;border-radius:9px;justify-content:center;align-items:center;width:48px;height:48px;font-size:14px;font-weight:800;display:flex}.design-library-panorama-heading div{gap:3px;display:grid}.design-library-panorama-heading small{color:var(--terracotta);letter-spacing:.12em;font-size:9px;font-weight:800}.design-library-panorama-heading strong{font-size:17px}.design-library-panorama-latest{border:1px solid var(--line);background:#fff;border-radius:12px;gap:10px;margin-top:20px;padding:18px;display:grid}.design-library-panorama-latest>strong{font-family:var(--font-serif);font-size:21px}.design-library-panorama-latest p,.design-library-panorama-latest time{color:var(--muted);margin:0;font-size:11px}.design-library-panorama-latest .primary-button{text-align:center;justify-content:center;margin-top:4px}.design-library-panorama-history{margin-top:14px}.design-library-panorama-history>summary{color:var(--terracotta);cursor:pointer;padding:10px 2px;font-size:12px;font-weight:800}.design-library-panorama-history .panorama-version-list{margin-top:6px}.design-library-panorama-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:340px;display:flex}.design-library-panorama-empty strong{font-family:var(--font-serif);font-size:20px}.design-library-panorama-empty p{color:var(--muted);max-width:230px;font-size:12px;line-height:1.6}@media (width<=640px){.design-library-entry-grid{grid-template-columns:1fr}.design-library-entry{grid-template-columns:74px minmax(0,1fr) 18px;min-height:92px;padding:9px 12px 9px 9px}.design-library-entry-preview{min-height:72px}.design-library-entry-latest{display:none}.design-library-entry-copy strong{font-size:17px}.design-library-entry-copy em{font-size:10px;line-height:1.45}.design-library-backdrop{padding:0}.design-library-modal{border-radius:0;width:100vw;min-height:100vh;max-height:100vh}.design-library-modal-header{align-items:flex-start;padding:16px}.design-library-modal-header>div:first-child p:last-child,.design-library-modal-actions .secondary-button{display:none}.design-library-modal-grid{min-height:0;display:block}.design-library-album-panel{border-bottom:1px solid var(--line-soft);border-right:0}.design-library-panorama-panel{padding:18px 16px 28px}.design-library-panorama-empty{min-height:180px}}.acceptance-delete-button{min-height:44px;margin-right:auto}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}:root{--font-body:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", "Heiti TC", system-ui, sans-serif;--font-heading:"Noto Serif TC", "Songti TC", "Times New Roman", serif;--font-brand:"Felix Titling", "Times New Roman", serif;--font-number:Georgia, "Times New Roman", var(--font-heading);--font-serif:var(--font-heading);--font-display:var(--font-heading);--type-page-title:clamp(32px, 3.2vw, 46px);--type-section-title:clamp(24px, 2vw, 29px);--type-card-title:22px;--type-number:clamp(22px, 2vw, 28px);--type-body:15px;--type-meta:13px;--type-label:11px;--type-status:12px;--type-control:13px;--type-brand:20px;--type-icon:24px;--type-number-compact:clamp(20px, 1.7vw, 26px);--weight-heading:600;--weight-number:600;--weight-control:700;--leading-heading:1.25;--leading-body:1.65;--tracking-heading:-.02em;--space-1:6px;--space-2:10px;--space-3:14px;--space-4:18px;--space-5:24px;--space-6:32px;--space-7:40px;--card-padding:clamp(18px, 2.2vw, 26px);--radius-card:14px;--radius-control:10px;--radius-pill:999px;--control-height:44px;--control-height-compact:40px;--lm-canvas:#efeee8;--lm-paper:#fbfaf6;--lm-paper-2:#f5f3ed;--lm-forest:#16372e;--lm-forest-2:#21483b;--lm-moss:#637c70;--lm-clay:#c6603d;--lm-clay-dark:#9f472c;--lm-wheat:#d8c7ad;--lm-ink:#18241f;--lm-copy:#46564f;--lm-muted:#718079;--lm-rule:#d9ddd6;--lm-rule-soft:#e8e8e2;--lm-success:#3f725b;--lm-warning:#9b6b2f;--lm-danger:#a9473c;--lm-copy-inverse:#b8c9c1;--lm-inverse-focus:#ffffff8c;--lm-inverse-border:#ffffff4d;--lm-inverse-hover:#ffffff1a;--lm-overlay:#0a120fad;--lm-radius:18px;--lm-radius-small:12px;--lm-shadow:0 18px 45px #192a2214;--paper:var(--lm-canvas);--surface:var(--lm-paper);--surface-strong:#fff;--ink:var(--lm-ink);--ink-soft:var(--lm-copy);--muted:var(--lm-muted);--line:var(--lm-rule);--line-soft:var(--lm-rule-soft);--sage:var(--lm-moss);--sage-dark:var(--lm-forest);--sage-pale:#e7eee9;--terracotta:var(--lm-clay);--terracotta-pale:#f5e5de;--green:var(--lm-success);--green-pale:#e4eee8;--amber:var(--lm-warning);--amber-pale:#f4ebd9;--red:var(--lm-danger);--red-pale:#f4e2df;--shadow:var(--lm-shadow);--shadow-small:0 10px 26px #192a220e}.commercial-overview{background:var(--lm-paper);border:1px solid var(--lm-rule);border-radius:var(--radius-card);box-shadow:none;gap:var(--space-4);margin-top:var(--space-5);padding:var(--card-padding);display:grid}.client-home-page .commercial-overview{margin-top:0}.commercial-overview-heading{align-items:center;gap:var(--space-5);justify-content:space-between;display:flex}.commercial-overview-heading p{margin:var(--space-1) 0 0;max-width:70ch}.commercial-overview-link{background:var(--lm-forest);border-radius:var(--radius-control);color:#fff;font-size:var(--type-control);font-weight:var(--weight-control);align-items:center;gap:var(--space-3);min-height:var(--control-height);padding:0 var(--space-4);flex:none;justify-content:center;text-decoration:none;display:inline-flex}.commercial-overview-link:hover{background:var(--lm-forest-2)}.commercial-overview-link:focus-visible{outline-offset:3px;outline:3px solid #c6603d4d}.commercial-overview-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.commercial-overview-metrics>div{background:var(--lm-paper-2);min-height:94px;padding:var(--space-3) var(--space-4)}.commercial-overview-metrics>div:first-child{border-radius:var(--radius-control) 0 0 var(--radius-control)}.commercial-overview-metrics>div:last-child{border-radius:0 var(--radius-control) var(--radius-control) 0}.commercial-overview-metrics>div.is-action{background:var(--terracotta-pale)}.commercial-overview-metrics dt{color:var(--lm-muted);font-size:var(--type-meta);font-weight:var(--weight-control)}.commercial-overview-metrics dd{font-family:var(--font-number);font-size:var(--type-number);font-weight:var(--weight-number);margin:var(--space-1) 0 0;line-height:1.2}.commercial-overview-latest{border-top:1px solid var(--lm-rule-soft);align-items:center;gap:var(--space-5);padding-top:var(--space-4);justify-content:space-between;display:flex}.commercial-overview-latest>div{gap:var(--space-1);min-width:0;display:grid}.commercial-overview-latest>div:last-child{flex:none;justify-items:end}.commercial-overview-latest span,.commercial-overview-latest small,.commercial-overview-footer span{color:var(--lm-muted);font-size:var(--type-meta)}.commercial-overview-latest>div:first-child>strong{font-family:var(--font-heading);font-size:var(--type-card-title);line-height:var(--leading-heading)}.commercial-overview-latest>div:last-child>strong,.commercial-overview-footer strong{font-family:var(--font-number);font-size:var(--type-card-title)}.commercial-status{font-weight:var(--weight-control);border-radius:999px;padding:5px 9px;font-size:var(--type-status)!important}.commercial-status.is-action{background:var(--terracotta-pale);color:var(--lm-clay-dark)}.commercial-status.is-done{background:var(--green-pale);color:var(--lm-success)}.commercial-status.is-preparing{background:var(--amber-pale);color:var(--lm-warning)}.commercial-status.is-neutral{background:var(--lm-paper-2);color:var(--lm-copy)}.commercial-overview-footer{border-top:1px solid var(--lm-rule-soft);gap:var(--space-3);padding-top:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.commercial-overview-footer>div{gap:var(--space-1);display:grid}.commercial-overview-footer>div:not(:first-child){border-left:1px solid var(--lm-rule-soft);padding-left:var(--space-3)}.commercial-overview-empty,.commercial-overview-message,.commercial-overview-loading{background:var(--lm-paper-2);border-radius:var(--radius-control);color:var(--lm-copy);font-size:var(--type-body);line-height:var(--leading-body);padding:var(--space-4);margin:0}.commercial-overview-message,.commercial-overview-loading{gap:var(--space-1);display:grid}.commercial-overview-message.is-error{background:var(--red-pale);color:var(--lm-danger)}.commercial-overview-loading{grid-template-columns:auto 1fr;align-items:center}.commercial-overview-loading p{margin:0}.commercial-overview-loading>span{border:2px solid var(--lm-rule);border-top-color:var(--lm-clay);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite commercial-spin}@media (width<=760px){.commercial-overview{padding:var(--space-4)}.commercial-overview-heading{align-items:stretch;gap:var(--space-3);flex-direction:column}.commercial-overview-link{justify-content:space-between;width:100%}.commercial-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.commercial-overview-metrics>div:first-child{border-radius:var(--radius-control) 0 0 0}.commercial-overview-metrics>div:nth-child(2){border-radius:0 var(--radius-control) 0 0}.commercial-overview-metrics>div:nth-child(3){border-radius:0 0 0 var(--radius-control)}.commercial-overview-metrics>div:last-child{border-radius:0 0 var(--radius-control) 0}.commercial-overview-latest{align-items:stretch;gap:var(--space-3);flex-direction:column}.commercial-overview-latest>div:last-child{justify-content:space-between;align-items:center;display:flex}.commercial-overview-footer{grid-template-columns:1fr}.commercial-overview-footer>div:not(:first-child){border-left:0;border-top:1px solid var(--lm-rule-soft);padding-left:0;padding-top:var(--space-3)}}@media (width<=440px){.commercial-overview-metrics{grid-template-columns:1fr}.commercial-overview-metrics>div,.commercial-overview-metrics>div:first-child,.commercial-overview-metrics>div:nth-child(2),.commercial-overview-metrics>div:nth-child(3),.commercial-overview-metrics>div:last-child{border-radius:0}.commercial-overview-metrics>div:first-child{border-radius:var(--radius-control) var(--radius-control) 0 0}.commercial-overview-metrics>div:last-child{border-radius:0 0 var(--radius-control) var(--radius-control)}}@media (prefers-reduced-motion:reduce){.commercial-overview-loading>span{animation:none}}.language-control{border:1px solid var(--lm-rule,#d9ddd6);background:#fbfaf6f5;border-radius:12px;align-items:center;gap:4px;padding:4px;display:flex;box-shadow:0 10px 26px #192a2217}.language-control-global{z-index:9999;position:fixed;bottom:20px;right:20px}.language-control-inline{box-shadow:none;flex:none;position:static}.language-control-inline .language-control-label{display:none}.language-control-inline button{min-height:var(--control-height-compact);min-width:54px;padding-inline:9px}body:has(.app-shell) .language-control-global{display:none}body:has(.admin-shell) .language-control-global{display:none}body:has([data-client-center]) .language-control-global{display:none}.language-control-label{color:var(--lm-copy,#46564f);white-space:nowrap;padding-inline:8px 5px;font:700 12px/1 Noto Sans TC,Segoe UI,sans-serif}.language-control button{border-radius:var(--lm-radius-small,12px);color:var(--lm-muted,#718079);cursor:pointer;min-height:var(--control-height-compact);white-space:nowrap;background:0 0;border:0;min-width:58px;padding:0 11px;font:700 12px/1 Noto Sans TC,Segoe UI,sans-serif}.language-control button:hover{color:var(--lm-ink,#18241f)}.language-control button:focus-visible{outline:2px solid var(--lm-clay,#c6603d);outline-offset:2px}.language-control button.is-active{background:var(--lm-forest,#16372e);color:var(--lm-paper,#fbfaf6)}body:has(.team-login-page) .language-control-global{top:68px;bottom:auto;right:max(24px,50vw - 506px)}html[data-locale=en] body,html[data-locale=en] button,html[data-locale=en] input,html[data-locale=en] select,html[data-locale=en] textarea{font-family:Avenir Next,Helvetica Neue,Segoe UI,Arial,sans-serif}html[data-locale=en] h1,html[data-locale=en] h2,html[data-locale=en] h3,html[data-locale=en] .project-hero h1,html[data-locale=en] .portfolio-heading h1{letter-spacing:-.025em;font-family:Georgia,Times New Roman,serif}html[data-locale=en] .portfolio-list-head,html[data-locale=en] .portfolio-project-row,html[data-locale=en] .audit-row{min-width:0}html[data-locale=en] button,html[data-locale=en] a,html[data-locale=en] label,html[data-locale=en] th,html[data-locale=en] td{overflow-wrap:anywhere}@media (width<=840px){.language-control-global{bottom:auto;left:50%;right:auto;top:max(12px, env(safe-area-inset-top));transform:translate(-50%)}body:has(.team-login-page) .language-control-global{left:50%;right:auto;top:max(12px, env(safe-area-inset-top));transform:translate(-50%)}.language-control-label{display:none}.language-control button{min-width:62px;min-height:40px}.language-control-inline button{min-height:var(--control-height-compact);min-width:52px;padding-inline:8px}.topbar-actions .language-control-inline button{min-width:50px;min-height:40px;padding-inline:7px}body:has(.team-login-page) .team-login-story-copy{padding-top:56px}}html{background:var(--lm-canvas)}body{background:var(--lm-canvas);color:var(--lm-ink);font-size:15px;line-height:1.55;font-family:var(--font-body)}button,input,select,textarea{font-family:var(--font-body)}body:before{content:"";pointer-events:none;z-index:12;background:linear-gradient(90deg,#0000,#16372e09,#0000);height:1px;position:fixed;top:71px;left:0;right:0}.staff-workspace,.app-shell:not(.team-login-page){background:var(--lm-canvas)}.side-rail{background:var(--lm-forest);border-right:1px solid #ffffff14;width:252px;padding:25px 16px 20px}.brand-lockup{gap:13px;min-height:54px;padding:0 8px}.brand-mark{background:var(--lm-clay);border-radius:11px 3px;width:44px;height:44px;font-family:Felix Titling,Times New Roman,serif;font-size:19px;box-shadow:0 8px 20px #091c1638}.brand-copy{gap:2px;display:grid!important}.brand-copy strong{color:#fff;letter-spacing:.11em;font-family:Felix Titling,Times New Roman,serif;font-size:13px;font-weight:500}.brand-copy small{color:#abc0b7;letter-spacing:.16em;font-size:8px}.side-nav{gap:5px;margin-top:38px}.side-nav button,.side-nav a{color:#b8c9c1;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;min-height:46px;padding:0 13px;font-size:14px;font-weight:650;text-decoration:none;transition:background-color .16s ease-out,color .16s ease-out;display:flex}.side-nav button:hover,.side-nav a:hover{color:#fff;background:#fff1;transform:none}.side-nav button.active{color:#fff;background:#ffffff1f}.side-nav button>span,.side-nav a>span{color:currentColor;width:20px}.side-nav em{background:var(--lm-clay)!important;min-width:21px!important;height:21px!important;font-size:10px!important}.nav-icon{flex:0 0 20px;height:20px;position:relative;width:20px!important;display:inline-block!important}.nav-icon:before,.nav-icon:after{box-sizing:border-box;content:"";position:absolute}.nav-icon-projects:before{border:1.5px solid;width:15px;height:15px;inset:2px}.nav-icon-projects:after{border-top:1.5px solid;border-left:1.5px solid;width:8px;height:14px;top:3px;left:9px}.nav-icon-account:before{border:1.5px solid;border-radius:50%;width:7px;height:7px;top:2px;left:7px}.nav-icon-account:after{border:1.5px solid;border-radius:9px 9px 3px 3px;width:15px;height:8px;bottom:2px;left:3px}.nav-icon-quotation:before{border:1.5px solid;border-radius:2px;width:14px;height:16px;top:2px;left:3px}.nav-icon-quotation:after{border-top:1.5px solid;border-bottom:1.5px solid;width:8px;height:6px;top:7px;left:6px}.nav-icon-admin:before{border-top:1.5px solid;border-bottom:1.5px solid;width:16px;height:12px;top:4px;left:2px}.nav-icon-admin:after{background:currentColor;border-radius:50%;width:4px;height:4px;top:2px;left:5px;box-shadow:7px 7px}.nav-icon-overview:before{border:1.5px solid;width:16px;height:15px;inset:2px}.nav-icon-overview:after{border-top:1.5px solid;border-left:1.5px solid;width:8px;height:8px;top:3px;left:9px}.nav-icon-schedule:before{border:1.5px solid;border-radius:3px;width:16px;height:15px;top:3px;left:2px}.nav-icon-schedule:after{border-top:2px dotted;border-bottom:1.5px solid;width:10px;height:8px;top:7px;left:5px}.nav-icon-procurement:before{border:1.5px solid;width:13px;height:13px;top:4px;left:4px;transform:rotate(45deg)}.nav-icon-records:before{border:1.5px solid;border-radius:50%;inset:2px}.nav-icon-records:after{border:1.5px solid;border-radius:50%;inset:6px}.portfolio-rail-summary,.side-project{box-shadow:none;background:#ffffff0e;border:1px solid #ffffff17;border-radius:12px;padding:16px}.portfolio-rail-summary p,.side-project p{color:#93aaa0;letter-spacing:.08em;font-size:10px;font-weight:750}.portfolio-rail-summary span,.side-project span{color:#c7d3ce;font-size:12px}.side-user{border-color:#ffffff1a}.side-user strong{color:#fff;font-size:12px}.side-user small{color:#93aaa0;font-size:10px}.app-main{margin-left:252px}.topbar{-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid var(--lm-rule);background:#efeee8fa;height:72px;padding:0 34px}.portfolio-breadcrumb span,.today-label small{color:var(--lm-muted);letter-spacing:0;font-size:11px}.portfolio-breadcrumb strong,.today-label strong,.project-switcher strong{font-size:14px}.today-label{border-color:var(--lm-rule)}.refresh-button,.notification-button,.icon-button{background:var(--lm-paper);border-color:var(--lm-rule);border-radius:var(--radius-control);box-shadow:none;height:var(--control-height);width:var(--control-height)}.primary-button,.secondary-button,.danger-outline-button,.schedule-pdf-button,.material-pdf-button{border-radius:var(--radius-control);font-size:var(--type-control);font-weight:var(--weight-control);min-height:var(--control-height)}.primary-button{background:var(--lm-clay);border-color:var(--lm-clay);box-shadow:0 9px 20px #9f472c29}.primary-button:hover{background:var(--lm-clay-dark);border-color:var(--lm-clay-dark);transform:none}.secondary-button{background:var(--lm-paper);border-color:var(--lm-rule)}.secondary-button:hover{background:#fff;border-color:#bac2bc}.content-area,.portfolio-content{max-width:1500px;padding:34px clamp(22px,3vw,48px) 72px}.portfolio-heading{align-items:center;margin-bottom:24px}.portfolio-heading .eyebrow,.client-home-page .eyebrow,.content-area .eyebrow,.admin-shell .eyebrow,.account-card-panel .eyebrow{display:none}.portfolio-heading h1{letter-spacing:-.025em;margin:0 0 8px;font-size:clamp(32px,3vw,46px);font-weight:550;line-height:1.2}.portfolio-heading>div>p:last-child{color:var(--lm-copy);font-size:15px}.portfolio-focus{background:var(--lm-forest);border-radius:var(--lm-radius);color:#fff;grid-template-columns:minmax(260px,.8fr) minmax(540px,1.7fr);gap:28px;margin-bottom:18px;padding:24px 28px;display:grid;position:relative;overflow:hidden}.portfolio-focus:after{content:"";border:1px solid #ffffff1a;border-radius:50%;width:260px;height:260px;position:absolute;top:-150px;right:-80px}.portfolio-focus-intro{z-index:1;align-self:center;gap:5px;display:grid;position:relative}.portfolio-focus-intro>span{color:#d69b80;font-size:11px;font-weight:800}.portfolio-focus-intro strong{font-family:Noto Serif TC,Songti TC,serif;font-size:24px;font-weight:600}.portfolio-focus-intro p{color:#b9cac3;margin:0;font-size:12px}.portfolio-focus-items{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:relative}.portfolio-focus-items article{border-left:1px solid #ffffff24;gap:2px;padding:4px 20px;display:grid}.portfolio-focus-items span,.portfolio-focus-items small{color:#b9cac3;font-size:11px}.portfolio-focus-items strong{font-family:Noto Serif TC,Songti TC,serif;font-size:30px;font-weight:550}.portfolio-metrics{background:var(--lm-paper);border:1px solid var(--lm-rule);border-radius:var(--lm-radius);gap:0;overflow:hidden}.portfolio-metric{box-shadow:none;border:0;border-radius:0;min-height:112px;padding:19px 22px}.portfolio-metric+.portfolio-metric{border-left:1px solid var(--lm-rule-soft)}.portfolio-metric:after{opacity:1;border-radius:50%;width:9px;height:9px;top:19px;right:19px}.portfolio-metric p{color:var(--lm-copy);font-size:13px}.portfolio-metric strong{margin-top:6px;font-family:Noto Serif TC,Songti TC,serif;font-size:30px}.portfolio-list,.card{background:var(--lm-paper);border:1px solid var(--lm-rule);border-radius:var(--radius-card);box-shadow:none}.portfolio-list-toolbar{padding:20px 22px}.portfolio-list-toolbar h2{font-size:21px;font-weight:600}.project-search{background:var(--lm-paper-2);border-color:var(--lm-rule);min-height:42px}.portfolio-list-head{color:#596a62;background:#e9ece6;font-size:11px}.portfolio-project-row{background:var(--lm-paper);min-height:116px}.portfolio-project-row:hover{background:#f5f5ef}.project-row-main strong{font-size:17px}.project-row-main small,.project-row-date span,.project-row-next span,.project-row-risk small,.project-row-stage small{font-size:12px}.project-row-risk{border-radius:9px}.project-switcher{cursor:pointer;gap:10px}.project-switcher>span{color:var(--lm-forest);background:#dfe8e2;padding:6px 8px;font-size:10px}.project-hero,.client-progress-hero{background:var(--lm-forest);box-shadow:none;border-radius:22px;min-height:214px;padding:32px 38px}.project-hero:before,.project-hero:after{border-color:#ffffff17}.hero-copy h1{letter-spacing:-.025em;font-size:clamp(30px,3vw,44px);font-weight:550;line-height:1.25}.hero-copy>p{color:#b8c9c1;font-size:13px}.project-badges>span{border-radius:7px;padding:6px 8px;font-size:10px}.hero-actions{margin-top:22px}.project-hero .hero-edit-button{color:#fff;background:#ffffff14;border-color:#ffffff47}.project-hero .hero-edit-button:hover{background:#ffffff24;border-color:#ffffff6b}.section-heading h2,.client-card-heading h2,.client-document-card h2,.client-design-card h2{font-family:var(--font-heading);font-size:var(--type-card-title);font-weight:var(--weight-heading);letter-spacing:var(--tracking-heading);line-height:var(--leading-heading)}.client-home-page{gap:20px;max-width:1380px}.client-home-welcome{align-items:center;padding:2px 0 4px}.client-home-welcome h1{letter-spacing:-.025em;margin-top:0;font-size:clamp(31px,3vw,44px);font-weight:550}.client-colleague-card{background:var(--lm-paper);border-color:var(--lm-rule);border-radius:var(--lm-radius-small);min-width:270px}.client-progress-hero{grid-template-columns:minmax(0,1fr) auto}.client-progress-copy h2{letter-spacing:-.03em;font-size:clamp(32px,4vw,50px)}.client-progress-ring{background:conic-gradient(var(--lm-clay) var(--client-progress), #ffffff29 0)}.client-summary-grid{background:var(--lm-paper);border:1px solid var(--lm-rule);border-radius:var(--lm-radius);gap:0;overflow:hidden}.client-summary-grid>button{box-shadow:none;border:0;border-radius:0;min-height:104px;padding:17px 20px}.client-summary-grid>button+button{border-left:1px solid var(--lm-rule-soft)}.client-summary-grid>button:hover{background:var(--lm-paper-2);border-color:#0000;transform:none}.client-summary-grid small,.client-summary-grid em{font-size:12px}.client-summary-grid strong{font-size:27px}.client-home-grid{grid-template-columns:minmax(0,1.55fr) minmax(320px,.7fr);gap:18px}.client-action-card,.client-appointment-card,.client-latest-card,.client-document-card,.client-design-card{padding:26px}.client-appointment-card{background:#f2ede4}.client-action-list>button{min-height:76px;padding:14px 5px}.client-action-list>button:hover{background:var(--lm-paper-2)}.client-action-date,.client-action-list button small,.client-section-intro,.client-document-title small,.client-document-title em,.client-document-title a{font-size:12px}.client-document-list>article{background:var(--lm-paper-2);border-color:var(--lm-rule);border-radius:var(--lm-radius-small);padding:18px}.client-document-agreement{padding:16px;font-size:15px;line-height:1.7}.client-document-confirmation-notice{font-size:13px}.client-latest-grid article{background:var(--lm-paper-2)}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0c1b168c}.modal-sheet{background:var(--lm-paper);border:1px solid #ffffff8c;border-radius:22px;box-shadow:0 28px 80px #0c1b1640}.modal-sheet h2,.modal-sheet h1{letter-spacing:-.02em}.form-field>span,.form-field>label,.admin-form>label,.modal-sheet label>span:first-child{font-size:var(--type-body)}.form-field input,.form-field select,.form-field textarea,.modal-sheet input,.modal-sheet select,.modal-sheet textarea,.admin-form input,.admin-form select{border-radius:var(--radius-control);font-size:var(--type-body);min-height:var(--control-height);background:#fff;border-color:#cfd5cf}.form-field small,.modal-sheet small{font-size:var(--type-status)}.admin-shell,.account-settings-page{background:var(--lm-canvas)}.admin-shell{padding:36px clamp(20px,4vw,64px) 74px}.admin-topbar h1,.account-profile-heading h1{letter-spacing:-.03em;font-size:clamp(32px,4vw,48px);font-weight:550}.admin-panel,.account-card-panel{background:var(--lm-paper);border:1px solid var(--lm-rule);border-radius:var(--lm-radius);box-shadow:none}.account-settings-page{justify-content:center;align-items:center;min-height:100vh;padding:32px 18px;display:flex}.account-card-panel{width:100%;max-width:680px;padding:44px}@media (width<=1120px){.side-rail{width:224px}.app-main{margin-left:224px}.brand-copy{display:none!important}.portfolio-focus{grid-template-columns:1fr}.portfolio-focus-items article:first-child{border-left:0;padding-left:0}.portfolio-list-head,.portfolio-project-row{grid-template-columns:minmax(220px,1.6fr) minmax(140px,1fr) minmax(145px,.9fr) minmax(90px,.55fr) 18px}.portfolio-list-head>span:nth-child(4),.portfolio-project-row>.project-row-next{display:none}}@media (width<=900px){body:before{top:66px}.side-rail{display:none}.app-main{margin-left:0}.topbar{height:66px;padding:0 18px}.mobile-brand{display:block}.mobile-brand .brand-mark{box-shadow:none;width:38px;height:38px}.today-label,.topbar .secondary-button,.topbar .team-logout-button,.topbar-create{display:none}.content-area,.portfolio-content{padding:24px 18px 94px}.portfolio-focus{padding:22px}.portfolio-metrics,.client-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-metric+.portfolio-metric,.client-summary-grid>button+button{border-left:0}.portfolio-metric:nth-child(2n),.client-summary-grid>button:nth-child(2n){border-left:1px solid var(--lm-rule-soft)}.portfolio-metric:nth-child(n+3),.client-summary-grid>button:nth-child(n+3){border-top:1px solid var(--lm-rule-soft)}.portfolio-list-toolbar,.portfolio-filters{flex-direction:column;align-items:stretch}.project-search{width:100%}.project-hero,.client-progress-hero{min-height:0;padding:28px 24px}.client-home-grid,.client-progress-hero{grid-template-columns:1fr}.client-progress-ring{margin:0}}@media (width<=640px){body{font-size:15px}.topbar{gap:11px;padding:0 13px}.portfolio-breadcrumb span{display:none}.portfolio-breadcrumb strong,.project-switcher strong{text-overflow:ellipsis;white-space:nowrap;max-width:48vw;font-size:13px;overflow:hidden}.portfolio-heading{align-items:flex-start}.portfolio-heading h1{font-size:31px}.heading-create{display:none}.portfolio-focus{gap:18px;padding:21px 19px}.portfolio-focus-intro strong{font-size:22px}.portfolio-focus-items{grid-template-columns:1fr}.portfolio-focus-items article,.portfolio-focus-items article:first-child{border-top:1px solid #ffffff21;border-left:0;grid-template-columns:1fr auto;align-items:center;gap:5px 12px;padding:12px 0}.portfolio-focus-items article strong{grid-area:1/2/span 2}.portfolio-focus-items article small{grid-column:1}.portfolio-metrics{margin-bottom:14px}.portfolio-metric{min-height:105px;padding:16px}.portfolio-metric span{font-size:11px}.portfolio-list{border-left:0;border-right:0;border-radius:0;margin-inline:-18px}.portfolio-list-toolbar,.portfolio-project-row{padding:18px}.project-hero,.client-progress-hero{border-radius:18px}.hero-copy h1,.client-progress-copy h2,.client-home-welcome h1{font-size:30px}.client-summary-grid>button{min-height:112px;padding:15px}.client-summary-grid>button>span{width:38px;height:38px}.client-action-card,.client-appointment-card,.client-latest-card,.client-document-card,.client-design-card{padding:20px}.client-action-list>button{grid-template-columns:1fr auto;gap:8px 12px;padding:14px 0}.client-action-date,.client-action-list>button>span:nth-child(2){grid-column:1}.client-action-list button i{grid-area:1/2/span 2}.client-document-title{grid-template-columns:auto minmax(0,1fr)}.client-document-title>a{grid-column:1/-1;justify-self:start}.modal-sheet{border-radius:18px 18px 0 0}.account-card-panel{padding:28px 22px}.mobile-nav{-webkit-backdrop-filter:none;backdrop-filter:none;border-color:var(--lm-rule);height:calc(72px + env(safe-area-inset-bottom));padding-bottom:calc(8px + env(safe-area-inset-bottom));background:#fbfaf6fa}.mobile-nav button{color:var(--lm-muted);gap:4px;font-size:12px;font-weight:650}.mobile-nav button>.nav-icon{color:currentColor;height:19px;width:19px!important}.mobile-nav button.active{color:var(--lm-clay)}.mobile-nav .mobile-add{background:var(--lm-clay);box-shadow:0 10px 24px #9f472c38}}.page-title-row h1,.follow-up-page-header h1,.account-profile-heading h1{font-family:var(--font-heading);font-size:var(--type-page-title);font-weight:var(--weight-heading);letter-spacing:var(--tracking-heading);line-height:var(--leading-heading)}.follow-up-embedded .follow-up-page-header h2,.client-card-heading h2,.commercial-overview-heading h2{font-family:var(--font-heading);font-size:var(--type-section-title);font-weight:var(--weight-heading);letter-spacing:var(--tracking-heading);line-height:var(--leading-heading);margin:0}.card .section-heading h2,.setup-readiness-card .section-heading h2,.renderings-card .section-heading h2,.project-documents-card .section-heading h2{font-family:var(--font-heading);font-size:var(--type-card-title);font-weight:var(--weight-heading);letter-spacing:var(--tracking-heading);line-height:var(--leading-heading)}.follow-up-page-header>div:first-child>p:last-child,.commercial-overview-heading p{color:var(--lm-muted);font-size:var(--type-meta);line-height:var(--leading-body)}.client-options-page{--ink:#20352e;--forest:#18352b;--clay:#c46645;--paper:#fffdfa;--cream:#f3f0e8;--sage:#6f8d7c;--line:#dcddd5;--muted:#778079;color:var(--ink);background:#eae6de;min-height:100vh;padding:34px}.client-options-page *{box-sizing:border-box}.client-options-page button,.client-options-page a{font:inherit}.client-options-intro{justify-content:space-between;align-items:end;max-width:1280px;margin:0 auto 20px;display:flex}.client-options-intro small,.client-page-title>small{color:var(--clay);letter-spacing:.16em;font-size:9px;font-weight:800}.client-options-intro h1{letter-spacing:-.04em;margin:8px 0;font-family:Georgia,Noto Serif TC,serif;font-size:clamp(30px,4vw,52px);font-weight:500}.client-options-intro p{color:var(--muted);margin:0;font-size:13px}.client-options-intro a{color:var(--ink);border-bottom:1px solid;font-size:11px;text-decoration:none}.client-option-tabs{grid-template-columns:repeat(3,1fr);gap:10px;max-width:1280px;margin:0 auto 12px;display:grid}.client-option-tabs button{color:var(--ink);cursor:pointer;text-align:left;background:#ffffff8c;border:1px solid #d1d1ca;border-radius:13px;align-items:center;gap:12px;padding:13px 16px;display:flex}.client-option-tabs button.active{background:var(--forest);border-color:var(--forest);color:#fff;box-shadow:0 10px 24px #18352b29}.client-option-tabs b{color:var(--clay);font-family:Georgia,serif;font-size:19px}.client-option-tabs span{flex-direction:column;gap:2px;display:flex}.client-option-tabs strong{font-size:13px}.client-option-tabs small{color:inherit;opacity:.7;font-size:9px}.client-preview-stage{background:#ded9cf;border:1px solid #ccc9c1;border-radius:20px;grid-template-columns:280px minmax(360px,560px);justify-content:center;align-items:start;gap:42px;max-width:1280px;min-height:900px;margin:0 auto;padding:40px;display:grid;position:relative;overflow:hidden}.client-preview-stage:before{content:"";border:1px solid #4451491a;border-radius:50%;width:480px;height:480px;position:absolute;top:-210px;left:-230px}.client-preview-stage>aside{z-index:1;background:#fffdfac7;border:1px solid #fff9;border-radius:14px;padding:24px;position:sticky;top:20px}.client-preview-stage>aside>small{color:var(--clay);letter-spacing:.15em;font-size:8px;font-weight:800}.client-preview-stage>aside h2{margin:8px 0;font-family:Georgia,Noto Serif TC,serif;font-size:25px;font-weight:500}.client-preview-stage>aside p{color:#67706a;font-size:11px;line-height:1.7}.client-preview-stage>aside ul{color:#536058;border-top:1px solid #d8d6cf;margin:18px 0;padding:14px 0 0;font-size:10px;line-height:2;list-style:none}.client-preview-stage>aside li:before{color:var(--sage);content:"✓";margin-right:8px}.client-preview-stage>aside button{background:var(--clay);color:#fff;cursor:pointer;border:0;border-radius:8px;width:100%;padding:11px 14px;font-size:10px}.client-device-wrap{width:100%}.client-phone{background:var(--cream);border:8px solid #f8f7f3;border-radius:28px;width:100%;min-height:815px;padding-bottom:68px;position:relative;overflow:hidden;box-shadow:0 28px 70px #2a2c2633}.client-phone>header{border-bottom:1px solid var(--line);background:#fffdfaf5;justify-content:space-between;align-items:center;height:68px;padding:0 18px;display:flex}.client-brand{align-items:center;gap:10px;display:flex}.client-brand>span{background:var(--clay);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;font-family:Felix Titling,Georgia,serif;font-size:19px;display:flex}.client-brand p{flex-direction:column;margin:0;display:flex}.client-brand strong{letter-spacing:.08em;font-family:Georgia,serif;font-size:11px}.client-brand small{color:var(--muted);letter-spacing:.12em;font-size:6px}.client-phone>header>button{color:var(--clay);background:#f1e5df;border:0;border-radius:50%;justify-content:center;align-items:center;width:31px;height:31px;font-size:9px;display:flex}.client-mobile-nav{border-top:1px solid var(--line);z-index:5;background:#fff;grid-template-columns:repeat(5,1fr);height:66px;display:grid;position:absolute;bottom:0;left:0;right:0}.client-mobile-nav button{color:#8b918d;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:7px;display:flex}.client-mobile-nav i{font-size:15px;font-style:normal}.client-mobile-nav button.active{color:var(--clay);font-weight:800}.client-home-view,.client-journey-view,.client-selection-view{padding:16px}.client-project-hero{background:var(--forest);color:#fff;border-radius:15px;grid-template-columns:1fr auto;align-items:center;min-height:155px;padding:20px;display:grid;position:relative;overflow:hidden}.client-project-hero:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:190px;height:190px;position:absolute;top:-65px;right:-75px}.client-project-hero small{color:#bccbc4;letter-spacing:.06em;font-size:7px}.client-project-hero h2{margin:8px 0;font-family:Georgia,Noto Serif TC,serif;font-size:25px;font-weight:500}.client-project-hero p{color:#c9d3ce;margin:0;font-size:8px}.client-progress-ring{background:conic-gradient(var(--clay) 0 42%,#ffffff29 42%);z-index:1;border-radius:50%;justify-content:center;align-items:center;width:86px;height:86px;display:flex;position:relative}.client-progress-ring:after{background:var(--forest);content:"";border-radius:50%;width:68px;height:68px;position:absolute}.client-progress-ring>span{color:#fff;z-index:1;flex-direction:column;align-items:center;display:flex;position:relative}.client-progress-ring b{font-family:Georgia,serif;font-size:20px}.client-progress-ring small{color:#c7d2cd;font-size:6px}.client-now-card,.client-action-card,.client-two-cards article,.client-contact,.client-design-feature,.client-file-strip,.client-material-section{background:var(--paper);border:1px solid var(--line);border-radius:12px;margin-top:10px}.client-section-heading{justify-content:space-between;align-items:center;padding:12px 14px 8px;display:flex}.client-section-heading span{font-size:9px;font-weight:800}.client-section-heading small{color:var(--muted);font-size:7px}.client-now-main{grid-template-columns:4px 1fr auto;align-items:center;gap:10px;padding:8px 14px 12px;display:grid}.client-now-main>i{background:var(--sage);border-radius:4px;height:43px}.client-now-main div{flex-direction:column;display:flex}.client-now-main small{color:var(--sage);font-size:7px}.client-now-main h3{margin:4px 0;font-size:12px}.client-now-main p{color:var(--muted);margin:0;font-size:7px}.client-now-main>b{color:#537060;background:#e5ede8;border-radius:99px;padding:6px 8px;font-size:7px}.client-stage-track{grid-template-columns:repeat(10,1fr);gap:4px;padding:0 14px 13px;display:grid}.client-stage-track i{background:#dde1dd;border-radius:3px;height:4px}.client-stage-track i:nth-child(-n+3){background:var(--sage)}.client-stage-track i.current{background:var(--clay)}.client-action-card>div:first-child{border-bottom:1px solid #ebeae5;justify-content:space-between;align-items:center;padding:11px 14px;display:flex}.client-action-card>div span{color:var(--clay);font-size:9px;font-weight:800}.client-action-card>div b{background:var(--clay);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:7px;display:flex}.client-action-card article{border-bottom:1px solid #ebeae5;grid-template-columns:48px 1fr auto;align-items:center;gap:9px;padding:11px 14px;display:grid}.client-action-card article:last-child{border:0}.client-action-card time{color:var(--clay);font-size:7px}.client-action-card article p{flex-direction:column;margin:0;display:flex}.client-action-card strong{font-size:9px}.client-action-card article small{color:var(--muted);margin-top:3px;font-size:7px}.client-action-card article button,.client-contact button{color:var(--ink);background:#f2f2ed;border:0;border-radius:6px;padding:7px;font-size:7px}.client-two-cards{grid-template-columns:1fr 1fr;gap:10px;display:grid}.client-two-cards article{padding:12px}.client-two-cards span{color:var(--muted);font-size:7px}.client-two-cards h3{margin:8px 0 4px;font-size:10px}.client-two-cards p{color:var(--muted);margin:0;font-size:7px}.client-two-cards small{color:#4f795f;font-size:7px}.client-two-cards button{color:var(--clay);background:0 0;border:0;padding:6px 0 0;font-size:7px}.client-contact{grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:11px 13px;display:grid}.client-contact>b{background:#dfd4c6;border-radius:50%;justify-content:center;align-items:center;height:31px;font-size:8px;display:flex}.client-contact p{flex-direction:column;margin:0;display:flex}.client-contact small{color:var(--muted);font-size:6px}.client-contact strong{margin-top:2px;font-size:8px}.client-page-title{padding:10px 4px 14px}.client-page-title h2{margin:7px 0;font-family:Georgia,Noto Serif TC,serif;font-size:24px;font-weight:500;line-height:1.2}.client-page-title p{color:var(--muted);margin:0;font-size:8px}.client-journey-summary{background:var(--forest);border-radius:13px;align-items:center;gap:17px;padding:15px;display:flex}.client-journey-summary .client-progress-ring{width:76px;height:76px}.client-journey-summary .client-progress-ring:after{width:60px;height:60px}.client-journey-summary>p{color:#fff;flex-direction:column;margin:0;display:flex}.client-journey-summary>p span{color:#b9c9c1;font-size:7px}.client-journey-summary>p strong{margin:5px 0;font-family:Georgia,Noto Serif TC,serif;font-size:15px;font-weight:500}.client-journey-summary>p small{color:#b9c9c1;font-size:7px}.client-timeline{margin:16px 0 0 14px}.client-timeline article{grid-template-columns:24px 55px 1fr;gap:12px;min-height:86px;display:grid;position:relative}.client-timeline article:before{content:"";background:#d3d6d2;width:1px;height:100%;position:absolute;top:18px;left:10px}.client-timeline article:last-child:before{display:none}.client-timeline article>i{z-index:1;background:#fff;border:2px solid #c9cdc9;border-radius:50%;justify-content:center;align-items:center;height:21px;font-size:7px;font-style:normal;display:flex;position:relative}.client-timeline article.done>i{background:var(--sage);border-color:var(--sage);color:#fff}.client-timeline article.current>i{background:var(--clay);border:5px solid #ead5cc}.client-timeline time{color:var(--muted);padding-top:5px;font-size:7px}.client-timeline article>div h3{margin:3px 0 5px;font-size:10px}.client-timeline article>div p{color:var(--muted);margin:0;font-size:7px;line-height:1.5}.client-timeline article.future{opacity:.55}.client-timeline button{color:var(--clay);background:#f0ebe5;border:0;border-radius:5px;margin-top:7px;padding:6px 8px;font-size:7px}.client-full-schedule{color:var(--ink);background:0 0;border:1px solid #aeb5b0;border-radius:8px;width:100%;padding:10px;font-size:8px}.client-design-feature{grid-template-columns:1.1fr 1fr;display:grid;overflow:hidden}.client-room-art{background:#c8d1cb;min-height:150px;position:relative;overflow:hidden}.client-room-art:before,.client-room-art:after,.client-room-art i{content:"";background:#ffffffb3;position:absolute;transform:skewY(-10deg)}.client-room-art:before{width:48%;height:70px;bottom:20px;left:15%}.client-room-art:after{width:33%;height:48px;bottom:26px;right:8%}.client-room-art i:first-of-type{background:#22352d26;width:80%;height:5px;bottom:18px;left:9%}.client-room-art span{color:var(--clay);z-index:1;background:#ffffffd9;border-radius:5px;padding:5px;font-size:7px;position:absolute;top:9px;left:9px}.client-design-feature>div:last-child{flex-direction:column;justify-content:center;padding:13px;display:flex}.client-design-feature small{color:var(--muted);font-size:6px}.client-design-feature h3{margin:8px 0 4px;font-family:Georgia,Noto Serif TC,serif;font-size:14px;font-weight:500}.client-design-feature p{color:var(--muted);margin:0 0 12px;font-size:7px}.client-design-feature button{background:var(--clay);color:#fff;border:0;border-radius:6px;padding:8px;font-size:7px}.client-file-strip{grid-template-columns:repeat(3,1fr);gap:7px;padding:9px;display:grid}.client-file-strip article{background:#f1f0eb;border-radius:7px;flex-direction:column;min-height:72px;padding:9px;display:flex}.client-file-strip article span{color:var(--clay);font-size:6px}.client-file-strip article strong{margin:auto 0 3px;font-size:8px}.client-file-strip article small{color:var(--muted);font-size:6px}.client-material-section{overflow:hidden}.client-material-section .client-section-heading{border-bottom:1px solid #ebeae5}.client-material-section .client-section-heading>div{flex-direction:column;display:flex}.client-material-section .client-section-heading button{background:var(--forest);color:#fff;border:0;border-radius:6px;padding:8px;font-size:7px}.client-material-filter{gap:5px;padding:9px 12px;display:flex;overflow-x:auto}.client-material-filter button{color:var(--muted);background:#f1f0eb;border:0;border-radius:99px;flex:none;padding:7px 9px;font-size:7px}.client-material-filter button.active{color:var(--clay);background:#e9d9d1}.client-material-list article{border-top:1px solid #eeede8;grid-template-columns:42px 1fr auto;align-items:center;gap:9px;padding:9px 12px;display:grid}.client-material-art{color:#6f6559;background:#ddd3c5;border-radius:7px;justify-content:center;align-items:center;height:42px;font-size:6px;display:flex}.client-material-art.urgent{color:#a85035;background:#ead6cd}.client-material-art.ordered{color:#4e715f;background:#dce7e1}.client-material-art.confirmed{color:#78653f;background:#e9e0ce}.client-material-list p{flex-direction:column;margin:0;display:flex}.client-material-list strong{font-size:9px}.client-material-list small{color:var(--muted);margin:3px 0;font-size:7px}.client-material-list span{width:fit-content;font-size:6px}.client-material-list span.urgent{color:var(--clay)}.client-material-list span.ordered,.client-material-list span.confirmed{color:#4d755f}.client-material-list article>button{color:#90958f;background:0 0;border:0}.client-options-page>footer{color:var(--muted);max-width:1280px;margin:12px auto 0;font-size:9px}.client-options-page>footer p{margin:0}@media (width<=860px){.client-options-page{padding:16px}.client-options-intro{flex-direction:column;align-items:start;gap:12px}.client-option-tabs{scroll-snap-type:x mandatory;padding-bottom:4px;display:flex;overflow-x:auto}.client-option-tabs button{scroll-snap-align:start;flex:0 0 230px}.client-preview-stage{padding:18px;display:block}.client-preview-stage>aside{margin-bottom:18px;position:static}.client-device-wrap{max-width:520px;margin:0 auto}}@media (width<=520px){.client-options-page{padding:9px}.client-options-intro h1{font-size:31px}.client-preview-stage{border-radius:14px;padding:8px}.client-preview-stage>aside{padding:16px}.client-phone{border-width:4px;border-radius:20px}.client-project-hero{grid-template-columns:1fr auto;padding:15px}.client-progress-ring{width:72px;height:72px}.client-progress-ring:after{width:57px;height:57px}.client-action-card article{grid-template-columns:42px 1fr}.client-action-card article>button{grid-column:2;width:fit-content}.client-design-feature{grid-template-columns:1fr}.client-room-art{min-height:170px}.client-phone{min-height:790px}}.client-schedule-sheet{background:var(--paper);border:1px solid var(--line);border-radius:10px;margin-top:9px;overflow:hidden}.client-schedule-sheet>header{background:#f0ede6;justify-content:space-between;align-items:end;padding:11px 12px;display:flex}.client-schedule-sheet>header small{color:var(--clay);letter-spacing:.12em;font-size:6px}.client-schedule-sheet>header h3{margin:3px 0 0;font-family:Georgia,Noto Serif TC,serif;font-size:12px;font-weight:500}.client-schedule-sheet>header>span{color:var(--muted);font-size:6px}.client-schedule-sheet article{border-top:1px solid #ebeae5;grid-template-columns:62px 1fr auto;align-items:center;gap:9px;padding:9px 12px;display:grid}.client-schedule-sheet article.important{background:#fbf2ed}.client-schedule-sheet time{color:var(--muted);font-size:7px}.client-schedule-sheet article p{flex-direction:column;margin:0;display:flex}.client-schedule-sheet article strong{font-size:8px}.client-schedule-sheet article small{color:var(--muted);margin-top:2px;font-size:6px}.client-schedule-sheet article>b{background:#edf0ec;border-radius:99px;padding:5px 7px;font-size:6px}.client-schedule-sheet article.important>b{color:var(--clay);background:#ecd9d0}.client-dialog-backdrop{z-index:20;background:#16231e7a;justify-content:center;align-items:flex-end;padding:10px;display:flex;position:absolute;inset:0}.client-journey-dialog{background:#fffdfa;border-radius:18px 18px 12px 12px;width:100%;padding:22px 18px 16px;animation:.2s ease-out client-sheet-up;position:relative;box-shadow:0 -14px 38px #141f1b38}.client-dialog-close{color:#68716b;background:#eef0ec;border:0;border-radius:50%;justify-content:center;align-items:center;width:29px;height:29px;font-size:16px;display:flex;position:absolute;top:14px;right:14px}.client-journey-dialog>small{color:var(--clay);letter-spacing:.12em;font-size:7px;font-weight:800}.client-journey-dialog h2{margin:7px 34px 8px 0;font-family:Georgia,Noto Serif TC,serif;font-size:20px;font-weight:500}.client-journey-dialog>p{color:var(--muted);font-size:8px;line-height:1.65}.client-progress-photos{grid-template-columns:1fr 1fr;gap:7px;margin:12px 0;display:grid}.client-progress-photos span{background:linear-gradient(140deg,#ccd5cf,#eee9df);border-radius:8px;flex-direction:column;justify-content:flex-end;height:90px;padding:9px;display:flex}.client-progress-photos b{font-size:8px}.client-progress-photos small{color:#59645e;font-size:6px}.client-journey-dialog dl{background:#f2f1ec;border-radius:8px;margin:10px 0;padding:4px 10px}.client-journey-dialog dl>div{border-bottom:1px solid #dfe1dc;justify-content:space-between;padding:7px 0;display:flex}.client-journey-dialog dl>div:last-child{border:0}.client-journey-dialog dt,.client-journey-dialog dd{margin:0;font-size:7px}.client-journey-dialog dt{color:var(--muted)}.client-dialog-primary{background:var(--clay);color:#fff;border:0;border-radius:8px;width:100%;padding:11px;font-size:9px}.client-time-options{gap:6px;margin:12px 0;display:grid}.client-time-options button{color:var(--ink);text-align:left;background:#f3f2ee;border:1px solid #0000;border-radius:8px;padding:10px;font-size:8px}.client-time-options button.selected{background:#f7e9e2;border-color:#d69a83}.client-time-options i{color:var(--clay);margin-right:8px;font-style:normal}.client-journey-dialog label{color:var(--muted);grid-template-columns:1fr auto;gap:5px;margin:11px 0;font-size:7px;display:grid}.client-journey-dialog select{color:var(--ink);background:#f3f2ee;border:1px solid #d9dad4;border-radius:6px;padding:6px;font-size:8px}@keyframes client-sheet-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.client-device-page{--ink:#20332d;--forest:#173229;--clay:#c36545;--paper:#fffdfa;--cream:#f3efe7;--line:#d9d9d1;--muted:#78817b;color:var(--ink);background:#e8e4dc;min-height:100vh;padding:26px 32px 34px;overflow:hidden}.client-device-page *{box-sizing:border-box}.client-device-page button,.client-device-page a{font:inherit}.device-page-header{justify-content:space-between;align-items:center;max-width:1500px;margin:0 auto;display:flex}.device-logo{align-items:center;gap:10px;display:flex}.device-logo>span{background:var(--clay);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;font-family:Felix Titling,Georgia,serif;font-size:21px;display:flex}.device-logo p{flex-direction:column;margin:0;display:flex}.device-logo strong{letter-spacing:.08em;font-family:Georgia,serif;font-size:11px}.device-logo small{color:var(--muted);letter-spacing:.14em;font-size:6px}.device-logo.compact>span{width:30px;height:30px;font-size:15px}.device-page-header nav{gap:18px;display:flex}.device-page-header a{color:var(--ink);border-bottom:1px solid;font-size:10px;text-decoration:none}.device-intro{justify-content:space-between;align-items:end;max-width:1500px;margin:48px auto 30px;display:flex}.device-intro>div:first-child{max-width:720px}.device-intro small,.device-feature-section>header small{color:var(--clay);letter-spacing:.16em;font-size:9px;font-weight:800}.device-intro h1{letter-spacing:-.05em;margin:10px 0 16px;font-family:Georgia,Noto Serif TC,serif;font-size:clamp(38px,5vw,68px);font-weight:500;line-height:1.02}.device-intro p{color:#68736d;max-width:620px;margin:0;font-size:12px;line-height:1.7}.device-focus-switch{background:#ffffff9e;border:1px solid #d0d0c8;border-radius:10px;padding:4px;display:flex}.device-focus-switch button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:9px 13px;font-size:9px}.device-focus-switch button.active{background:var(--forest);color:#fff}.device-showcase{background:#d8d2c8;border:1px solid #c7c4bc;border-radius:24px;grid-template-columns:minmax(0,1fr) 294px;align-items:flex-end;gap:24px;max-width:1500px;min-height:820px;margin:0 auto;padding:42px 44px;display:grid;position:relative;overflow:hidden}.device-showcase:before{content:"";border:1px solid #33463d1a;border-radius:50%;width:620px;height:620px;position:absolute;top:-300px;right:-180px}.ipad-stage,.iphone-stage{z-index:1;transition:all .25s;position:relative}.device-label{color:#69726c;flex-direction:column;font-size:7px;display:flex;position:absolute;top:-29px;left:0}.device-label b{color:var(--ink);font-family:Georgia,serif;font-size:12px}.ipad-device{background:#20221f;border:5px solid #252824;border-radius:23px;width:100%;max-width:1100px;height:680px;padding:10px;position:relative;box-shadow:0 28px 48px #26272247}.ipad-camera{background:#575b56;border-radius:50%;width:4px;height:4px;position:absolute;top:5px;left:50%}.ipad-screen{background:var(--cream);border-radius:11px;grid-template-columns:155px minmax(0,1fr);height:100%;display:grid;overflow:hidden}.ipad-sidebar{background:var(--forest);color:#fff;flex-direction:column;padding:18px 12px 12px;display:flex}.ipad-sidebar .device-logo{margin-bottom:26px}.ipad-sidebar .device-logo strong{color:#fff}.ipad-sidebar .device-logo small{color:#a9bbb3}.ipad-sidebar>p{border-bottom:1px solid #ffffff1f;flex-direction:column;margin:0 0 15px;padding:0 7px 15px;font-family:Georgia,Noto Serif TC,serif;font-size:12px;display:flex}.ipad-sidebar>p small{color:#aebdb6;margin-top:4px;font-family:Arial,sans-serif;font-size:6px}.ipad-sidebar nav{gap:4px;display:grid}.ipad-sidebar nav button{color:#c7d2cd;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;padding:9px;font-size:8px;display:flex}.ipad-sidebar nav button.active{color:#fff;background:#ffffff1f}.ipad-sidebar nav i{width:12px;font-style:normal}.ipad-contact{border-top:1px solid #ffffff1f;grid-template-columns:26px 1fr;align-items:center;gap:6px;margin-top:auto;padding:13px 4px 0;display:grid}.ipad-contact>b{color:var(--forest);background:#ded0bd;border-radius:50%;justify-content:center;align-items:center;height:26px;font-size:7px;display:flex}.ipad-contact span{flex-direction:column;font-size:7px;display:flex}.ipad-contact small{color:#aebdb6;font-size:6px}.ipad-contact button{color:#fff;background:#ffffff1f;border:0;border-radius:5px;grid-column:1/-1;padding:6px;font-size:6px}.ipad-main{padding:17px 20px;overflow:hidden}.ipad-main>header{grid-template-columns:1fr auto auto;align-items:center;margin-bottom:12px;display:grid}.ipad-main>header>div:first-child small{color:var(--clay);letter-spacing:.14em;font-size:6px;font-weight:800}.ipad-main>header h2{margin:4px 0 2px;font-family:Georgia,Noto Serif TC,serif;font-size:18px;font-weight:500}.ipad-main>header p{color:var(--muted);margin:0;font-size:7px}.ipad-main>header>div:nth-child(2){text-align:right;flex-direction:column;margin-right:12px;display:flex}.ipad-main>header>div:nth-child(2) span{color:var(--muted);font-size:6px}.ipad-main>header>div:nth-child(2) strong{font-size:7px}.ipad-main>header>button{color:var(--clay);background:#f0e1d9;border:0;border-radius:50%;width:26px;height:26px;font-size:7px}.ipad-hero{background:var(--forest);color:#fff;border-radius:11px;grid-template-columns:1fr auto;align-items:center;min-height:145px;padding:18px 22px;display:grid;position:relative;overflow:hidden}.ipad-hero:after{content:"";border:1px solid #ffffff1a;border-radius:50%;width:260px;height:260px;position:absolute;top:-135px;right:-95px}.ipad-hero>div>small{color:#a9bdb4;letter-spacing:.13em;font-size:6px}.ipad-hero h1{margin:5px 0;font-family:Georgia,Noto Serif TC,serif;font-size:23px;font-weight:500}.ipad-hero p{color:#bdcbc5;margin:0;font-size:7px}.ipad-stage-line{grid-template-columns:repeat(8,1fr);gap:4px;margin:13px 0 10px;display:grid}.ipad-stage-line i{background:#ffffff26;border-radius:2px;height:3px}.ipad-stage-line i:nth-child(-n+3){background:#8eaa9b}.ipad-stage-line i.current{background:var(--clay)}.ipad-hero footer{align-items:center;gap:8px;display:flex}.ipad-hero footer span{color:#9cafa6;font-size:6px}.ipad-hero footer strong{font-size:7px}.ipad-hero footer b{background:#ffffff1c;border-radius:99px;margin-left:auto;padding:5px 7px;font-size:6px}.device-progress-circle{background:conic-gradient(var(--clay) 0 42%,#ffffff26 42%);z-index:1;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.device-progress-circle.large{width:82px;height:82px}.device-progress-circle.small{width:68px;height:68px}.device-progress-circle:after{background:var(--forest);content:"";border-radius:50%;width:78%;height:78%;position:absolute}.device-progress-circle span{color:#fff;z-index:1;flex-direction:column;align-items:center;display:flex;position:relative}.device-progress-circle b{font-family:Georgia,serif;font-size:19px}.device-progress-circle small{color:#b8c7c0;font-size:5px}.ipad-dashboard-grid{grid-template-columns:1.2fr .8fr;gap:9px;margin-top:9px;display:grid}.ipad-action-panel,.ipad-next-panel,.ipad-journey,.ipad-photos{background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden}.ipad-action-panel>header,.ipad-next-panel>header,.ipad-journey>header,.ipad-photos>header{border-bottom:1px solid #e8e7e2;justify-content:space-between;align-items:center;padding:9px 11px;display:flex}.ipad-action-panel header small,.ipad-next-panel header small,.ipad-journey header small,.ipad-photos header small{color:var(--clay);letter-spacing:.12em;font-size:5px;font-weight:800}.ipad-action-panel header h3,.ipad-next-panel header h3,.ipad-journey header h3,.ipad-photos header h3{margin:2px 0 0;font-family:Georgia,Noto Serif TC,serif;font-size:11px;font-weight:500}.ipad-action-panel>header>span{background:var(--clay);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:19px;height:19px;font-size:6px;display:flex}.ipad-action-panel article{border-bottom:1px solid #ecebe6;grid-template-columns:45px 1fr auto;align-items:center;gap:7px;padding:8px 11px;display:grid}.ipad-action-panel article:last-child{border:0}.ipad-action-panel time{color:var(--clay);font-size:6px}.ipad-action-panel article p{flex-direction:column;margin:0;display:flex}.ipad-action-panel article strong{font-size:7px}.ipad-action-panel article small{color:var(--muted);margin-top:2px;font-size:5px}.ipad-action-panel article button{background:#eff0eb;border:0;border-radius:4px;padding:5px 7px;font-size:5px}.ipad-next-panel>div{grid-template-columns:42px 1fr;align-items:center;gap:7px;padding:9px 11px;display:grid}.ipad-next-panel>div+div{border-top:1px solid #ecebe6}.ipad-next-panel>div>span{color:var(--clay);font-family:Georgia,serif;font-size:8px}.ipad-next-panel p{flex-direction:column;margin:0;display:flex}.ipad-next-panel strong{font-size:7px}.ipad-next-panel small{color:var(--muted);font-size:5px}.ipad-lower-grid{grid-template-columns:1.05fr 1fr;gap:9px;margin-top:9px;display:grid}.ipad-journey header button,.ipad-photos header button{color:var(--muted);background:0 0;border:0;font-size:5px}.ipad-journey>div{justify-content:space-between;padding:13px 11px;display:flex;position:relative}.ipad-journey>div:before{content:"";background:#daddd8;height:1px;position:absolute;top:23px;left:22px;right:22px}.ipad-journey article{text-align:center;flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.ipad-journey article i{z-index:1;background:#fff;border:2px solid #cfd3cf;border-radius:50%;width:18px;height:18px}.ipad-journey article.done i{color:#fff;background:#718f7e;border-color:#718f7e;justify-content:center;align-items:center;font-size:6px;display:flex}.ipad-journey article.current i{background:var(--clay);border:4px solid #edd8cf}.ipad-journey article p{flex-direction:column;margin:6px 0 0;display:flex}.ipad-journey article strong{font-size:6px}.ipad-journey article small{color:var(--muted);font-size:5px}.ipad-photos>div{grid-template-columns:repeat(3,1fr);gap:5px;padding:9px;display:grid}.ipad-photos>div span{background:linear-gradient(140deg,#c6d1ca,#ece6da);border-radius:6px;flex-direction:column;justify-content:flex-end;height:73px;padding:7px;display:flex}.ipad-photos>div b{font-size:6px}.ipad-photos>div small{color:#5f6a64;font-size:5px}.iphone-device{background:#222421;border:5px solid #272925;border-radius:40px;width:286px;height:650px;margin-left:auto;padding:8px;position:relative;box-shadow:0 28px 48px #2627224d}.iphone-island{z-index:3;background:#111;border-radius:14px;width:78px;height:18px;position:absolute;top:13px;left:50%;transform:translate(-50%)}.iphone-screen{background:var(--cream);border-radius:28px;height:100%;padding-bottom:54px;position:relative;overflow:hidden}.iphone-screen>header{background:var(--paper);border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:9px;height:61px;padding:15px 13px 7px;display:grid}.iphone-screen>header>div:nth-child(2){flex-direction:column;display:flex}.iphone-screen>header small{color:var(--muted);font-size:5px}.iphone-screen>header strong{font-family:Georgia,Noto Serif TC,serif;font-size:10px}.iphone-screen>header>button{color:var(--clay);background:#f1e2db;border:0;border-radius:50%;width:25px;height:25px;font-size:6px}.iphone-screen>main{padding:10px}.iphone-welcome{background:var(--forest);color:#fff;border-radius:11px;grid-template-columns:1fr auto;align-items:center;min-height:125px;padding:14px;display:grid}.iphone-welcome small{color:#afc1b9;font-size:5px}.iphone-welcome h2{margin:5px 0;font-family:Georgia,Noto Serif TC,serif;font-size:16px;font-weight:500;line-height:1.2}.iphone-welcome p{color:#afc1b9;margin:0;font-size:5px}.iphone-current,.iphone-action,.iphone-update{background:var(--paper);border:1px solid var(--line);border-radius:9px;margin-top:7px;overflow:hidden}.iphone-current>header,.iphone-action>header{border-bottom:1px solid #e8e7e2;justify-content:space-between;align-items:center;padding:8px 9px;display:flex}.iphone-current>header span,.iphone-action>header span{font-size:7px;font-weight:800}.iphone-current>header b{color:var(--muted);font-size:5px}.iphone-current>div{grid-template-columns:3px 1fr auto;align-items:center;gap:7px;padding:8px 9px;display:grid}.iphone-current>div>i{background:#6f907e;border-radius:2px;height:35px}.iphone-current p{flex-direction:column;margin:0;display:flex}.iphone-current p small{color:#587565;font-size:5px}.iphone-current p strong{margin:2px 0;font-size:7px}.iphone-current p span{color:var(--muted);font-size:5px}.iphone-current em{color:#547060;background:#e3ece7;border-radius:99px;padding:4px 5px;font-size:5px;font-style:normal}.iphone-current>button{background:#f1f0eb;border:0;border-radius:5px;width:calc(100% - 18px);margin:0 9px 8px;padding:6px;font-size:6px}.iphone-action>header b{background:var(--clay);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;font-size:5px;display:flex}.iphone-action article{border-top:1px solid #ecebe6;grid-template-columns:38px 1fr auto;align-items:center;gap:6px;padding:7px 9px;display:grid}.iphone-action time{color:var(--clay);font-size:5px}.iphone-action article p{flex-direction:column;margin:0;display:flex}.iphone-action article strong{font-size:6px}.iphone-action article small{color:var(--muted);font-size:5px}.iphone-action article>button{color:#929791;background:0 0;border:0}.iphone-update{padding:8px 9px}.iphone-update>span{font-size:7px;font-weight:800}.iphone-update>div{grid-template-columns:repeat(3,1fr);gap:4px;margin:7px 0;display:grid}.iphone-update>div i{background:linear-gradient(140deg,#c4cec8,#eae4d9);border-radius:5px;height:49px}.iphone-update>p{justify-content:space-between;align-items:center;margin:0;display:flex}.iphone-update>p strong{font-size:5px}.iphone-update>p button{color:var(--clay);background:0 0;border:0;font-size:5px}.iphone-screen>nav{border-top:1px solid var(--line);background:#fff;grid-template-columns:repeat(5,1fr);height:52px;display:grid;position:absolute;bottom:0;left:0;right:0}.iphone-screen>nav button{color:#8a918d;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:5px;display:flex}.iphone-screen>nav button.active{color:var(--clay)}.iphone-screen>nav i{font-size:10px;font-style:normal}.device-showcase.focus-ipad{grid-template-columns:1fr}.focus-ipad .iphone-stage{display:none}.device-showcase.focus-iphone{grid-template-columns:1fr}.focus-iphone .ipad-stage{display:none}.focus-iphone .iphone-stage{justify-self:center}.device-feature-section{max-width:1500px;margin:75px auto 0}.device-feature-section>header{justify-content:space-between;align-items:end;margin-bottom:23px;display:flex}.device-feature-section>header h2{margin:6px 0 0;font-family:Georgia,Noto Serif TC,serif;font-size:34px;font-weight:500}.device-feature-section>header p{color:var(--muted);max-width:430px;margin:0;font-size:10px;line-height:1.6}.device-feature-section>div{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.device-feature-section article{background:#fffdfab8;border:1px solid #d3d3cc;border-radius:12px;grid-template-columns:38px 1fr;align-items:start;gap:12px;min-height:136px;padding:17px;display:grid}.device-feature-section article>span{color:var(--clay);background:#e7e0d5;border-radius:9px;justify-content:center;align-items:center;height:36px;font-size:15px;display:flex}.device-feature-section article div>small{color:var(--clay);font-family:Georgia,serif;font-size:9px}.device-feature-section article h3{margin:5px 0 7px;font-size:13px}.device-feature-section article p{color:var(--muted);margin:0;font-size:9px;line-height:1.6}.device-permission-note{grid-template-columns:1fr 1fr;gap:10px;max-width:1500px;margin:28px auto 0;display:grid}.device-permission-note>div{background:var(--forest);color:#fff;border-radius:10px;padding:17px 20px}.device-permission-note>div+div{background:#734e42}.device-permission-note small{color:#b8c8c1;letter-spacing:.12em;font-size:7px}.device-permission-note p{margin:7px 0 0;font-size:10px}.device-page-footer{color:var(--muted);justify-content:space-between;max-width:1500px;margin:16px auto 0;font-size:8px;display:flex}@media (width<=1050px){.client-device-page{padding:20px}.device-showcase{grid-template-columns:1fr;align-items:center;padding:38px 24px;overflow:visible}.iphone-stage{justify-self:center;margin-top:50px}.ipad-device{height:600px}.device-feature-section>div{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.client-device-page{padding:14px}.device-page-header nav{display:none}.device-intro{flex-direction:column;align-items:start;gap:18px;margin:32px auto 20px}.device-intro h1{font-size:38px}.device-focus-switch{width:100%}.device-focus-switch button{flex:1}.device-showcase{border-radius:16px;padding:35px 8px 20px}.ipad-device{height:420px}.ipad-screen{grid-template-columns:72px 1fr}.ipad-sidebar{padding:10px 5px}.ipad-sidebar .device-logo p,.ipad-sidebar>p,.ipad-sidebar nav button span,.ipad-contact span,.ipad-contact button{display:none}.ipad-sidebar nav button,.ipad-sidebar .device-logo{justify-content:center}.ipad-sidebar .device-logo>span{width:28px;height:28px;font-size:13px}.ipad-main{padding:9px}.ipad-dashboard-grid,.ipad-lower-grid{grid-template-columns:1fr}.ipad-next-panel,.ipad-lower-grid{display:none}.ipad-hero{min-height:120px;padding:12px}.ipad-hero h1{font-size:17px}.ipad-main>header h2{font-size:13px}.ipad-action-panel article{grid-template-columns:35px 1fr}.ipad-action-panel article button{display:none}.iphone-stage,.device-feature-section{margin-top:45px}.device-feature-section>header{flex-direction:column;align-items:start;gap:10px}.device-feature-section>div,.device-permission-note{grid-template-columns:1fr}.device-page-footer{flex-direction:column;align-items:start;gap:4px}}.ipad-schedule-main{padding:17px 18px;overflow:hidden}.ipad-schedule-header{grid-template-columns:1fr auto auto;align-items:center;margin-bottom:12px;display:grid}.ipad-schedule-header>div:first-child>small{color:var(--clay);letter-spacing:.14em;font-size:6px;font-weight:800}.ipad-schedule-header h2{margin:3px 0 2px;font-family:Georgia,Noto Serif TC,serif;font-size:20px;font-weight:500}.ipad-schedule-header p{color:var(--muted);margin:0;font-size:7px}.ipad-schedule-tools{border:1px solid var(--line);background:#fff;border-radius:6px;align-items:center;margin-right:10px;display:flex}.ipad-schedule-tools button{color:var(--muted);background:0 0;border:0;padding:7px 9px;font-size:9px}.ipad-schedule-tools strong{border-left:1px solid var(--line);border-right:1px solid var(--line);padding:8px 12px;font-size:7px}.ipad-notice{color:var(--clay);background:#f1e2db;border:0;border-radius:50%;width:26px;height:26px;font-size:6px}.ipad-schedule-summary{grid-template-columns:1.05fr 1fr 1.25fr 1fr;gap:7px;margin-bottom:8px;display:grid}.ipad-schedule-summary>div{background:var(--paper);border:1px solid var(--line);border-radius:7px;flex-direction:column;min-height:66px;padding:9px;display:flex}.ipad-schedule-summary span{color:var(--muted);font-size:5px}.ipad-schedule-summary strong{margin:5px 0 2px;font-family:Georgia,Noto Serif TC,serif;font-size:11px;font-weight:500}.ipad-schedule-summary>div:first-child strong{font-size:17px}.ipad-schedule-summary small{color:var(--muted);font-size:5px}.ipad-schedule-summary i{background:#e2e5e0;border-radius:4px;height:3px;margin-top:auto;overflow:hidden}.ipad-schedule-summary em{background:var(--sage);width:42%;height:100%;display:block}.ipad-week-calendar{background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden}.ipad-week-calendar>header{grid-template-columns:repeat(7,1fr);margin-left:115px;display:grid}.ipad-week-calendar>header>div{border-left:1px solid #e8e7e2;grid-template-columns:1fr auto;align-items:center;min-height:44px;padding:6px 7px;display:grid}.ipad-week-calendar>header small{color:var(--muted);font-size:5px}.ipad-week-calendar>header strong{grid-row:1/3;font-family:Georgia,serif;font-size:13px}.ipad-week-calendar>header span{color:var(--clay);font-size:5px}.ipad-week-calendar>header .today{background:var(--clay);color:#fff}.ipad-week-calendar>header .today small,.ipad-week-calendar>header .today span{color:#fff}.ipad-calendar-grid{grid-template-columns:115px 1fr;display:grid}.calendar-row-label{border-top:1px solid #e8e7e2;flex-direction:column;min-height:48px;padding:8px 10px;display:flex}.calendar-row-label b{font-size:7px}.calendar-row-label small{color:var(--muted);margin-top:3px;font-size:5px}.calendar-days{background:repeating-linear-gradient(90deg,#0000 0 calc(14.2857% - 1px),#e8e7e2 calc(14.2857% - 1px) 14.2857%);border-top:1px solid #e8e7e2;grid-template-columns:repeat(7,1fr);min-height:48px;padding:8px 5px;display:grid}.calendar-days .task{border-left:3px solid #628873;border-radius:4px;align-items:center;padding:0 8px;font-size:6px;display:flex}.calendar-days .task-sage{color:#456957;background:#dfe9e3}.calendar-days .task-blue{color:#506d72;background:#dfe8ea;border-color:#63858a}.calendar-days .node{border-radius:4px;justify-content:center;align-items:center;margin:0 3px;font-size:5px;display:flex}.calendar-days .node-delivery{color:#806941;background:#eee6d5}.calendar-days .node-inspection{color:#9a5038;background:#f0ddd6}.ipad-schedule-bottom{grid-template-columns:1.5fr .75fr;gap:8px;margin-top:8px;display:grid}.ipad-milestone-list,.ipad-legend-panel{background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden}.ipad-milestone-list>header,.ipad-legend-panel>header{border-bottom:1px solid #e8e7e2;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.ipad-milestone-list header small,.ipad-legend-panel header small{color:var(--clay);letter-spacing:.12em;font-size:5px;font-weight:800}.ipad-milestone-list header h3,.ipad-legend-panel header h3{margin:2px 0 0;font-family:Georgia,Noto Serif TC,serif;font-size:10px;font-weight:500}.ipad-milestone-list header button{color:var(--muted);background:0 0;border:0;font-size:5px}.ipad-milestone-list article{border-top:1px solid #ecebe6;grid-template-columns:55px 1fr auto;align-items:center;gap:7px;padding:7px 10px;display:grid}.ipad-milestone-list article:first-of-type{border:0}.ipad-milestone-list time{color:var(--clay);font-size:6px}.ipad-milestone-list article p{flex-direction:column;margin:0;display:flex}.ipad-milestone-list article strong{font-size:7px}.ipad-milestone-list article small{color:var(--muted);font-size:5px}.ipad-milestone-list article>b{color:#53705f;background:#e7eee9;border-radius:99px;padding:4px 6px;font-size:5px}.ipad-milestone-list article>b.action{color:var(--clay);background:#f0ded7}.ipad-legend-panel{padding-bottom:8px}.ipad-legend-panel>p{align-items:center;gap:7px;margin:7px 10px;font-size:6px;display:flex}.ipad-legend-panel>p i{border-radius:3px;width:8px;height:8px}.ipad-legend-panel>p i.sage{background:#6f917e}.ipad-legend-panel>p i.blue{background:#66858b}.ipad-legend-panel>p i.sand{background:#a48a58}.ipad-legend-panel>p i.clay{background:var(--clay)}.ipad-legend-panel footer{background:#f0f1ec;border-radius:6px;grid-template-columns:1fr auto;margin:9px 8px 0;padding:8px;display:grid}.ipad-legend-panel footer span,.ipad-legend-panel footer small{color:var(--muted);font-size:5px}.ipad-legend-panel footer strong{grid-row:1/3;font-family:Georgia,serif;font-size:14px}@media (width<=720px){.ipad-schedule-main{padding:8px}.ipad-schedule-header{grid-template-columns:1fr auto}.ipad-schedule-tools{display:none}.ipad-schedule-summary{grid-template-columns:1fr 1fr}.ipad-schedule-summary>div:nth-child(n+3){display:none}.ipad-week-calendar>header{margin-left:75px}.ipad-calendar-grid{grid-template-columns:75px 1fr}.ipad-schedule-bottom{grid-template-columns:1fr}.ipad-legend-panel{display:none}.ipad-week-calendar>header>div{padding:4px}.calendar-row-label{padding:6px}.calendar-days .task{white-space:nowrap;overflow:hidden}.ipad-milestone-list article:nth-of-type(n+3){display:none}}.design-options-page{--ink:#20332d;--forest:#183229;--sage:#728e7e;--sage-soft:#dfe8e2;--clay:#bf6545;--clay-soft:#f3e2d9;--cream:#f3f0e8;--paper:#fffdfa;--line:#dadbd2;--muted:#758078;color:var(--ink);background:#e9e5dc;min-height:100vh;padding:34px}.design-options-page *{box-sizing:border-box}.design-options-page button,.design-options-page a{font:inherit}.design-options-intro{justify-content:space-between;align-items:end;max-width:1440px;margin:0 auto 22px;display:flex}.design-options-intro small,.do-page-heading small,.do-panel-title small,.do-gallery-hero small{color:var(--clay);letter-spacing:.16em;font-size:10px;font-weight:800}.design-options-intro h1{letter-spacing:-.04em;margin:8px 0;font-family:Georgia,Noto Serif TC,serif;font-size:clamp(30px,4vw,54px);font-weight:500}.design-options-intro p{color:#68736d;margin:0;font-size:14px}.design-options-intro a{color:var(--ink);border-bottom:1px solid;font-size:12px;text-decoration:none}.design-option-tabs{grid-template-columns:repeat(3,1fr);gap:10px;max-width:1440px;margin:0 auto 12px;display:grid}.design-option-tabs button{color:var(--ink);cursor:pointer;text-align:left;background:#ffffff8c;border:1px solid #24352e24;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:3px 12px;padding:14px 18px;transition:all .2s;display:grid}.design-option-tabs button:hover{background:#fff;transform:translateY(-1px)}.design-option-tabs button.active{background:var(--forest);border-color:var(--forest);color:#fff;box-shadow:0 10px 25px #1832292e}.design-option-tabs span{color:var(--clay);grid-row:1/3;font-family:Georgia,serif;font-size:20px}.design-option-tabs strong{font-size:14px}.design-option-tabs small{color:inherit;opacity:.7;font-size:10px}.design-rationale{justify-content:space-between;align-items:center;max-width:1440px;margin:0 auto 12px;display:flex}.design-rationale p{color:#657069;margin:0;font-size:12px}.design-rationale p b{color:var(--ink)}.design-rationale button{color:var(--ink);cursor:pointer;background:0 0;border:1px solid #a9aea7;border-radius:99px;padding:8px 13px;font-size:11px}.do-preview-shell{background:var(--cream);border:1px solid #20332d26;border-radius:20px;max-width:1440px;min-height:820px;margin:0 auto;overflow:hidden;box-shadow:0 24px 65px #2d2b2329}.do-preview-topbar{border-bottom:1px solid var(--line);background:#fffdfaf5;grid-template-columns:230px 1fr auto auto;align-items:center;gap:22px;min-height:76px;padding:0 24px;display:grid}.do-brand{align-items:center;gap:12px;display:flex}.do-brand>span{background:var(--clay);color:#fff;border-radius:9px;justify-content:center;align-items:center;width:42px;height:42px;font-family:Felix Titling,Georgia,serif;font-size:22px;display:flex}.do-brand p{flex-direction:column;margin:0;display:flex}.do-brand strong{letter-spacing:.08em;font-family:Georgia,serif;font-size:13px}.do-brand small{color:var(--muted);letter-spacing:.14em;font-size:7px}.do-preview-project-switcher{border-left:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;width:min(360px,100%);padding-left:22px;display:grid}.do-preview-project-switcher small{color:var(--muted);grid-column:1;font-size:8px}.do-preview-project-switcher strong{grid-column:1;font-size:12px}.do-preview-project-switcher span{grid-area:1/2/3}.do-preview-date{text-align:right;flex-direction:column;display:flex}.do-preview-date small{color:var(--muted);font-size:8px}.do-preview-date strong{font-size:11px}.do-icon-button{background:var(--clay-soft);color:var(--clay);cursor:pointer;border:0;border-radius:50%;width:34px;height:34px;font-size:10px;font-weight:800}.do-app-grid{grid-template-columns:188px minmax(0,1fr);min-height:744px;display:grid}.do-side-nav{background:var(--forest);color:#fff;flex-direction:column;padding:28px 14px 18px;display:flex}.do-side-nav>p{color:#a9bbb4;letter-spacing:.16em;text-transform:uppercase;margin:0 12px 12px;font-size:8px}.do-side-nav nav{gap:5px;display:grid}.do-side-nav nav button{color:#cad5d0;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:11px;display:flex}.do-side-nav nav button.active{color:#fff;background:#ffffff1f}.do-side-nav nav i{opacity:.8;width:14px;font-style:normal}.do-side-user{border-top:1px solid #ffffff1f;grid-template-columns:32px 1fr;align-items:center;margin-top:auto;padding:16px 8px 2px;display:grid}.do-side-user b{color:var(--forest);background:#d6c6b3;border-radius:50%;grid-row:1/3;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.do-side-user span{color:#b5c2bd;font-size:8px}.do-overview-main,.do-gallery-main{padding:30px}.do-page-heading{justify-content:space-between;align-items:end;margin-bottom:22px;display:flex}.do-page-heading h2,.do-gallery-hero h2{letter-spacing:-.03em;margin:6px 0;font-family:Georgia,Noto Serif TC,serif;font-size:30px;font-weight:500}.do-page-heading p{color:var(--muted);margin:0;font-size:11px}.do-primary-button{background:var(--clay);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:12px 17px;font-size:11px;font-weight:700}.do-metrics{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px;display:grid}.do-metrics article{background:var(--paper);border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr auto;padding:15px;display:grid}.do-metrics article.attention{background:#f8eee8;border-color:#eacfc1}.do-metrics span{color:var(--muted);font-size:9px}.do-metrics strong{grid-area:1/2/3;font-family:Georgia,serif;font-size:26px}.do-metrics small{margin-top:7px;font-size:8px}.do-overview-content{grid-template-columns:1.7fr 1fr;gap:12px;margin-bottom:12px;display:grid}.do-panel{background:var(--paper);border:1px solid var(--line);border-radius:10px}.do-panel-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:13px 15px;display:flex}.do-panel-title h3{margin:3px 0 0;font-family:Georgia,Noto Serif TC,serif;font-size:16px;font-weight:500}.do-panel-title button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:8px}.do-priority-list{padding:0 15px}.do-priority-list article{border-bottom:1px solid #ecece7;grid-template-columns:56px 1fr auto;align-items:center;gap:12px;min-height:68px;display:grid}.do-priority-list article:last-child{border:0}.do-priority-list time{color:var(--muted);font-size:8px}.do-priority-list time b{color:var(--ink);font-size:10px}.do-priority-list article>div{flex-direction:column;gap:3px;display:flex}.do-priority-list span{color:var(--clay);font-size:8px}.do-priority-list strong{font-size:10px}.do-priority-list small{color:var(--muted);font-size:8px}.do-priority-list button{cursor:pointer;background:#f1f2ee;border:0;border-radius:6px;padding:7px 10px;font-size:8px}.do-priority-list .urgent{box-shadow:inset 3px 0 var(--clay);padding-left:10px}.do-week-list{padding:5px 15px}.do-week-list p{border-bottom:1px solid #ecece7;grid-template-columns:56px 1fr;align-items:center;gap:3px 9px;margin:0;padding:9px 0;display:grid}.do-week-list p:last-child{border:0}.do-week-list time{color:var(--muted);grid-row:1/3;font-size:8px}.do-week-list b{font-size:9px}.do-week-list span{color:var(--muted);font-size:8px}.do-project-table{overflow:hidden}.do-table-head,.do-project-table>article{grid-template-columns:1.65fr .8fr 1fr 1fr 44px;align-items:center;gap:14px;padding:10px 15px;display:grid}.do-table-head{color:var(--muted);background:#f1f2ed;font-size:8px}.do-project-table>article{border-top:1px solid #ecece7;min-height:65px}.do-project-table article>div:first-child{grid-template-columns:auto 1fr;gap:2px;display:grid}.do-project-table article>div b{color:var(--clay);font-size:7px}.do-project-table article>div strong{font-size:10px}.do-project-table article>div small{color:var(--muted);grid-column:1/-1;font-size:8px}.do-stage{border-radius:99px;justify-content:center;width:fit-content;padding:6px 8px;font-size:8px;display:inline-flex}.do-stage.sage{color:#3e6956;background:#dfe9e2}.do-stage.sand{color:#806945;background:#eee5d3}.do-stage.clay{color:#9d5136;background:#f1dfd8}.do-progress{align-items:center;gap:7px;display:flex}.do-progress>i{background:#e7e8e3;border-radius:9px;width:100%;height:4px;display:block;overflow:hidden}.do-progress em{background:var(--sage);height:100%;display:block}.do-progress b{font-size:8px}.do-project-table article>p{margin:0;font-size:8px}.do-alert,.do-clear{border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:8px;display:flex}.do-alert{background:var(--clay);color:#fff}.do-clear{background:var(--sage-soft);color:#48705d}.gallery-grid{grid-template-columns:154px minmax(0,1fr)}.do-gallery-main{background:#f8f6f0}.do-gallery-hero{background:#e7dfd4;border-radius:12px;justify-content:space-between;align-items:end;min-height:160px;margin-bottom:15px;padding:24px 28px;display:flex;position:relative;overflow:hidden}.do-gallery-hero:after{content:"";border:1px solid #62534526;border-radius:50%;width:260px;height:260px;position:absolute;top:-130px;right:-60px}.do-gallery-hero h2{font-size:31px;line-height:1.05}.do-hero-summary{z-index:1;grid-template-columns:auto 1fr;gap:2px;max-width:270px;display:grid;position:relative}.do-hero-summary b{grid-row:1/3;margin-right:9px;font-family:Georgia,serif;font-size:36px}.do-hero-summary span{align-self:end;font-size:10px}.do-hero-summary p{color:#6e6b64;grid-column:1/-1;font-size:9px;line-height:1.5}.do-gallery-tools{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.do-gallery-tools>div{background:#edece7;border-radius:8px;padding:4px;display:flex}.do-gallery-tools>div button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 12px;font-size:8px}.do-gallery-tools>div button.active{color:var(--ink);background:#fff;box-shadow:0 2px 8px #0000000f}.do-project-gallery{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px;display:grid}.do-gallery-project{background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden}.do-project-art{background:#cdd6cf;height:138px;position:relative;overflow:hidden}.do-project-art:before,.do-project-art:after,.do-project-art i{content:"";background:#ffffffb3;position:absolute;transform:skewY(-12deg)}.do-project-art:before{width:44%;height:72px;bottom:18px;left:18%}.do-project-art:after{width:30%;height:52px;bottom:22px;right:12%}.do-project-art i:first-of-type{background:#2b3b332e;width:72%;height:6px;bottom:16px;left:11%}.do-project-art i:nth-of-type(2){background:#ffffff59;width:50%;height:38px;bottom:0;right:-7%;transform:skewY(22deg)}.visual-2 .do-project-art{background:#d8cec0}.visual-3 .do-project-art{background:#bbb6af}.do-project-art span{z-index:2;background:#ffffffd9;border-radius:5px;padding:5px 7px;font-size:7px;position:absolute;top:10px;left:10px}.do-project-card-content{padding:13px}.do-project-card-content>p{justify-content:space-between;align-items:center;margin:0 0 8px;display:flex}.do-project-card-content>p b{font-size:9px}.do-project-card-content h3{margin:0 0 3px;font-family:Georgia,Noto Serif TC,serif;font-size:16px;font-weight:500}.do-project-card-content>small{color:var(--muted);margin-bottom:12px;font-size:8px;display:block}.do-gallery-bottom{grid-template-columns:1.25fr 1fr;gap:12px;display:grid}.do-decision-board article{border-bottom:1px solid #ecece7;grid-template-columns:25px 1fr auto;align-items:center;gap:10px;margin:0 14px;padding:10px 0;display:grid}.do-decision-board article:last-child{border:0}.do-decision-board article>b{color:#b9a995;font-family:Georgia,serif}.do-decision-board article div{flex-direction:column;display:flex}.do-decision-board article strong{font-size:9px}.do-decision-board article small,.do-decision-board time{color:var(--muted);font-size:8px}.do-panel-title>span{background:var(--clay-soft);color:var(--clay);border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;font-size:8px;display:flex}.do-gallery-library>div{grid-template-columns:1fr 1fr;gap:8px;padding:13px;display:grid}.do-gallery-library article{background:#f2f0ea;border-radius:8px;flex-direction:column;padding:11px;display:flex}.do-gallery-library article span{color:var(--clay);font-size:7px}.do-gallery-library article strong{margin:15px 0 3px;font-size:9px}.do-gallery-library article small{color:var(--muted);font-size:7px}.mode-schedule .do-preview-topbar{display:none}.do-schedule-layout{grid-template-columns:180px minmax(0,1fr);min-height:820px;display:grid}.do-schedule-sidebar{background:var(--forest);color:#fff;flex-direction:column;padding:22px 16px;display:flex}.do-schedule-sidebar .do-brand{margin-bottom:38px}.do-schedule-sidebar>div{gap:5px;margin-bottom:26px;display:grid}.do-schedule-sidebar>div>small{color:#94a9a0;letter-spacing:.12em;margin:0 8px 5px;font-size:8px}.do-schedule-sidebar>div button{color:#cbd6d1;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;padding:9px;font-size:9px}.do-schedule-sidebar>div button.active{color:#fff;background:#ffffff1f}.do-schedule-sidebar label{color:#cbd6d1;padding:5px 8px;font-size:9px}.do-schedule-sidebar input{accent-color:var(--clay)}.do-schedule-sidebar>.do-primary-button{margin-top:auto}.do-schedule-sidebar .do-schedule-mini{background:#ffffff14;border-radius:8px;grid-template-columns:1fr auto;margin:12px 0 0;padding:11px;display:grid}.do-schedule-mini span,.do-schedule-mini small{color:#b3c0bb;font-size:7px}.do-schedule-mini strong{grid-row:1/3;font-family:Georgia,serif;font-size:22px}.do-schedule-main{padding:28px}.schedule-heading{margin-bottom:18px}.do-date-actions{border:1px solid var(--line);background:#fff;border-radius:7px;display:flex}.do-date-actions button{border:0;border-right:1px solid var(--line);cursor:pointer;background:0 0;padding:9px 12px;font-size:9px}.do-date-actions button:last-child{border:0}.do-week-board{background:var(--paper);border:1px solid var(--line);border-radius:11px;grid-template-columns:repeat(5,1fr);min-height:430px;display:grid;overflow:hidden}.do-day-column{border-right:1px solid var(--line);min-width:0}.do-day-column:last-child{border:0}.do-day-column>header{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;min-height:65px;padding:11px;display:grid}.do-day-column>header span{color:var(--muted);font-size:8px}.do-day-column>header strong{grid-row:1/3;font-family:Georgia,serif;font-size:22px}.do-day-column>header i{color:var(--clay);font-size:7px;font-style:normal}.do-day-column.today>header{background:var(--clay);color:#fff}.do-day-column.today>header span,.do-day-column.today>header i{color:#fff}.do-day-jobs{flex-direction:column;gap:8px;min-height:360px;padding:9px;display:flex}.do-day-jobs article{background:#e4ebe7;border-left:3px solid #668b79;border-radius:6px;flex-direction:column;min-height:84px;padding:9px;display:flex;position:relative}.do-day-jobs article.job-clay{border-color:var(--clay);background:#efe1db}.do-day-jobs article.job-sand{background:#eee8da;border-color:#ac8f5e}.do-day-jobs article.job-blue{background:#e0e8e9;border-color:#64858b}.do-day-jobs article.job-rose{background:#eee2e5;border-color:#9b6872}.do-day-jobs article span{color:var(--muted);font-size:7px}.do-day-jobs article strong{margin:7px 0 auto;font-size:9px;line-height:1.4}.do-day-jobs article small{font-size:7px}.do-day-jobs article button{background:0 0;border:0;font-size:7px;position:absolute;top:5px;right:5px}.do-day-jobs>p{color:#a5a9a4;text-align:center;margin:auto;font-size:9px}.do-day-jobs>p small{font-size:7px}.do-add-job{color:var(--muted);cursor:pointer;background:0 0;border:1px dashed #c7cac3;border-radius:6px;margin-top:auto;padding:8px;font-size:8px}.do-schedule-lower{grid-template-columns:1.3fr 1fr;gap:12px;margin-top:12px;display:grid}.do-team-load>p{grid-template-columns:28px 1.2fr 1fr auto;align-items:center;gap:10px;margin:0;padding:9px 14px;display:grid}.do-team-load>p b{background:#e7e2d8;border-radius:50%;justify-content:center;align-items:center;height:26px;font-size:8px;display:flex}.do-team-load>p span,.do-team-load>p small{font-size:8px}.do-team-load>p i{background:#e8e9e4;border-radius:8px;height:5px;overflow:hidden}.do-team-load>p em{background:var(--sage);height:100%;display:block}.do-risk-list article{grid-template-columns:26px 1fr;align-items:center;gap:10px;padding:10px 14px;display:grid}.do-risk-list article>b{background:var(--clay-soft);color:var(--clay);border-radius:50%;justify-content:center;align-items:center;height:24px;display:flex}.do-risk-list article div{flex-direction:column;display:flex}.do-risk-list article strong{font-size:9px}.do-risk-list article small{color:var(--muted);font-size:7px}.design-options-footer{color:#747970;justify-content:space-between;max-width:1440px;margin:14px auto 0;font-size:10px;display:flex}.design-options-footer p{margin:0}@media (width<=900px){.design-options-page{padding:16px}.design-options-intro{flex-direction:column;align-items:start;gap:12px}.design-option-tabs{scroll-snap-type:x mandatory;padding-bottom:4px;display:flex;overflow-x:auto}.design-option-tabs button{scroll-snap-align:start;flex:0 0 225px}.design-rationale{flex-direction:column;align-items:start;gap:10px}.do-preview-shell{border-radius:14px;min-height:auto}.do-preview-topbar{grid-template-columns:1fr auto;padding:0 14px}.do-preview-project-switcher,.do-preview-date{display:none}.do-app-grid,.gallery-grid{display:block}.do-side-nav{display:none}.do-overview-main,.do-gallery-main,.do-schedule-main{padding:16px}.do-page-heading{align-items:start;gap:12px}.do-page-heading h2,.do-gallery-hero h2{font-size:24px}.do-metrics{grid-template-columns:1fr 1fr}.do-overview-content,.do-gallery-bottom,.do-schedule-lower{grid-template-columns:1fr}.do-table-head{display:none}.do-project-table>article{grid-template-columns:1fr auto}.do-project-table article>div:first-child{grid-column:1/-1}.do-project-table article>p,.do-project-table article .do-progress{display:none}.do-gallery-hero{flex-direction:column;align-items:start;gap:12px}.do-gallery-tools{flex-direction:column;align-items:stretch;gap:8px;overflow:hidden}.do-gallery-tools>div{overflow-x:auto}.do-project-gallery{scroll-snap-type:x mandatory;display:flex;overflow-x:auto}.do-gallery-project{scroll-snap-align:start;flex:0 0 82%}.do-schedule-layout{display:block}.do-schedule-sidebar{display:none}.do-week-board{scroll-snap-type:x mandatory;display:flex;overflow-x:auto}.do-day-column{scroll-snap-align:start;flex:0 0 78%}.design-options-footer{flex-direction:column;align-items:start;gap:4px}}@media (width<=520px){.design-options-page{padding:10px}.design-options-intro h1{font-size:32px}.design-options-intro p{font-size:12px;line-height:1.6}.do-metrics{grid-template-columns:1fr}.do-priority-list article{grid-template-columns:48px 1fr;padding:8px 0}.do-priority-list article>button{display:none}.do-gallery-library>div{grid-template-columns:1fr}}.fup-preview-page{--forest:#16372e;--forest-2:#21483b;--clay:#c6603d;--canvas:#efeee8;--paper:#fbfaf6;--paper-2:#f5f3ed;--ink:#18241f;--copy:#46564f;--muted:#718079;--rule:#d9ddd6;--sage:#dfe9e3;--amber:#f4e7cf;background:var(--canvas);color:var(--ink);min-height:100vh;padding:28px 32px 56px;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif}.fup-preview-page *{box-sizing:border-box}.fup-preview-page button,.fup-preview-page textarea{font:inherit}.fup-preview-header{justify-content:space-between;align-items:center;max-width:1480px;margin:0 auto;display:flex}.fup-preview-header>div{align-items:center;gap:18px;display:flex}.fup-preview-header>div>p{color:var(--copy);margin:0;font-size:14px}.fup-preview-header aside{flex-direction:column;align-items:flex-end;display:flex}.fup-preview-header aside span{color:var(--clay);font-size:12px;font-weight:700}.fup-preview-header aside strong{margin-top:3px;font-size:13px}.fup-mark{align-items:center;gap:11px;display:flex}.fup-mark>span{background:var(--clay);color:#fff;border-radius:11px 3px;justify-content:center;align-items:center;width:46px;height:46px;font-family:Felix Titling,Georgia,serif;font-size:22px;display:flex}.fup-mark>strong{letter-spacing:.08em;font-family:Georgia,serif;font-size:13px}.fup-mark.is-compact>span{border-radius:8px 2px;width:34px;height:34px;font-size:16px}.fup-preview-intro{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px;max-width:1480px;margin:64px auto 34px;display:grid}.fup-preview-intro h1{letter-spacing:-.035em;margin:0;font-family:Noto Serif TC,Songti TC,serif;font-size:clamp(42px,5.5vw,78px);font-weight:550;line-height:1.12}.fup-preview-intro p{color:var(--copy);max-width:760px;margin:22px 0 0;font-size:16px;line-height:1.75}.fup-flow-note{background:var(--paper);border:1px solid var(--rule);border-radius:14px;align-items:center;gap:10px;padding:16px 18px;display:flex}.fup-flow-note span{white-space:nowrap;font-size:13px;font-weight:700}.fup-flow-note i{background:var(--clay);width:28px;height:1px;position:relative}.fup-flow-note i:after{border-right:1px solid var(--clay);border-top:1px solid var(--clay);content:"";width:5px;height:5px;position:absolute;top:-2px;right:0;transform:rotate(45deg)}.fup-preview-board,.fup-client-board{max-width:1480px;margin:0 auto}.fup-preview-board{background:#d9d7cf;border-radius:24px;padding:28px}.fup-board-title{justify-content:space-between;align-items:end;margin:2px 4px 20px;display:flex}.fup-board-title span,.fup-client-copy>span{color:var(--clay);letter-spacing:.08em;font-size:12px;font-weight:800}.fup-board-title h2,.fup-client-copy h2{margin:7px 0 0;font-family:Noto Serif TC,Songti TC,serif;font-size:28px;font-weight:550}.fup-board-title p{color:#59665f;margin:0;font-size:13px}.fup-staff-frame{background:var(--paper-2);border:5px solid #202720;border-radius:20px;grid-template-columns:210px minmax(0,1fr);height:760px;display:grid;overflow:hidden;box-shadow:0 24px 50px #17271f30}.fup-rail{background:var(--forest);color:#fff;flex-direction:column;padding:24px 16px 16px;display:flex}.fup-rail .fup-mark{margin:0 10px 42px}.fup-rail .fup-mark strong{color:#fff}.fup-rail nav{gap:6px;display:grid}.fup-rail nav button{color:#b9c9c2;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:20px 1fr auto;align-items:center;gap:11px;min-height:44px;padding:0 12px;display:grid}.fup-rail nav button.is-active{color:#fff;background:#ffffff21}.fup-rail svg,.fup-phone svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:18px;height:18px}.fup-rail nav span{font-size:14px}.fup-rail nav b{background:var(--clay);border-radius:20px;justify-content:center;align-items:center;width:21px;height:21px;font-size:11px;display:flex}.fup-profile{border-top:1px solid #ffffff21;grid-template-columns:34px 1fr;align-items:center;gap:10px;margin-top:auto;padding:17px 8px 2px;display:grid}.fup-profile i{color:var(--forest);background:#dacbb9;border-radius:50%;justify-content:center;align-items:center;height:34px;font-size:10px;font-style:normal;display:flex}.fup-profile p{flex-direction:column;margin:0;display:flex}.fup-profile strong{font-size:12px}.fup-profile span{color:#9eb2a9;margin-top:2px;font-size:10px}.fup-staff-main{min-width:0}.fup-topbar{background:var(--paper);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;height:68px;padding:0 28px;display:flex}.fup-topbar>div{align-items:center;gap:9px;display:flex}.fup-project-code{color:#456657;letter-spacing:.05em;background:#e3ebe6;border-radius:6px;padding:6px 8px;font-size:11px;font-weight:800}.fup-topbar strong{font-size:15px}.fup-topbar em{color:#9e5236;background:#f1e2d8;border-radius:20px;padding:5px 8px;font-size:10px;font-style:normal}.fup-top-actions time{color:var(--muted);font-size:11px}.fup-top-actions button{color:var(--forest);background:0 0;border:1px solid #bfc8c1;border-radius:8px;height:38px;padding:0 12px;font-size:12px;font-weight:700}.fup-staff-main>main{height:calc(100% - 68px);padding:27px 28px;overflow:hidden}.fup-heading{justify-content:space-between;align-items:center;display:flex}.fup-heading h1{letter-spacing:-.025em;margin:0;font-family:Noto Serif TC,Songti TC,serif;font-size:34px;font-weight:550}.fup-heading p{color:var(--muted);margin:7px 0 0;font-size:13px}.fup-heading>button{background:var(--clay);color:#fff;border:0;border-radius:10px;height:44px;padding:0 16px;font-size:13px;font-weight:700;box-shadow:0 10px 24px #95472b29}.fup-heading>button span{font-size:18px}.fup-ledger{background:var(--paper);border:1px solid var(--rule);border-radius:15px;grid-template-columns:repeat(4,1fr);margin-top:20px;display:grid;overflow:hidden}.fup-ledger article{border-right:1px solid var(--rule);grid-template-columns:1fr auto;padding:14px 16px;display:grid}.fup-ledger article:last-child{border:0}.fup-ledger span{color:var(--copy);font-size:11px}.fup-ledger strong{grid-row:1/3;font-family:Georgia,serif;font-size:24px}.fup-ledger small{color:var(--muted);margin-top:3px;font-size:9px}.fup-ledger .is-urgent strong{color:var(--clay)}.fup-workspace{grid-template-columns:minmax(440px,1.08fr) minmax(350px,.92fr);gap:14px;height:465px;margin-top:14px;display:grid}.fup-list-pane,.fup-detail-pane{background:var(--paper);border:1px solid var(--rule);border-radius:15px;overflow:hidden}.fup-list-pane>header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.fup-list-pane>header>div:first-child{align-items:center;gap:8px;display:flex}.fup-list-pane h2{margin:0;font-family:Noto Serif TC,Songti TC,serif;font-size:18px}.fup-list-pane>header span{color:var(--muted);font-size:10px}.fup-filters{gap:4px;display:flex}.fup-filters button{color:var(--muted);background:0 0;border:0;border-radius:7px;height:30px;padding:0 9px;font-size:10px}.fup-filters button.is-selected{color:var(--forest);background:#e8ece8;font-weight:700}.fup-issue-row{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #e5e6e1;grid-template-columns:4px 1fr auto;align-items:center;gap:11px;width:100%;padding:14px 16px;display:grid}.fup-issue-row.is-selected{background:#edf1ed}.fup-priority{border-radius:4px;height:46px}.fup-priority.is-緊急{background:#ad493d}.fup-priority.is-需注意{background:#a57b3d}.fup-priority.is-一般{background:#6c8879}.fup-issue-copy{flex-direction:column;min-width:0;display:flex}.fup-issue-copy small{color:#68776f;font-size:10px}.fup-issue-copy strong{text-overflow:ellipsis;white-space:nowrap;margin:3px 0;font-size:13px;overflow:hidden}.fup-issue-copy p{color:var(--muted);margin:0;font-size:9px}.fup-row-state{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.fup-row-state span{color:#3e6251;background:#e8ece8;border-radius:20px;padding:5px 7px;font-size:9px}.fup-row-state i{color:var(--clay);font-family:Georgia,serif;font-size:19px;font-style:normal}.fup-resolved{background:#f1f1ec;grid-template-columns:1fr auto;align-items:center;gap:5px;padding:12px 16px;display:grid}.fup-resolved span{color:var(--muted);grid-row:1/3;font-size:9px}.fup-resolved strong{font-size:11px}.fup-resolved button{color:var(--clay);background:0 0;border:0;font-size:9px}.fup-detail-pane{flex-direction:column;padding:17px 18px;display:flex}.fup-detail-pane>header{justify-content:space-between;align-items:center;display:flex}.fup-detail-pane>header>div{align-items:center;gap:8px;display:flex}.fup-detail-pane>header span{color:var(--muted);font-size:10px}.fup-detail-pane>header button{color:var(--muted);background:0 0;border:0}.fup-badge{border-radius:20px;padding:4px 7px;font-size:9px}.fup-badge.is-緊急{color:#913d33;background:#f1dad5}.fup-badge.is-需注意{color:#8c652c;background:#f4e7cf}.fup-badge.is-一般{color:#486a59;background:#e3ebe6}.fup-detail-pane>h2{margin:11px 0 6px;font-family:Noto Serif TC,Songti TC,serif;font-size:22px;line-height:1.35}.fup-detail-note{color:var(--copy);margin:0;font-size:11px;line-height:1.55}.fup-detail-pane dl{border-bottom:1px solid var(--rule);border-top:1px solid var(--rule);grid-template-columns:1fr 1fr;margin:13px 0 0;padding:9px 0;display:grid}.fup-detail-pane dl div{justify-content:space-between;padding:4px 6px;display:flex}.fup-detail-pane dt{color:var(--muted);font-size:9px}.fup-detail-pane dd{margin:0;font-size:9px;font-weight:700}.fup-photo-strip{margin-top:10px}.fup-photo-strip header{justify-content:space-between;display:flex}.fup-photo-strip header strong,.fup-timeline h3{margin:0;font-size:10px}.fup-photo-strip header span{color:var(--muted);font-size:9px}.fup-photo-strip>div{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:7px;display:grid}.fup-photo-strip i,.fup-photo-strip button{background:#d9ded8;border:0;border-radius:7px;height:48px}.fup-photo-strip i:nth-child(2){background:#cfc7bb}.fup-photo-strip i:nth-child(3){background:#e0d9ce}.fup-photo-strip button{color:var(--forest);font-size:11px}.fup-timeline{margin-top:11px}.fup-timeline article{grid-template-columns:9px 1fr;gap:8px;margin-top:7px;display:grid}.fup-timeline article>i{background:#6e8b7b;border:3px solid #dbe5df;border-radius:50%;width:9px;height:9px;margin-top:4px}.fup-timeline article time{color:var(--muted);font-size:8px}.fup-timeline article p{margin:2px 0 0;font-size:9px}.fup-detail-pane>footer{grid-template-columns:1fr 1fr;gap:7px;margin-top:auto;display:grid}.fup-detail-pane>footer button{background:var(--paper);border:1px solid var(--rule);border-radius:8px;height:36px;font-size:10px;font-weight:700}.fup-detail-pane>footer button.is-primary{background:var(--forest);border-color:var(--forest);color:#fff}.fup-client-board{grid-template-columns:minmax(0,1fr) 380px;align-items:center;gap:80px;padding:88px 70px;display:grid}.fup-client-copy h2{max-width:650px;margin-top:12px;font-size:44px;line-height:1.2}.fup-client-copy>p{color:var(--copy);max-width:680px;font-size:16px;line-height:1.75}.fup-client-copy ul{gap:12px;margin:30px 0;padding:0;display:grid}.fup-client-copy li{padding-left:24px;font-size:15px;list-style:none;position:relative}.fup-client-copy li:before{background:var(--forest);content:"";border-radius:50%;width:8px;height:8px;position:absolute;top:8px;left:1px}.fup-client-copy aside{background:var(--forest);color:#fff;border-radius:15px;max-width:650px;padding:20px 22px}.fup-client-copy aside strong{font-size:14px}.fup-client-copy aside p{color:#bfd0c8;margin:7px 0 0;font-size:13px;line-height:1.65}.fup-phone{justify-self:center}.fup-phone-shell{background:#222722;border:6px solid #252a25;border-radius:48px;width:354px;height:730px;padding:8px;position:relative;box-shadow:0 30px 60px #1a272040}.fup-phone-island{z-index:3;background:#111;border-radius:16px;width:94px;height:22px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.fup-phone-screen{background:var(--canvas);border-radius:34px;height:100%;padding-bottom:66px;position:relative;overflow:hidden}.fup-phone-screen>header{background:var(--paper);border-bottom:1px solid var(--rule);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;height:78px;padding:20px 15px 8px;display:grid}.fup-phone-screen>header>div:nth-child(2){flex-direction:column;display:flex}.fup-phone-screen>header small{color:var(--muted);font-size:10px}.fup-phone-screen>header strong{margin-top:2px;font-family:Noto Serif TC,Songti TC,serif;font-size:15px}.fup-phone-screen>header>button{color:var(--clay);background:#f0dfd6;border:0;border-radius:50%;width:30px;height:30px;font-size:10px}.fup-phone-screen>main{height:calc(100% - 78px);padding:12px;overflow:auto}.fup-client-intro{background:var(--forest);color:#fff;border-radius:14px;grid-template-columns:1fr auto;padding:17px;display:grid}.fup-client-intro span{color:#b5c9c0;font-size:11px}.fup-client-intro strong{grid-row:1/3;font-family:Georgia,serif;font-size:34px}.fup-client-intro p{color:#c4d2cc;margin:5px 0 0;font-size:10px;line-height:1.5}.fup-client-task{background:var(--paper);border:1px solid var(--rule);border-radius:13px;margin-top:10px;padding:14px}.fup-client-task>header{justify-content:space-between;align-items:center;display:flex}.fup-client-task>header span{color:var(--clay);font-size:10px;font-weight:700}.fup-client-task>header em{background:var(--amber);color:#8b6128;border-radius:20px;padding:5px 7px;font-size:9px;font-style:normal}.fup-client-task>small{color:var(--muted);margin-top:9px;font-size:9px;display:block}.fup-client-task h2{margin:4px 0 5px;font-family:Noto Serif TC,Songti TC,serif;font-size:17px;line-height:1.4}.fup-client-task>p{color:var(--copy);margin:0;font-size:10px;line-height:1.5}.fup-client-upload{gap:7px;margin-top:11px;display:grid}.fup-client-upload button,.fup-client-upload textarea{color:var(--copy);text-align:left;background:#f3f2ed;border:1px solid #dfe1dc;border-radius:8px;padding:9px;font-size:10px}.fup-client-upload textarea{resize:none}.fup-client-done{background:var(--clay);color:#fff;border:0;border-radius:9px;width:100%;height:42px;margin-top:8px;font-size:11px;font-weight:700}.fup-client-waiting,.fup-client-history{background:var(--paper);border:1px solid var(--rule);border-radius:13px;margin-top:9px;overflow:hidden}.fup-client-waiting>header,.fup-client-history>header{border-bottom:1px solid #e5e6e1;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.fup-client-waiting h2,.fup-client-history h2{margin:0;font-size:12px}.fup-client-waiting>header span{color:var(--forest);background:#e4ebe7;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:9px;display:flex}.fup-client-waiting article{justify-content:space-between;align-items:center;padding:11px 12px;display:flex}.fup-client-waiting article div{flex-direction:column;display:flex}.fup-client-waiting small{color:var(--muted);font-size:8px}.fup-client-waiting strong{margin-top:3px;font-size:10px}.fup-client-waiting article>span{color:#496857;background:#e5ebe7;border-radius:20px;padding:5px 7px;font-size:8px}.fup-client-history>header button{color:var(--clay);background:0 0;border:0;font-size:9px}.fup-client-history>p{grid-template-columns:52px 1fr auto;align-items:center;gap:6px;margin:0;padding:11px 12px;display:grid}.fup-client-history>p span{color:var(--muted);font-size:8px}.fup-client-history>p strong{font-size:9px}.fup-client-history>p em{color:#4f725e;font-size:8px;font-style:normal}.fup-phone-screen>nav{border-top:1px solid var(--rule);background:#fff;grid-template-columns:repeat(4,1fr);height:66px;display:grid;position:absolute;bottom:0;left:0;right:0}.fup-phone-screen>nav button{color:#849089;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:9px;display:flex;position:relative}.fup-phone-screen>nav button.is-active{color:var(--clay)}.fup-phone-screen>nav b{background:var(--clay);color:#fff;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;font-size:7px;display:flex;position:absolute;top:7px;right:21px}.fup-preview-footer{border-top:1px solid var(--rule);color:var(--muted);justify-content:space-between;max-width:1480px;margin:0 auto;padding-top:18px;font-size:12px;display:flex}.fup-preview-footer p{margin:0}.fup-preview-footer strong{color:var(--copy)}@media (width<=1100px){.fup-staff-frame{grid-template-columns:78px 1fr}.fup-rail .fup-mark strong,.fup-rail nav span,.fup-rail nav b,.fup-profile p{display:none}.fup-rail .fup-mark{justify-content:center;margin-inline:0}.fup-rail nav button{justify-content:center;display:flex}.fup-workspace{grid-template-columns:1fr}.fup-detail-pane{display:none}.fup-client-board{gap:45px;padding-inline:30px}}@media (width<=760px){.fup-preview-page{padding:18px 12px 40px}.fup-preview-header aside{display:none}.fup-preview-header>div>p{font-size:12px}.fup-preview-intro{margin:48px auto 26px;display:block}.fup-preview-intro h1{font-size:42px}.fup-preview-intro p{font-size:14px}.fup-flow-note{margin-top:24px;overflow:auto}.fup-preview-board{border-radius:18px;padding:14px 8px}.fup-board-title{align-items:start;margin:4px 7px 15px;display:block}.fup-board-title h2{font-size:22px}.fup-board-title p{margin-top:8px}.fup-staff-frame{grid-template-columns:1fr;height:640px}.fup-rail{display:none}.fup-topbar{height:57px;padding:0 14px}.fup-topbar em,.fup-top-actions time{display:none}.fup-top-actions button{padding:0 8px;font-size:10px}.fup-staff-main>main{height:calc(100% - 57px);padding:16px 13px}.fup-heading h1{font-size:28px}.fup-heading p{font-size:11px}.fup-heading>button{width:44px;font-size:0}.fup-heading>button span{font-size:20px}.fup-ledger{grid-template-columns:1fr 1fr}.fup-ledger article:nth-child(2){border-right:0}.fup-ledger article:nth-child(-n+2){border-bottom:1px solid var(--rule)}.fup-workspace{height:390px}.fup-filters button:not(.is-selected){display:none}.fup-issue-row{padding:12px}.fup-resolved{display:none}.fup-client-board{flex-direction:column;padding:68px 0;display:flex}.fup-client-copy h2{font-size:34px}.fup-client-copy>p{font-size:14px}.fup-client-copy aside{padding:17px}.fup-phone-shell{width:100%;max-width:354px;height:710px}.fup-preview-footer{flex-direction:column;align-items:start;gap:5px}}.materials-pdf-document{color:#24342d;background:#d8d4cc;padding:22px;font-family:Arial,Noto Sans TC,Microsoft JhengHei,sans-serif}.materials-pdf-page{page:materials;break-after:page;background:#fffdf8;width:210mm;min-height:297mm;margin:0 auto 22px;padding:14mm 13mm 18mm;position:relative;box-shadow:0 8px 30px #0000001f}.materials-pdf-header{border-bottom:1.5px solid #bd6241;grid-template-columns:16mm 1fr 47mm;align-items:center;gap:5mm;padding-bottom:4mm;display:grid}.materials-pdf-logo{color:#fff;background:#bd6241;border-radius:2mm;place-items:center;width:15mm;height:15mm;font:8mm Georgia,serif;display:grid}.materials-pdf-header p{color:#bd6241;letter-spacing:.14em;margin:0;font-size:7pt}.materials-pdf-header h1{margin:1mm 0;font:18pt Georgia,Noto Serif TC,serif}.materials-pdf-header span,.materials-pdf-header time{color:#68756e;font-size:7.5pt}.materials-pdf-header time{text-align:right}.materials-summary{grid-template-columns:repeat(4,1fr);gap:2mm;margin:5mm 0;display:grid}.materials-summary span{background:#eef1ed;border-radius:2mm;padding:2.5mm 3mm}.materials-summary small{color:#718078;font-size:7pt;display:block}.materials-summary b{font:17pt Georgia,serif}.materials-summary .missing{color:#9b5038;background:#f7e6df}.materials-summary .ready{color:#3e725e;background:#e3eee7}.materials-alert{background:#fbefe8;border-left:2mm solid #bd6241;grid-template-columns:27mm 1fr;gap:3mm;margin-bottom:4mm;padding:2.5mm 3mm;font-size:7.5pt;display:grid}.materials-alert p{margin:0}.materials-alert.ready{background:#e8f1ec;border-color:#477766}.materials-list{gap:2.5mm;display:grid}.material-sheet-card{break-inside:avoid;border:1px solid #dedfd9;border-radius:2.5mm;grid-template-columns:24mm 1fr;min-height:30mm;display:grid;overflow:hidden}.material-sheet-image{color:#9a775f;text-align:center;background:#eeeae2;place-items:center;font:11pt Georgia,serif;display:grid}.material-sheet-image small{font:5.5pt Arial,sans-serif}.material-sheet-image img{object-fit:cover;width:100%;height:100%}.material-sheet-main{padding:2.3mm 3mm}.material-sheet-title{justify-content:space-between;align-items:start;gap:3mm;display:flex}.material-sheet-title small{color:#a15b41;font-size:6pt}.material-sheet-title h2{margin:.6mm 0;font:12pt Georgia,Noto Serif TC,serif}.material-status{color:#59655f;white-space:nowrap;background:#eceeea;border-radius:999px;padding:1.2mm 2mm;font-size:6.5pt}.status-confirmed,.status-delivered,.status-installed{color:#3d705d;background:#e3eee7}.status-ordered,.status-supplier_confirmed,.status-paid{color:#426a75;background:#e4edf0}.status-issue,.status-decision_overdue{color:#934238;background:#f5dfdc}.material-sheet-specs{grid-template-columns:1fr 1.65fr .85fr 1.4fr;gap:2.5mm;margin-top:1.5mm;display:grid}.material-sheet-specs span{min-width:0}.material-sheet-specs small{color:#7d8882;font-size:5.5pt;display:block}.material-sheet-specs b{text-overflow:ellipsis;white-space:nowrap;font-size:7.5pt;display:block;overflow:hidden}.material-sheet-specs em{color:#9b6346;font-size:5.5pt;display:block}.tile-detail-line{color:#68766f;margin:1.5mm 0 0;font-size:6pt}.material-sheet-footer{color:#69756f;border-top:1px solid #eceae5;align-items:center;gap:4mm;margin-top:1.7mm;padding-top:1.5mm;font-size:6pt;display:flex}.material-sheet-footer mark{color:#9b5038;background:#f6e0d5;border-radius:1mm;margin-left:auto;padding:.7mm 1.3mm}.materials-empty{text-align:center;color:#6f7b75;padding:30mm}.materials-pdf-footer{color:#758079;border-top:1px solid #d8d6d0;justify-content:space-between;gap:8mm;padding-top:2mm;font-size:6.5pt;display:flex;position:absolute;bottom:7mm;left:13mm;right:13mm}@page materials{size:A4 portrait;margin:0}@media print{.materials-pdf-document{background:#fff;padding:0}.materials-pdf-page{width:210mm;height:297mm;min-height:297mm;box-shadow:none;margin:0;overflow:hidden}.materials-pdf-page:last-child{break-after:auto}.print-actions{display:none}}@media screen and (width<=850px){.materials-pdf-document{padding:0;overflow:auto}.print-actions{width:max-content;position:sticky;top:8px;left:8px}}.pdf-document{color:#24342d;background:#d8d4cc;padding:22px;font-family:Arial,Noto Sans TC,Microsoft JhengHei,sans-serif}.pdf-page{break-after:page;page-break-after:always;background-color:#fffdf8;background-image:radial-gradient(80mm 120mm at 103% 5%,#0000 61%,#bc62410e 61.4%,#0000 61.9%),radial-gradient(54mm 82mm at -4% 96%,#0000 61%,#20392f0b 61.4%,#0000 61.9%),linear-gradient(135deg,#0000 0 92%,#bc624109 92.2% 92.5%,#0000 92.7%);width:210mm;min-height:297mm;margin:0 auto 22px;padding:15mm 13mm 18mm;position:relative;box-shadow:0 8px 30px #0000001f}.pdf-header{border-bottom:1.4px solid #b75f3f;grid-template-columns:17mm 1fr 48mm;align-items:center;gap:5mm;padding-bottom:5mm;display:grid}.pdf-header.compact{padding-bottom:3mm}.pdf-logo{color:#fff;background:#bc6241;border-radius:2mm;place-items:center;width:15mm;height:15mm;font-family:Georgia,serif;font-size:8mm;display:grid}.pdf-title p{color:#b75f3f;letter-spacing:.16em;margin:0;font-size:7pt}.pdf-title h1{margin:1.5mm 0;font-family:Georgia,Noto Serif TC,serif;font-size:18pt}.pdf-title span,.pdf-header time{color:#66736d;font-size:8pt}.pdf-header time{text-align:right}.summary-strip{background:#edf1ed;border-radius:3mm;grid-template-columns:1fr 1fr 2fr;gap:3mm;margin:6mm 0;padding:3.5mm;font-size:8.5pt;display:grid}.schedule-table{border-collapse:collapse;table-layout:fixed;width:100%;margin-top:7mm;font-size:8pt}.schedule-table th{color:#fff;text-align:left;background:#20392f;padding:2.8mm 2mm}.schedule-contact-table th:first-child{width:40%}.schedule-contact-table th:nth-child(2){width:22%}.schedule-contact-table th:nth-child(3),.schedule-contact-table th:nth-child(4){width:19%}.schedule-table td{vertical-align:top;border-bottom:1px solid #deded7;padding:3mm 2mm}.schedule-table td small{color:#7c8882;margin-top:1mm;display:block}.empty-cell{text-align:center;color:#7c8882;padding:10mm!important}.node-section{margin-top:7mm}.node-section h2{font-family:Georgia,Noto Serif TC,serif;font-size:13pt}.node-list{grid-template-columns:1fr 1fr;gap:2mm;display:grid}.node-chip{background:#f6ede5;border-left:2.5mm solid #c56b47;grid-template-columns:27mm 1fr;gap:2mm;padding:2.5mm;font-size:8pt;display:grid}.node-chip.acceptance{background:#e8f0ec;border-color:#426f62}.node-chip time{font-weight:700}.pdf-footer{color:#758079;border-top:1px solid #d6d4ce;justify-content:space-between;padding-top:2mm;font-size:7.5pt;display:flex;position:absolute;bottom:7mm;left:13mm;right:13mm}.gantt-grid{border:1px solid #d8ddd8;margin-top:2.5mm}.gantt-segment-heading{color:#24342d;justify-content:space-between;align-items:center;margin-top:4mm;display:flex}.gantt-segment-heading span{font-family:Georgia,Noto Serif TC,serif;font-size:12pt;font-weight:700}.gantt-segment-heading strong{color:#a95337;background:#f6ece5;border:1px solid #d4b7a9;border-radius:99px;padding:1.5mm 4mm;font-size:8pt}.gantt-head{color:#fff;background:#20392f;height:10mm}.gantt-label{flex:0 0 48mm;width:48mm;padding:1.6mm 2mm;overflow:hidden}.day-axis{grid-template-columns:repeat(var(--days),1fr);align-items:stretch;display:grid}.day-axis i{border-left:1px solid #ffffff38;place-items:center;font-size:5.5pt;font-style:normal;display:grid}.gantt-grid>.gantt-head{vertical-align:top;display:inline-flex}.gantt-grid>.day-axis{width:calc(100% - 48mm)}.gantt-row{break-inside:avoid;border-top:1px solid #e1e3de;min-height:10mm;display:flex}.gantt-row .gantt-label{background:#faf8f3f0;flex-direction:column;justify-content:center;font-size:7pt;display:flex}.gantt-row .gantt-label small{color:#8a938e;margin-top:.7mm}.gantt-track{background:repeating-linear-gradient(to right,transparent 0,transparent calc((100% / var(--days)) - 1px),#e7e8e3 calc((100% / var(--days)) - 1px),#e7e8e3 calc(100% / var(--days)));flex:1;position:relative}.gantt-bar{color:#fff;border-radius:1mm;align-items:center;min-width:1.2mm;height:5mm;padding-left:1.5mm;font-size:6.5pt;display:flex;position:absolute;top:2.4mm;overflow:hidden}.gantt-empty{text-align:center;padding:10mm}.gantt-nodes{flex-wrap:wrap;gap:2mm;margin-top:4mm;display:flex}.gantt-nodes span{background:#f6e9df;border-left:2mm solid #c56b47;padding:1.5mm 2mm;font-size:7pt}.gantt-nodes span.acceptance{background:#e5efea;border-color:#426f62}.gantt-nodes b{margin-right:2mm}.print-actions{z-index:30;gap:8px;display:flex;position:fixed;top:18px;right:18px}.print-actions button{color:#fff;background:#bd6241;border:0;border-radius:8px;padding:10px 14px;font-weight:700}.print-actions button+button{background:#344c42}@media print{@page{size:A4 portrait;margin:0}.pdf-document{background:#fff;padding:0}.pdf-page{box-shadow:none;width:210mm;height:297mm;min-height:297mm;margin:0;overflow:hidden}.print-actions{display:none}.pdf-page:last-child{break-after:auto;page-break-after:auto}}@media screen and (width<=850px){.pdf-document{padding:0;overflow:auto}.pdf-page{transform-origin:0 0}.print-actions{width:max-content;position:sticky;top:8px;left:8px}}.gantt-grid{grid-template-columns:48mm minmax(0,1fr);display:grid}.gantt-grid>.gantt-head{width:auto;display:flex}.gantt-grid>.day-axis{width:auto;display:grid}.gantt-row,.gantt-empty{grid-column:1/-1}.gantt-row{grid-template-columns:48mm minmax(0,1fr);display:grid}.gantt-row .gantt-label{box-sizing:border-box;flex:none;width:auto}.gantt-row .gantt-track{width:auto;min-width:0}.gantt-page .gantt-row{grid-template-columns:55mm minmax(0,1fr)}.gantt-page{page:gantt;width:297mm;min-height:210mm;padding:11mm 12mm 15mm}.monthly-page{page:monthly}.gantt-page .gantt-grid{grid-template-columns:55mm minmax(0,1fr);margin-top:4mm}.gantt-page .gantt-label{flex-basis:55mm;width:55mm}.gantt-page .pdf-title h1{font-size:16pt}.day-axis i{flex-direction:column;justify-content:center;align-items:center;min-width:0;display:flex}.day-axis i b{font-size:6.5pt}.day-axis i small{white-space:nowrap;color:#8d3128;max-width:100%;font-size:4pt;overflow:hidden}.day-axis i.weekend{background:#344d43}.day-axis i.holiday{background:#9b4e39}.gantt-track{background:0 0;overflow:hidden}.gantt-day-cells{grid-template-columns:repeat(var(--days),1fr);z-index:0;display:grid;position:absolute;inset:0}.gantt-day-cells i{border-right:1px solid #dcded8}.gantt-day-cells i.weekend{background:#f2efe9}.gantt-day-cells i.holiday{background:#f7dfd7}.gantt-bar{z-index:2}.gantt-node-row{min-height:7mm}.gantt-node-marker{z-index:3;color:#fff;background:#c46745;border-radius:50%;place-items:center;width:4.6mm;height:4.6mm;margin-left:-2.3mm;font-size:5.5pt;font-weight:700;display:grid;position:absolute;top:1.2mm;box-shadow:0 0 0 1mm #fff}.gantt-node-marker.acceptance{background:#3d7565}.gantt-legend{color:#65716b;gap:5mm;margin-top:3mm;font-size:7pt;display:flex}.gantt-legend span{align-items:center;gap:1.5mm;display:flex}.gantt-legend i{background:#eee;border-radius:.6mm;width:3mm;height:3mm}.gantt-legend i.weekend{background:#e2ded6}.gantt-legend i.holiday{background:#efcabe}.gantt-legend i.material{background:#c46745}.gantt-legend i.acceptance{background:#3d7565}@page monthly{size:A4 portrait;margin:0}@page gantt{size:A4 landscape;margin:0}@media print{.gantt-page{width:297mm!important;height:210mm!important;min-height:210mm!important}.monthly-page{width:210mm!important;height:297mm!important;min-height:297mm!important}}.pdf-page{box-sizing:border-box}.gantt-grid>.gantt-head{min-width:0}.gantt-grid .gantt-track{border:0}
