@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css";:root{--olive-primary: #006679;--olive-primary-soft: #e5f1f2;--olive-primary-dark: #004854;--olive-accent: #ec5122;--olive-accent-soft: #fff0ea;--olive-sand: #bfb58b;--olive-sand-soft: #f3f0e6;--olive-ink: #17252b;--olive-text: #1f2d31;--olive-muted: #68777a;--olive-bg: #f5f7f6;--olive-surface: #ffffff;--olive-surface-soft: #f0f3f1;--olive-border: #dde4e1;--olive-error: #dc2626;--olive-error-soft: #fdecec;--olive-success: #1a7a4c;--olive-success-soft: #e7f6ee;--olive-radius-lg: 20px;--olive-radius-md: 14px;--olive-radius-sm: 10px;--olive-shadow: 0 2px 10px rgba(23, 37, 43, .06)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Pretendard,Noto Sans KR,sans-serif;background:var(--olive-bg);color:var(--olive-text);-webkit-tap-highlight-color:transparent}a{color:inherit}.app-root{min-height:100dvh;display:flex;flex-direction:column}.header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;background:var(--olive-surface);border-bottom:1px solid var(--olive-border);position:sticky;top:0;z-index:40}.brand{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:800;font-size:18px;letter-spacing:-.02em;color:var(--olive-primary)}.brand-mark{width:30px;height:30px;border-radius:9px;background:var(--olive-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex-shrink:0}.tenant-tag{font-size:12px;color:var(--olive-muted);font-weight:500;border-left:1px solid var(--olive-border);padding-left:10px;margin-left:2px}.nav{display:flex;align-items:center;gap:6px}.nav a,.nav .icon-btn{color:var(--olive-text);text-decoration:none;font-size:13px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:999px;border:none;background:transparent;color:var(--olive-text);cursor:pointer}.icon-btn:hover{background:var(--olive-surface-soft)}.icon-btn.active{color:var(--olive-primary);background:var(--olive-primary-soft)}main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:20px 20px 96px}@media (min-width: 900px){main{padding-bottom:32px}}.desktop-grid{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}@media (min-width: 900px){.desktop-grid{grid-template-columns:minmax(0,1fr) 320px}}.sidebar-stack{display:flex;flex-direction:column;gap:16px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--olive-surface);border-top:1px solid var(--olive-border);padding-bottom:env(safe-area-inset-bottom,0);z-index:40}@media (min-width: 900px){.bottom-nav{display:none}}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:9px 4px 8px;font-size:11px;color:var(--olive-muted);text-decoration:none;min-height:56px;position:relative}.bottom-nav-item.active{color:var(--olive-primary)}.bottom-nav-badge{position:absolute;top:2px;right:calc(50% - 20px);background:var(--olive-accent);color:#fff;font-size:9px;font-weight:700;border-radius:999px;min-width:15px;height:15px;display:flex;align-items:center;justify-content:center;padding:0 3px}button{font-family:inherit;padding:11px 18px;border-radius:var(--olive-radius-sm);border:none;background:var(--olive-primary);color:#fff;cursor:pointer;font-size:14px;font-weight:600;transition:opacity .15s,transform .05s}button:hover{opacity:.92}button:active{transform:scale(.98)}button:disabled{background:var(--olive-border);color:var(--olive-muted);cursor:not-allowed;transform:none}button.secondary{background:var(--olive-surface);color:var(--olive-primary);border:1px solid var(--olive-primary)}button.outline{background:var(--olive-surface);color:var(--olive-text);border:1px solid var(--olive-border)}button.danger{background:var(--olive-surface);color:var(--olive-error);border:1px solid var(--olive-error-soft)}button.link,.link{background:none;color:var(--olive-primary);padding:0;font-size:13px;font-weight:600;text-decoration:none;border:none;cursor:pointer}.link:hover{text-decoration:underline}.error{color:var(--olive-error);font-size:13px}.page{max-width:720px;margin:0 auto}.page h1{font-size:24px;font-weight:800;letter-spacing:-.02em;margin:0 0 4px}.page>h2{font-size:19px;font-weight:700;margin:28px 0 10px;display:flex;align-items:center;justify-content:space-between}.page-eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--olive-primary);text-transform:uppercase;margin:0}.center-page{display:flex;align-items:center;justify-content:center;min-height:100dvh;background:var(--olive-bg);padding:20px}.card{background:var(--olive-surface);padding:28px;border-radius:var(--olive-radius-lg);border:1px solid var(--olive-border);box-shadow:var(--olive-shadow);width:360px;max-width:100%}.card label,.panel label{display:block;margin-bottom:12px;font-size:13px;font-weight:600;color:var(--olive-muted)}.card input,.panel input,.panel select,.panel textarea,input,select,textarea{width:100%;padding:11px 12px;margin-top:5px;border:1px solid var(--olive-border);border-radius:var(--olive-radius-sm);font-size:14px;font-family:inherit;background:var(--olive-surface);color:var(--olive-text)}input:focus,select:focus,textarea:focus{outline:2px solid var(--olive-primary-soft);border-color:var(--olive-primary)}.panel{background:var(--olive-surface);padding:18px;border-radius:var(--olive-radius-md);border:1px solid var(--olive-border);box-shadow:var(--olive-shadow);margin:10px 0}.panel textarea{width:100%;margin:8px 0;min-height:84px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:8px}.form-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.cell-input{width:60px}.action-row{margin:16px 0;display:flex;align-items:center;gap:12px}.hero{background:linear-gradient(135deg,var(--olive-primary) 0%,#08798a 100%);color:#fff;border-radius:var(--olive-radius-lg);padding:22px 22px 20px;margin-bottom:18px}.hero-eyebrow{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#b9d6da;margin:0}.hero h1{color:#fff;margin:6px 0 2px}.hero-sub{color:#c4d3d6;font-size:13px;margin:2px 0 14px}.hero-stats{display:flex;gap:22px;flex-wrap:wrap}.hero-stat-label{font-size:11px;color:#9fb9bd;margin:0}.hero-stat-value{font-size:16px;font-weight:700;margin:2px 0 0}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}@media (max-width: 420px){.quick-actions{grid-template-columns:repeat(3,1fr)}}.quick-action{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 4px;border-radius:var(--olive-radius-md);background:var(--olive-surface);border:1px solid var(--olive-border);text-decoration:none;color:var(--olive-text);font-size:12px;font-weight:600;text-align:center}.quick-action svg{color:var(--olive-primary)}.quick-action:hover{border-color:var(--olive-primary)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.badge-neutral{background:var(--olive-surface-soft);color:var(--olive-muted)}.badge-primary{background:var(--olive-primary-soft);color:var(--olive-primary-dark)}.badge-accent{background:var(--olive-accent-soft);color:var(--olive-accent)}.badge-sand{background:var(--olive-sand-soft);color:#6b6547}.badge-success{background:var(--olive-success-soft);color:var(--olive-success)}.badge-error{background:var(--olive-error-soft);color:var(--olive-error)}.dot{width:7px;height:7px;border-radius:999px;display:inline-block}.dot-primary{background:var(--olive-primary)}.dot-accent{background:var(--olive-accent)}.dot-neutral{background:var(--olive-border)}.list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.list li{padding:0;border:none}.list a{color:var(--olive-text);text-decoration:none;font-weight:500}.item-card{display:block;width:100%;text-align:left;background:var(--olive-surface);border:1px solid var(--olive-border);border-radius:var(--olive-radius-md);padding:16px;text-decoration:none;color:inherit}.item-card-title{font-size:15px;font-weight:700;margin:0 0 4px;display:flex;align-items:center;justify-content:space-between;gap:8px}.item-card-row{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--olive-muted);margin-top:6px}.meta{color:var(--olive-muted);font-size:13px;margin:4px 0}.table-scroll{overflow-x:auto;border:1px solid var(--olive-border);border-radius:var(--olive-radius-md)}.table{width:100%;border-collapse:collapse;background:var(--olive-surface)}.table th,.table td{padding:11px 14px;border-bottom:1px solid var(--olive-border);text-align:left;font-size:13px;white-space:nowrap}.table tr:last-child td{border-bottom:none}.table th{background:var(--olive-surface-soft);color:var(--olive-muted);font-weight:600;font-size:12px}.table tr.delayed-row{background:var(--olive-error-soft)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:40px 20px;border:1px dashed var(--olive-border);border-radius:var(--olive-radius-lg);background:var(--olive-surface-soft)}.empty-state-icon{width:48px;height:48px;border-radius:999px;background:var(--olive-primary-soft);color:var(--olive-primary);display:flex;align-items:center;justify-content:center}.empty-state-title{font-weight:700;font-size:14px;margin:0}.empty-state-desc{font-size:13px;color:var(--olive-muted);margin:0;max-width:280px}.stage-progress{display:flex;align-items:center;margin-top:6px}.stage-step{display:flex;flex:1;align-items:center}.stage-step:last-child{flex:0}.stage-dot{width:26px;height:26px;border-radius:999px;border:1px solid var(--olive-border);color:var(--olive-muted);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;background:#fff}.stage-dot.done{border-color:var(--olive-primary);background:var(--olive-primary);color:#fff}.stage-line{flex:1;height:2px;background:var(--olive-border);margin:0 4px}.stage-line.done{background:var(--olive-primary)}.stage-labels{display:flex;justify-content:space-between;margin-top:6px;font-size:11px}.stage-labels span{color:var(--olive-muted)}.stage-labels span.done{color:var(--olive-primary);font-weight:700}.bell{position:relative;display:inline-flex}.bell-badge{position:absolute;top:2px;right:2px;background:var(--olive-accent);color:#fff;font-size:10px;border-radius:999px;min-width:15px;height:15px;display:flex;align-items:center;justify-content:center;font-weight:700}.notification-row{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;background:var(--olive-surface);padding:14px 16px;border-radius:var(--olive-radius-md);border:1px solid var(--olive-border)}.notification-row.unread{background:var(--olive-primary-soft);border-color:var(--olive-primary-soft)}.thread{display:flex;flex-direction:column;gap:10px}.thread-message{max-width:82%;padding:10px 14px;border-radius:var(--olive-radius-md);font-size:14px}.thread-message.customer{align-self:flex-start;background:var(--olive-sand-soft);border-bottom-left-radius:4px}.thread-message.staff{align-self:flex-end;background:var(--olive-primary-soft);border-bottom-right-radius:4px}.thread-meta{font-size:11px;color:var(--olive-muted);margin-bottom:3px;display:flex;gap:6px}.photo-grid{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}.photo-thumb{width:120px}.photo-thumb img,.photo-thumb-placeholder{width:120px;height:90px;object-fit:cover;border-radius:var(--olive-radius-sm);background:var(--olive-surface-soft);display:block}.photo-thumb input{width:100%;margin-top:4px;font-size:12px;padding:6px}.photo-thumb-button{display:block;background:none;padding:0;border:none;text-align:left;cursor:pointer}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#17252b80;display:flex;align-items:center;justify-content:center;padding:16px;z-index:100}.modal{background:#fff;padding:20px;border-radius:var(--olive-radius-lg);max-width:90vw;max-height:90vh;overflow:auto}.modal-image{max-width:100%;max-height:70vh;display:block;border-radius:var(--olive-radius-sm)}.panel-link{display:block;text-decoration:none;color:inherit}.panel-link .panel{cursor:pointer;transition:border-color .15s}.panel-link:hover .panel{border-color:var(--olive-primary)}@media (max-width: 480px){main{padding:14px}.card{width:100%}}.workspace-page{width:100%;max-width:1180px;margin:0 auto;padding:10px 0 36px}.workspace-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.workspace-title-row h1{margin:4px 0 0;font-size:clamp(26px,3vw,36px);line-height:1.15;letter-spacing:-.045em;color:var(--olive-ink)}.workspace-subtitle{margin:8px 0 0;color:var(--olive-muted);font-size:14px}.workspace-kpis{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:8px}.workspace-kpis>div{min-width:92px;border:1px solid var(--olive-border);border-radius:16px;background:var(--olive-surface);padding:12px 14px;box-shadow:0 8px 24px #17252b0a}.workspace-kpis strong{display:block;font-size:20px;line-height:1;color:var(--olive-primary)}.workspace-kpis span{display:block;margin-top:6px;color:var(--olive-muted);font-size:11px}.loading-card{border:1px solid var(--olive-border);border-radius:20px;background:var(--olive-surface);padding:32px;text-align:center;color:var(--olive-muted)}.focus-project{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,.8fr);overflow:hidden;margin-bottom:24px;border-radius:26px;background:linear-gradient(135deg,var(--olive-primary) 0%,#08798a 100%);color:#fff;box-shadow:0 18px 40px #0066792e}.focus-project-main{padding:28px 30px 26px}.focus-project-label{margin-bottom:8px;color:#9fc7cc;font-size:11px;font-weight:800;letter-spacing:.12em}.focus-project-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.focus-project-heading h2{margin:0;color:#fff;font-size:27px;letter-spacing:-.045em}.focus-project-heading p{margin:5px 0 0;color:#bdd0d3;font-size:13px}.focus-progress{max-width:520px;margin-top:22px}.focus-progress-head{display:flex;justify-content:space-between;margin-bottom:8px;font-size:12px;color:#c8d8da}.focus-progress-head strong{color:#fff;font-size:15px}.focus-project-note{margin:22px 0 0;color:#a9c1c4;font-size:13px}.focus-project-actions{display:flex;align-items:center;gap:16px;margin-top:24px;font-size:12px;color:#a9c1c4}.focus-project-actions a{display:inline-flex;align-items:center;gap:5px;color:#fff;font-weight:700;text-decoration:none}.focus-quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#ffffff12;border-left:1px solid rgba(255,255,255,.08)}.focus-quick-grid a{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;min-height:94px;padding:18px 20px;background:#ffffff06;color:#e9f0f1;text-decoration:none;transition:background .15s ease,color .15s ease}.focus-quick-grid a:hover{background:#ffffff14;color:#fff}.focus-quick-grid svg{color:#75b4bd}.focus-quick-grid span{font-size:12px;font-weight:700}.focus-quick-grid b{position:absolute;top:13px;right:14px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--olive-accent);color:#fff;font-size:10px;line-height:20px;text-align:center}.workspace-columns{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.workspace-section{border:1px solid var(--olive-border);border-radius:22px;background:var(--olive-surface);padding:20px;box-shadow:0 10px 28px #17252b0b}.workspace-section+.workspace-section{margin-top:16px}.workspace-section.compact{padding:18px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.section-heading h2{margin:2px 0 0;font-size:19px;letter-spacing:-.035em}.section-heading>span{color:var(--olive-muted);font-size:12px}.section-kicker{margin:0;color:var(--olive-primary);font-size:10px;font-weight:800;letter-spacing:.14em}.project-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.workspace-project-card{position:relative;display:flex;min-height:110px;overflow:hidden;border:1px solid var(--olive-border);border-radius:18px;background:#fff;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.workspace-project-card:hover{border-color:#b8c9c7;box-shadow:0 10px 24px #17252b0f;transform:translateY(-1px)}.workspace-project-card.selected{border-color:var(--olive-primary);box-shadow:0 0 0 2px var(--olive-primary-soft)}.workspace-project-select{flex:1;min-width:0;padding:16px 46px 16px 16px;border:0;border-radius:0;background:transparent;color:inherit;text-align:left}.workspace-project-select:hover{opacity:1;background:var(--olive-surface-soft)}.workspace-project-select:active{transform:none}.workspace-project-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.workspace-project-customer{overflow:hidden;color:var(--olive-ink);font-size:14px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.workspace-project-select>strong{display:block;overflow:hidden;margin-bottom:7px;color:var(--olive-text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.workspace-project-select>span{color:var(--olive-muted);font-size:11px}.workspace-project-open{position:absolute;top:50%;right:10px;display:flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:999px;color:var(--olive-primary);transform:translateY(-50%)}.workspace-project-open:hover{background:var(--olive-primary-soft)}.workspace-side{display:flex;flex-direction:column;gap:16px}.schedule-mini-list,.activity-mini-list{display:flex;flex-direction:column;gap:12px}.schedule-mini-item{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--olive-border)}.schedule-mini-item:last-child{padding-bottom:0;border-bottom:0}.schedule-mini-date{display:flex;min-height:44px;align-items:center;justify-content:center;border-radius:12px;background:var(--olive-primary-soft);color:var(--olive-primary);font-size:10px;font-weight:800;text-align:center}.schedule-mini-item strong,.activity-mini-item strong{color:var(--olive-text);font-size:12px}.schedule-mini-item p,.activity-mini-item p{margin:3px 0 0;color:var(--olive-muted);font-size:10px}.activity-mini-item{display:grid;grid-template-columns:9px 1fr;gap:10px;align-items:flex-start}.activity-dot{width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--olive-sand);box-shadow:0 0 0 4px var(--olive-sand-soft)}.activity-mini-item span :not(.activity-dot){display:inline-block;margin-top:4px;color:#8b999b;font-size:9px}.empty-copy{margin:0;color:var(--olive-muted);font-size:12px}.request-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.request-board-card{display:block;padding:18px;border:1px solid var(--olive-border);border-radius:18px;background:var(--olive-surface);color:inherit;text-decoration:none;box-shadow:0 8px 24px #17252b0a}.request-board-card:hover{border-color:var(--olive-primary)}.request-board-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.request-project-name{color:var(--olive-primary);font-size:11px;font-weight:800}.request-board-card>strong{display:block;color:var(--olive-ink);font-size:15px}.request-board-card>p{display:-webkit-box;overflow:hidden;margin:8px 0 14px;color:var(--olive-muted);font-size:12px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.request-board-meta{display:flex;justify-content:space-between;gap:10px;color:#889597;font-size:10px}.document-hub-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.document-hub-card{display:flex;gap:13px;padding:16px;border:1px solid var(--olive-border);border-radius:18px;background:#fff;color:inherit;text-decoration:none}.document-hub-card:hover{border-color:var(--olive-primary)}.document-hub-icon{display:flex;width:42px;height:42px;flex:0 0 42px;align-items:center;justify-content:center;border-radius:13px;background:var(--olive-sand-soft);color:#766e4f}.document-hub-body{min-width:0}.document-hub-body strong{display:block;overflow:hidden;color:var(--olive-text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.document-hub-body p{margin:5px 0 3px;color:var(--olive-muted);font-size:11px}.document-hub-body span{color:#8d999b;font-size:10px}.project-overview .hero{padding:28px 30px;border-radius:26px}.project-overview .quick-actions{grid-template-columns:repeat(7,minmax(0,1fr));margin:18px 0 24px}.project-overview .quick-action{min-height:86px;justify-content:center;border-radius:17px}.project-overview .desktop-grid>div>h2{margin-top:22px;font-size:17px}.project-overview .panel{border-radius:17px;box-shadow:none}.project-overview .sidebar-stack .panel{border-left:3px solid var(--olive-primary-soft)}@media (max-width: 899px){main{padding:14px 14px 92px}.header{padding:11px 14px}.workspace-page{padding-top:4px}.workspace-title-row{display:block;margin-bottom:16px}.workspace-title-row h1{font-size:27px}.workspace-subtitle{font-size:12px}.workspace-kpis{margin-top:14px;grid-template-columns:repeat(3,1fr)}.workspace-kpis>div{min-width:0;padding:10px;border-radius:14px}.workspace-kpis strong{font-size:18px}.workspace-kpis span{font-size:9px}.focus-project{grid-template-columns:1fr;border-radius:22px}.focus-project-main{padding:22px 20px}.focus-project-heading h2{font-size:23px}.focus-quick-grid{grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.08);border-left:0}.focus-quick-grid a{min-height:78px;padding:12px;align-items:center;text-align:center}.workspace-columns{grid-template-columns:1fr}.workspace-side{order:-1;display:grid;grid-template-columns:1fr 1fr}.project-card-grid,.request-board,.document-hub-list{grid-template-columns:1fr}.workspace-section{padding:16px;border-radius:18px}.workspace-project-card{min-height:100px}.project-overview .quick-actions{grid-template-columns:repeat(4,1fr)}}@media (max-width: 520px){.brand{font-size:16px}.brand-mark{width:28px;height:28px}.workspace-side{grid-template-columns:1fr}.focus-quick-grid{grid-template-columns:repeat(3,1fr)}.focus-project-actions{justify-content:space-between}.project-overview .quick-actions{grid-template-columns:repeat(3,1fr)}}@media (min-width: 900px){.header{padding:13px max(24px,calc((100vw - 1180px)/2))}main{max-width:1220px;padding:28px 20px 48px}}.customer-home{width:100%;max-width:760px;margin:0 auto;padding:6px 0 34px}.customer-welcome{position:relative;overflow:hidden;margin-bottom:16px;padding:28px 28px 30px;border-radius:26px;background:linear-gradient(135deg,#004854,#006679 72%,#0b778a);color:#fff;box-shadow:0 18px 40px #00667929}.customer-welcome:after{content:"";position:absolute;right:-42px;bottom:-72px;width:180px;height:180px;border-radius:50%;background:#bfb58b29}.customer-tenant{position:relative;z-index:1;margin:0 0 12px;color:#c3e0e4;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.customer-welcome h1{position:relative;z-index:1;margin:0;font-size:30px;letter-spacing:-.05em}.customer-welcome>p:last-child{position:relative;z-index:1;margin:9px 0 0;color:#d8e9eb;font-size:13px}.customer-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.customer-summary-card{display:flex;min-height:112px;flex-direction:column;justify-content:center;border:1px solid var(--olive-border);border-radius:19px;background:#fff;padding:16px;box-shadow:0 8px 22px #17252b0a}.customer-summary-card>span{color:var(--olive-muted);font-size:11px;font-weight:700}.customer-summary-card>strong{margin:5px 0 3px;color:var(--olive-primary);font-size:26px;line-height:1}.customer-summary-card>small{color:#929d9f;font-size:10px}.customer-summary-card.attention>strong{color:var(--olive-accent)}.customer-primary-project{display:block;margin-bottom:16px;padding:22px;border:1px solid var(--olive-border);border-radius:22px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 10px 28px #17252b0d}.customer-primary-project:hover{border-color:var(--olive-primary)}.customer-primary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.customer-primary-head p{margin:0 0 5px;color:var(--olive-primary);font-size:10px;font-weight:800;letter-spacing:.14em}.customer-primary-head h2{margin:0;color:var(--olive-ink);font-size:20px;letter-spacing:-.035em}.customer-content-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:20px 0 14px;overflow:hidden;border:1px solid var(--olive-border);border-radius:15px}.customer-content-stats span{padding:12px 8px;border-right:1px solid var(--olive-border);color:var(--olive-muted);font-size:10px;text-align:center}.customer-content-stats span:last-child{border-right:0}.customer-content-stats b{display:block;margin-bottom:3px;color:var(--olive-text);font-size:17px}.customer-latest{display:flex;align-items:center;gap:5px;margin:0;color:var(--olive-muted);font-size:10px}.customer-open-link{display:flex;align-items:center;justify-content:flex-end;gap:3px;margin-top:14px;color:var(--olive-primary);font-size:12px;font-weight:800}.customer-other-projects{margin:18px 0;padding:18px;border:1px solid var(--olive-border);border-radius:20px;background:#fff}.customer-project-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid var(--olive-border);color:inherit;text-decoration:none}.customer-project-row:first-of-type{border-top:0}.customer-project-row strong{display:block;font-size:13px}.customer-project-row span{display:block;margin-top:3px;color:var(--olive-muted);font-size:10px}.customer-action-strip{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #f7cfc1;border-radius:18px;background:var(--olive-accent-soft);color:var(--olive-text)}.customer-action-strip>svg{flex:0 0 auto;color:var(--olive-accent)}.customer-action-strip strong{display:block;font-size:12px}.customer-action-strip p{margin:3px 0 0;color:var(--olive-muted);font-size:10px}@media (max-width: 520px){.customer-welcome{padding:24px 20px 26px;border-radius:22px}.customer-welcome h1{font-size:26px}.customer-summary-grid{gap:7px}.customer-summary-card{min-height:96px;padding:12px;border-radius:16px}.customer-summary-card>strong{font-size:22px}.customer-primary-project{padding:18px;border-radius:19px}}.portal-project-page{max-width:860px}.portal-project-page .hero{margin-bottom:12px;background:linear-gradient(135deg,var(--olive-primary) 0%,#08798a 100%)}.portal-ack-note{margin:0 0 14px;padding:12px 14px;border:1px solid var(--olive-sand);border-radius:14px;background:var(--olive-sand-soft);color:var(--olive-muted);font-size:12px;line-height:1.55}.portal-section-nav{position:sticky;top:67px;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:16px;padding:6px;border:1px solid var(--olive-border);border-radius:16px;background:#fffffff5;box-shadow:0 8px 24px #17252b0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.portal-section-nav a{display:flex;min-height:38px;align-items:center;justify-content:center;border-radius:11px;color:var(--olive-muted);font-size:12px;font-weight:700;text-decoration:none}.portal-section-nav a:hover,.portal-section-nav a:focus-visible{background:var(--olive-primary-soft);color:var(--olive-primary)}.portal-summary-section,.portal-content-section{margin:14px 0;padding:20px;border:1px solid var(--olive-border);border-radius:20px;background:var(--olive-surface);box-shadow:0 10px 28px #17252b0b}.portal-summary-section>h2,.portal-content-section>h2,.portal-interaction-section h2{margin:0 0 14px;color:var(--olive-ink);font-size:18px;letter-spacing:-.03em}.portal-project-page .table-scroll{border-radius:16px;box-shadow:none}.portal-project-page .photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.portal-project-page .photo-thumb{width:auto;padding:10px;border:1px solid var(--olive-border);border-radius:16px;background:var(--olive-surface-soft)}.portal-project-page .photo-thumb img,.portal-project-page .photo-thumb-placeholder{width:100%;height:120px}.portal-interaction-section>div+div{margin-top:22px;padding-top:22px;border-top:1px solid var(--olive-border)}.header{border-bottom:0;box-shadow:0 1px #00667914}.header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--olive-sand) 0 28%,var(--olive-accent) 28% 54%,var(--olive-primary) 54% 100%)}.workspace-kpis>div:nth-child(1){background:var(--olive-primary-soft);border-color:#c8e1e4}.workspace-kpis>div:nth-child(1) strong{color:var(--olive-primary)}.workspace-kpis>div:nth-child(2){background:var(--olive-accent-soft);border-color:#f7cfc1}.workspace-kpis>div:nth-child(2) strong{color:var(--olive-accent)}.workspace-kpis>div:nth-child(3){background:var(--olive-sand-soft);border-color:#e4ddc2}.workspace-kpis>div:nth-child(3) strong{color:#716846}.focus-project{position:relative;background:linear-gradient(135deg,#006679,#08798a 68%,#0b8798);box-shadow:0 18px 42px #00667933}.focus-project:before{content:"";position:absolute;z-index:2;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--olive-sand) 0 32%,var(--olive-accent) 32% 66%,rgba(255,255,255,.34) 66% 100%)}.focus-project-label{color:#e3dcc2}.focus-project-heading p,.focus-project-note,.focus-project-actions{color:#d5eaed}.focus-quick-grid svg{color:#c8edf1}.focus-quick-grid a:nth-child(3n+2) svg{color:#ff9b7b}.focus-quick-grid a:nth-child(3n) svg{color:#ddd4ad}.focus-quick-grid a:hover{background:#ffffff1c}.quick-action{position:relative;overflow:hidden;box-shadow:0 6px 18px #17252b09}.quick-action:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--olive-primary)}.quick-action:nth-child(3n+2):before{background:var(--olive-accent)}.quick-action:nth-child(3n):before{background:var(--olive-sand)}.quick-action:nth-child(3n+2) svg{color:var(--olive-accent)}.quick-action:nth-child(3n) svg{color:#8c825d}.quick-action:nth-child(3n+2):hover{border-color:#f4b39e;background:var(--olive-accent-soft)}.quick-action:nth-child(3n):hover{border-color:#d9cfaa;background:var(--olive-sand-soft)}.workspace-project-card{position:relative}.workspace-project-card:before{content:"";position:absolute;z-index:2;top:14px;bottom:14px;left:0;width:3px;border-radius:0 3px 3px 0;background:var(--olive-primary);opacity:.55}.workspace-project-card:nth-child(3n+2):before{background:var(--olive-accent)}.workspace-project-card:nth-child(3n):before{background:var(--olive-sand)}.workspace-project-card.selected:before{width:4px;opacity:1}.workspace-side .workspace-section:nth-child(1){border-top:3px solid var(--olive-sand)}.workspace-side .workspace-section:nth-child(2){border-top:3px solid var(--olive-accent)}.workspace-side .workspace-section:nth-child(2) .section-kicker{color:var(--olive-accent)}.project-overview .action-row>button:first-child{background:var(--olive-accent);box-shadow:0 8px 20px #ec51222e}.project-overview .sidebar-stack .panel:nth-child(1){border-top:3px solid var(--olive-primary);border-left-color:var(--olive-primary-soft)}.project-overview .sidebar-stack .panel:nth-child(2){border-top:3px solid var(--olive-accent);border-left-color:var(--olive-accent-soft)}.project-overview .sidebar-stack .panel:nth-child(3){border-top:3px solid var(--olive-sand);border-left-color:var(--olive-sand-soft)}.project-overview .sidebar-stack .panel:nth-child(4){border-top:3px solid var(--olive-primary)}.customer-welcome,.portal-project-page .hero{background:linear-gradient(135deg,#006679,#08798a 72%,#0b8798)}.customer-welcome:before,.portal-project-page .hero:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--olive-sand) 0 32%,var(--olive-accent) 32% 66%,rgba(255,255,255,.32) 66% 100%)}.portal-project-page .hero{position:relative;overflow:hidden}.customer-summary-card:nth-child(1){background:var(--olive-primary-soft);border-color:#c8e1e4}.customer-summary-card:nth-child(2){background:var(--olive-accent-soft);border-color:#f7cfc1}.customer-summary-card:nth-child(3){background:var(--olive-sand-soft);border-color:#e4ddc2}.customer-summary-card:nth-child(3)>strong{color:#716846}.customer-primary-project{border-left:4px solid var(--olive-sand)}.customer-action-strip{border-left:4px solid var(--olive-accent)}#portal-progress{border-top:3px solid var(--olive-primary)}#portal-photos{border-top:3px solid var(--olive-accent)}#portal-documents{border-top:3px solid var(--olive-sand)}#portal-requests{border-top:3px solid var(--olive-accent)}#portal-history{border-top:3px solid var(--olive-primary)}.request-board-card{position:relative;overflow:hidden}.request-board-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--olive-accent)}.document-hub-card{border-top:3px solid var(--olive-sand)}@media (max-width: 520px){.header:after{height:2px}.focus-project:before,.customer-welcome:before,.portal-project-page .hero:before{height:4px}}.subpage-shell{max-width:920px}.subpage-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:14px;color:var(--olive-muted);font-size:12px;font-weight:700;text-decoration:none}.subpage-back:hover{color:var(--olive-primary)}.subpage-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.subpage-heading h1{margin:3px 0 0;font-size:clamp(24px,3vw,32px);letter-spacing:-.045em}.subpage-desc{margin:8px 0 0;color:var(--olive-muted);font-size:13px;line-height:1.55}.subpage-count{flex:0 0 auto;min-width:78px;padding:9px 12px;border:1px solid #c8e1e4;border-radius:14px;background:var(--olive-primary-soft);color:var(--olive-primary);font-size:12px;font-weight:800;text-align:center}.subpage-count.accent{border-color:#f7cfc1;background:var(--olive-accent-soft);color:var(--olive-accent)}.subpage-actions{margin:0 0 16px}.subpage-actions>button:first-child,.accent-button{background:var(--olive-accent);box-shadow:0 8px 20px #ec512229}.subpage-toolbar{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(240px,1.3fr);gap:10px;margin:14px 0 18px;padding:12px;border:1px solid var(--olive-border);border-radius:16px;background:var(--olive-surface);box-shadow:0 8px 24px #17252b09}.subpage-toolbar select,.subpage-toolbar input{margin:0}.subpage-shell>.empty-state{min-height:260px;justify-content:center;border-style:solid;border-color:var(--olive-border);background:linear-gradient(135deg,#00667909,#bfb58b12),var(--olive-surface)}.subpage-shell .empty-state-icon{width:54px;height:54px}.subpage-shell .panel{border-radius:18px;box-shadow:0 8px 24px #17252b0a}.subpage-shell .table-scroll,.subpage-shell .item-card{border-radius:18px;box-shadow:0 8px 24px #17252b09}.subpage-shell .item-card:hover{border-color:#bad8dc;transform:translateY(-1px)}.button-like{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 14px;border-radius:10px;font-size:12px;font-weight:800;text-decoration:none}.button-like.secondary{color:var(--olive-primary);border:1px solid #bfd9dd;background:var(--olive-primary-soft)}.share-guide-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:14px;padding:16px 18px;border:1px solid #e4ddc2;border-radius:18px;background:linear-gradient(135deg,var(--olive-sand-soft),#fff)}.share-guide-card>svg{color:#8b8058}.share-guide-card strong{display:block;font-size:14px}.share-guide-card p{margin:4px 0 0;color:var(--olive-muted);font-size:12px}.segmented-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:16px;padding:5px;border-radius:14px;background:var(--olive-surface-soft)}.segmented-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:transparent;color:var(--olive-muted);box-shadow:none}.segmented-tabs button:nth-child(2) svg{color:var(--olive-accent)}.segmented-tabs button:nth-child(3) svg{color:#8c825d}.segmented-tabs button.active{background:var(--olive-surface);color:var(--olive-primary);box-shadow:0 4px 14px #17252b12}.segmented-tabs button.active:nth-child(2){color:var(--olive-accent)}.segmented-tabs button.active:nth-child(3){color:#716846}.subpage-shell .form-grid+textarea,.subpage-shell .panel textarea{background:#fbfcfb}.subpage-shell h2{letter-spacing:-.03em}.subpage-shell .table th{background:linear-gradient(180deg,#f4f7f6,#edf2f0)}.subpage-shell .delayed-row{background:#fff5f1}.subpage-shell .list>li>.item-card,.subpage-shell .list>li>.panel{position:relative;overflow:hidden}.subpage-shell .list>li>.item-card:before,.subpage-shell .list>li>.panel:before{content:"";position:absolute;inset:14px auto 14px 0;width:3px;border-radius:0 3px 3px 0;background:var(--olive-accent)}@media (max-width: 640px){.subpage-heading{gap:10px}.subpage-count{min-width:auto}.subpage-toolbar{grid-template-columns:1fr}.share-guide-card{grid-template-columns:auto 1fr}.share-guide-card .button-like{grid-column:1 / -1}}.photo-page,.schedule-page{max-width:860px}.photo-filter-card{margin-bottom:18px;padding:16px;border:1px solid var(--olive-border);border-radius:18px;background:var(--olive-surface);box-shadow:0 8px 24px #17252b0a}.photo-filter-title,.work-date-strip-head,.site-log-section-title,.section-title-row{display:flex;align-items:center;gap:8px}.photo-filter-title{margin-bottom:12px;color:var(--olive-ink)}.photo-filter-title svg{color:var(--olive-primary)}.photo-filter-title strong{font-size:14px}.filter-reset{margin-left:auto;min-height:32px;padding:6px 10px;background:var(--olive-surface-soft);color:var(--olive-muted);box-shadow:none;font-size:11px}.photo-date-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:8px}.photo-date-row label,.schedule-compact-form label,.site-log-basic-grid label{display:grid;gap:6px}.photo-date-row label>span,.schedule-compact-form label>span,.site-log-basic-grid label>span{color:var(--olive-muted);font-size:11px;font-weight:700}.photo-date-row input,.photo-filter-row select{min-height:42px;margin:0}.date-separator{padding-bottom:12px;color:var(--olive-muted);font-size:12px}.photo-filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.photo-filter-row select:only-child{grid-column:1 / -1}.photo-loading{padding:36px 16px;text-align:center;color:var(--olive-muted);font-size:13px}.photo-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.photo-gallery-grid .photo-thumb{padding:8px;border-radius:14px}.photo-gallery-grid .photo-thumb img,.photo-gallery-grid .photo-thumb-placeholder{height:132px;border-radius:10px}.photo-thumb-meta{display:flex;justify-content:space-between;gap:6px;padding:7px 2px 1px;color:var(--olive-muted);font-size:10px}.schedule-summary-strip{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:1px;overflow:hidden;margin-bottom:14px;border:1px solid var(--olive-border);border-radius:16px;background:var(--olive-border)}.schedule-summary-strip>div{display:grid;gap:4px;min-height:68px;padding:12px 14px;background:var(--olive-surface)}.schedule-summary-strip span{color:var(--olive-muted);font-size:10px;font-weight:700}.schedule-summary-strip strong{color:var(--olive-ink);font-size:13px}.schedule-summary-strip .warning strong{color:var(--olive-accent)}.schedule-calendar-card{margin-bottom:16px;padding:16px;border:1px solid var(--olive-border);border-radius:20px;background:var(--olive-surface);box-shadow:0 10px 28px #17252b0b}.calendar-header{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:8px;margin-bottom:10px}.calendar-header strong{text-align:center;font-size:16px}.calendar-header button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--olive-border);border-radius:10px;background:#fff;color:var(--olive-ink);box-shadow:none;font-size:22px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays{margin-bottom:4px}.calendar-weekdays span{padding:6px 0;text-align:center;color:var(--olive-muted);font-size:10px;font-weight:700}.calendar-weekdays .sun{color:var(--olive-accent)}.calendar-weekdays .sat{color:var(--olive-primary)}.calendar-cell{position:relative;display:grid;place-items:center;align-content:center;min-height:58px;border-top:1px solid #eef1ef;color:var(--olive-ink)}.calendar-cell b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-size:12px;font-weight:700}.calendar-cell.today b{background:var(--olive-primary);color:#fff}.calendar-cell.empty{background:#fbfcfb}.calendar-dots{display:flex;gap:3px;height:7px}.calendar-dots i,.calendar-legend i{width:6px;height:6px;border-radius:50%;background:var(--olive-sand)}.calendar-dots i.active,.calendar-legend i.active{background:var(--olive-primary)}.calendar-dots i.delayed,.calendar-legend i.delayed{background:var(--olive-accent)}.calendar-dots i.done,.calendar-legend i.done{background:#8c825d}.calendar-legend{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;color:var(--olive-muted);font-size:10px}.calendar-legend span{display:inline-flex;align-items:center;gap:5px}.calendar-legend em{margin-left:auto;color:var(--olive-primary);font-style:normal;font-weight:800}.schedule-editor-card,.schedule-add-card,.schedule-list-section{margin-top:16px;padding:16px;border:1px solid var(--olive-border);border-radius:18px;background:var(--olive-surface);box-shadow:0 8px 24px #17252b09}.schedule-editor-card h2,.schedule-add-card h2,.schedule-list-section h2{margin:0 0 12px;font-size:17px}.schedule-compact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.schedule-compact-form input,.schedule-compact-form select,.schedule-compact-form textarea{min-height:42px;margin:0}.schedule-compact-form .span-2{grid-column:1 / -1}.schedule-compact-form button.span-2{width:100%;margin-top:2px}.section-title-row{justify-content:space-between}.section-title-row>span{color:var(--olive-muted);font-size:11px}.schedule-mobile-list{display:none}.schedule-mobile-card{padding:14px;border:1px solid var(--olive-border);border-radius:15px;background:#fff}.schedule-mobile-card+.schedule-mobile-card{margin-top:8px}.schedule-mobile-card.delayed{border-left:4px solid var(--olive-accent)}.schedule-mobile-card-head{display:flex;justify-content:space-between;gap:12px}.schedule-mobile-card-head>div{display:grid;gap:3px}.schedule-mobile-card-head span,.schedule-mobile-card p{color:var(--olive-muted);font-size:10px}.schedule-mobile-card-head strong{font-size:13px}.schedule-mobile-card-head>b{color:var(--olive-primary);font-size:13px}.schedule-mobile-card p{margin:7px 0}.schedule-mobile-controls{display:grid;grid-template-columns:minmax(0,1fr) 72px auto;gap:6px;align-items:center}.schedule-mobile-controls select,.schedule-mobile-controls input{min-height:36px;margin:0;padding:7px 9px;font-size:11px}.work-date-strip{margin-bottom:10px;padding:14px;border:1px solid var(--olive-border);border-radius:18px;background:var(--olive-surface);box-shadow:0 8px 24px #17252b09}.work-date-strip-head{justify-content:space-between;margin-bottom:10px}.work-date-strip-head>div{display:flex;align-items:center;gap:7px}.work-date-strip-head svg{color:var(--olive-primary)}.work-date-strip-head strong{font-size:13px}.work-date-strip-head button{padding:5px 8px;font-size:11px}.work-date-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.work-date-days button{display:grid;gap:3px;justify-items:center;min-height:54px;padding:7px 2px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--olive-ink);box-shadow:none}.work-date-days button span{color:var(--olive-muted);font-size:9px}.work-date-days button strong{font-size:13px}.work-date-days button:first-child span{color:var(--olive-accent)}.work-date-days button:last-child span{color:var(--olive-primary)}.work-date-days button.selected{background:var(--olive-primary);color:#fff;box-shadow:0 6px 14px #0066792e}.work-date-days button.selected span{color:#d9f1f4}.work-date-strip>p{margin:9px 0 0;text-align:center;color:var(--olive-muted);font-size:11px}.site-log-actions{justify-content:flex-end}.site-log-actions button{min-height:38px;padding:8px 13px;font-size:11px}.site-log-editor{display:grid;gap:10px}.site-log-card{padding:14px;border:1px solid var(--olive-border);border-radius:17px;background:var(--olive-surface);box-shadow:0 7px 20px #17252b08}.site-log-section-title{margin-bottom:10px;color:var(--olive-ink)}.site-log-section-title svg{color:var(--olive-primary)}.site-log-section-title strong{font-size:13px}.site-log-section-title em{color:var(--olive-accent);font-style:normal}.site-log-section-title.accent svg{color:var(--olive-accent)}.site-log-section-title.split{justify-content:space-between}.site-log-section-title.split>div{display:flex;align-items:center;gap:8px}.site-log-basic-grid{display:grid;grid-template-columns:1fr 1.3fr .8fr;gap:8px}.site-log-basic-grid input,.site-log-basic-grid select,.site-log-card textarea{min-height:40px;margin:0}.site-log-main-textarea{min-height:94px!important}.site-log-process-chips{display:flex;flex-wrap:wrap;gap:7px}.site-log-process-chips label{cursor:pointer}.site-log-process-chips input{display:none}.site-log-process-chips span{display:inline-flex;min-height:34px;align-items:center;padding:7px 11px;border:1px solid var(--olive-border);border-radius:999px;background:var(--olive-surface-soft);color:var(--olive-muted);font-size:11px}.site-log-process-chips label.selected span{border-color:#afd3d8;background:var(--olive-primary-soft);color:var(--olive-primary);font-weight:800}.site-log-helper{margin:0;color:var(--olive-muted);font-size:11px;line-height:1.55}.secondary-button.compact{min-height:32px;padding:6px 9px;border:1px solid #c8e1e4;background:var(--olive-primary-soft);color:var(--olive-primary);box-shadow:none;font-size:10px}.site-log-inline-empty{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:12px;background:var(--olive-surface-soft);color:var(--olive-muted);font-size:11px}.site-log-inline-empty svg{color:var(--olive-primary)}.crew-list{display:grid;gap:7px}.crew-row{display:grid;grid-template-columns:minmax(0,1fr) 80px auto;gap:7px;align-items:center}.crew-row input{min-height:38px;margin:0}.crew-count{text-align:center}.site-log-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.site-log-photo-guide{background:linear-gradient(135deg,var(--olive-primary-soft),#fff)}.site-log-photo-guide p{margin:0;color:var(--olive-muted);font-size:11px;line-height:1.55}.site-log-save{width:100%;min-height:44px;background:var(--olive-accent);box-shadow:0 8px 20px #ec51222b}@media (max-width: 720px){.page.subpage-shell{width:100%;padding:18px 14px 88px}.subpage-back{margin-bottom:10px;font-size:11px}.subpage-heading{margin-bottom:13px}.subpage-heading h1{font-size:22px;line-height:1.2}.page-eyebrow{font-size:9px;letter-spacing:.12em}.subpage-desc{margin-top:5px;font-size:11px;line-height:1.45}.subpage-count{padding:7px 9px;border-radius:12px;font-size:10px}.photo-filter-card,.schedule-calendar-card,.schedule-editor-card,.schedule-add-card,.schedule-list-section,.work-date-strip,.site-log-card{border-radius:15px}.photo-filter-card{padding:13px}.photo-date-row{grid-template-columns:1fr 18px 1fr;gap:4px}.photo-date-row label>span{display:none}.photo-date-row input,.photo-filter-row select{min-height:39px;padding:8px 9px;font-size:11px}.date-separator{padding-bottom:11px;text-align:center}.photo-filter-row{grid-template-columns:1fr;margin-top:7px}.photo-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.photo-gallery-grid .photo-thumb img,.photo-gallery-grid .photo-thumb-placeholder{height:118px}.schedule-summary-strip{grid-template-columns:repeat(2,1fr);border-radius:14px}.schedule-summary-strip>div{min-height:58px;padding:9px 10px}.schedule-summary-strip>div:first-child{grid-column:1 / -1}.schedule-summary-strip span{font-size:9px}.schedule-summary-strip strong{font-size:11px}.schedule-calendar-card{padding:12px 10px}.calendar-header strong{font-size:14px}.calendar-cell{min-height:43px}.calendar-cell b{width:26px;height:26px;font-size:11px}.calendar-legend{gap:8px;font-size:9px}.schedule-editor-card,.schedule-add-card,.schedule-list-section{padding:13px}.schedule-compact-form{grid-template-columns:1fr;gap:8px}.schedule-compact-form .span-2{grid-column:auto}.schedule-compact-form label>span{font-size:10px}.schedule-compact-form input,.schedule-compact-form select,.schedule-compact-form textarea{min-height:39px;font-size:11px}.schedule-table-desktop{display:none}.schedule-mobile-list{display:block}.site-log-actions{margin-bottom:10px}.work-date-strip{padding:12px 9px}.work-date-days{gap:2px}.work-date-days button{min-height:49px;border-radius:10px}.work-date-days button strong{font-size:12px}.site-log-card{padding:12px}.site-log-basic-grid{grid-template-columns:1fr 1fr}.site-log-basic-grid label:nth-child(3){grid-column:1 / -1}.site-log-basic-grid label>span{font-size:9px}.site-log-basic-grid input,.site-log-basic-grid select{min-height:38px;font-size:11px}.site-log-section-title{margin-bottom:8px}.site-log-section-title strong{font-size:12px}.site-log-card textarea{padding:10px;font-size:11px;line-height:1.45}.site-log-main-textarea{min-height:82px!important}.site-log-two-col{grid-template-columns:1fr}.crew-row{grid-template-columns:minmax(0,1fr) 66px auto}.crew-row input{font-size:11px}.site-log-save{min-height:42px;font-size:12px}}@media (min-width: 721px){.schedule-mobile-list{display:none}}.login-page{min-height:calc(100vh - 70px);padding:28px 16px}.login-card{width:min(430px,100%);padding:26px;border:1px solid var(--olive-border);border-radius:24px;background:var(--olive-surface);box-shadow:0 18px 50px #17252b14}.login-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:20px}.login-brand p{margin:0;color:var(--olive-primary);font-size:20px;font-weight:900;letter-spacing:-.03em}.login-brand-mark{width:42px;height:42px;border-radius:13px;font-size:18px}.login-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;border-radius:14px;background:var(--olive-surface-soft)}.login-mode-tabs button{min-height:40px;padding:8px 10px;background:transparent;color:var(--olive-muted);box-shadow:none;font-size:12px}.login-mode-tabs button.active{background:#fff;color:var(--olive-primary);box-shadow:0 4px 14px #17252b12}.login-mode-tabs button:last-child.active{color:var(--olive-accent)}.login-copy{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;margin:22px 0 18px}.login-copy-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--olive-primary-soft);color:var(--olive-primary)}.login-copy h1{margin:0;font-size:21px;letter-spacing:-.04em}.login-copy p{margin:5px 0 0;color:var(--olive-muted);font-size:11px;line-height:1.5}.login-form{display:grid;gap:13px}.login-form label{display:grid;gap:7px;color:var(--olive-ink);font-size:11px;font-weight:800}.login-input-wrap{position:relative;display:block}.login-input-wrap>svg{position:absolute;z-index:2;top:50%;left:13px;color:var(--olive-muted);transform:translateY(-50%)}.login-input-wrap input{min-height:46px;margin:0;padding-left:39px}.login-submit{display:flex;width:100%;min-height:46px;align-items:center;justify-content:center;gap:7px;margin-top:2px}.login-help{margin:16px 0 0;text-align:center;color:var(--olive-muted);font-size:10px;line-height:1.45}.login-error{margin:0}.customer-account-card{margin-bottom:14px;padding:17px;border:1px solid #c8e1e4;border-radius:19px;background:linear-gradient(135deg,var(--olive-primary-soft),#fff 70%);box-shadow:0 8px 24px #17252b09}.customer-account-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}.customer-account-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#fff;color:var(--olive-primary);box-shadow:0 4px 12px #00667914}.customer-account-head strong{display:block;font-size:14px}.customer-account-head p{margin:4px 0 0;color:var(--olive-muted);font-size:10px;line-height:1.45}.account-ready{padding:6px 9px;border-radius:999px;background:#fff;color:var(--olive-primary);font-size:10px;font-weight:900}.customer-account-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}.customer-account-info>div{display:grid;gap:4px;padding:10px 12px;border:1px solid rgba(0,102,121,.12);border-radius:12px;background:#fffc}.customer-account-info span,.customer-account-form label>span{color:var(--olive-muted);font-size:9px;font-weight:700}.customer-account-info strong{font-size:12px}.customer-account-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.secondary-button{min-height:38px;padding:8px 12px;border:1px solid #bfd9dd;background:var(--olive-primary-soft);color:var(--olive-primary);box-shadow:none}.customer-account-empty{margin-top:13px;padding:12px;border-radius:13px;background:#ffffffc7}.customer-account-empty strong{font-size:12px}.customer-account-empty p{margin:5px 0 0;color:var(--olive-muted);font-size:10px}.customer-account-issue{margin-top:10px}.customer-account-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(0,102,121,.12)}.customer-account-form label{display:grid;gap:5px}.customer-account-form input{min-height:39px;margin:0;font-size:11px}.customer-account-form button{grid-column:1 / -1;min-height:39px}.customer-account-form.compact{grid-template-columns:minmax(0,1fr) auto;align-items:end}.customer-account-form.compact button{grid-column:auto}.customer-project-detail{max-width:880px}.portal-preview-banner{display:flex;flex-wrap:wrap;align-items:center;gap:7px 12px;margin-bottom:10px;padding:10px 13px;border:1px solid #e4ddc2;border-radius:13px;background:var(--olive-sand-soft)}.portal-preview-banner strong{color:#716846;font-size:11px}.portal-preview-banner span{color:var(--olive-muted);font-size:10px}.customer-project-hero{min-height:142px;padding:24px 26px}.portal-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:13px}.portal-section-heading p{margin:0 0 3px;color:var(--olive-primary);font-size:9px;font-weight:900}.portal-section-heading h2{margin:0;font-size:18px}.portal-section-heading>span{color:var(--olive-muted);font-size:10px}.portal-finance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portal-finance-card{overflow:hidden;border:1px solid var(--olive-border);border-radius:15px;background:#fff}.portal-finance-head{display:flex;justify-content:space-between;padding:11px 12px;background:var(--olive-surface-soft)}.portal-finance-head strong{font-size:12px}.portal-finance-head span{color:var(--olive-muted);font-size:9px}.portal-finance-card>p{margin:0;padding:14px 12px;color:var(--olive-muted);font-size:10px}.portal-finance-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 12px;border-top:1px solid #eef1ef}.portal-finance-list>div>div{display:grid;gap:2px}.portal-finance-list strong{font-size:11px}.portal-finance-list span{color:var(--olive-muted);font-size:9px}.portal-finance-list b{color:var(--olive-primary);font-size:11px}.portal-progress-list{display:grid;gap:9px}.portal-progress-card{padding:13px;border:1px solid var(--olive-border);border-radius:14px;background:#fff}.portal-progress-head{display:flex;justify-content:space-between;gap:12px}.portal-progress-head>div{display:grid;gap:3px}.portal-progress-head strong{font-size:12px}.portal-progress-head span{color:var(--olive-muted);font-size:9px}.portal-progress-head b{color:var(--olive-primary);font-size:13px}.portal-progress-bar{overflow:hidden;height:6px;margin:10px 0;border-radius:999px;background:#edf2f0}.portal-progress-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--olive-primary),#0b8798)}.portal-progress-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:7px}.portal-progress-foot>span{color:var(--olive-muted);font-size:9px}.portal-ack-action{display:flex;flex-wrap:wrap;align-items:center;gap:5px;color:var(--olive-muted);font-size:9px}.portal-ack-action button{min-height:28px;padding:5px 8px;border:1px solid #bfd9dd;background:var(--olive-primary-soft);color:var(--olive-primary);box-shadow:none;font-size:9px}.portal-ack-state{margin:6px 0 0;color:var(--olive-muted);font-size:9px}.portal-ack-state.complete{color:var(--olive-primary)}.portal-photo-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:9px}.portal-photo-card{width:auto;padding:8px}.portal-photo-card img,.portal-photo-card .photo-thumb-placeholder{width:100%;height:128px}.portal-photo-date{margin:6px 0 0;color:var(--olive-muted);font-size:9px}.portal-document-list{display:grid;gap:8px}.portal-document-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--olive-border);border-radius:14px;background:#fff}.portal-document-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--olive-sand-soft);color:#8c825d}.portal-document-main{min-width:0}.portal-document-main>strong{display:block;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.portal-document-main>p,.portal-document-main>span{margin:3px 0 0;color:var(--olive-muted);font-size:9px}.portal-preview-only{display:flex;gap:10px;align-items:center;padding:13px;border-radius:13px;background:var(--olive-surface-soft)}.portal-preview-only svg{color:var(--olive-accent)}.portal-preview-only strong{display:block;font-size:11px}.portal-preview-only p{margin:3px 0 0;color:var(--olive-muted);font-size:9px}.portal-timeline-list{display:grid;gap:0}.portal-timeline-list article{display:grid;grid-template-columns:12px 1fr;gap:8px;padding:9px 0}.portal-timeline-list article>i{position:relative;width:8px;height:8px;margin-top:4px;border:2px solid var(--olive-primary);border-radius:50%;background:#fff}.portal-timeline-list article>div{display:grid;gap:2px}.portal-timeline-list strong{font-size:11px}.portal-timeline-list p{margin:0;color:var(--olive-muted);font-size:9px}.portal-timeline-list span{color:var(--olive-muted);font-size:8px}@media (max-width: 640px){.login-card{padding:22px 18px;border-radius:20px}.login-copy h1{font-size:19px}.login-mode-tabs button{font-size:11px}.customer-account-head{grid-template-columns:auto minmax(0,1fr)}.account-ready{grid-column:1 / -1;justify-self:start}.customer-account-info,.customer-account-form,.customer-account-form.compact{grid-template-columns:1fr}.customer-account-form button,.customer-account-form.compact button{grid-column:auto}.customer-project-hero{min-height:120px;padding:20px 18px}.portal-finance-grid{grid-template-columns:1fr}.portal-project-page .portal-summary-section,.portal-project-page .portal-content-section{padding:14px;border-radius:15px}.portal-section-nav{top:64px;gap:3px;padding:4px;border-radius:13px}.portal-section-nav a{min-height:34px;padding:4px 2px;font-size:10px}.portal-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-document-card{grid-template-columns:auto minmax(0,1fr)}.portal-document-card>button{grid-column:1 / -1;justify-self:stretch}}.workspace-customer-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:8px 11px;border:1px solid #c8e1e4;border-radius:10px;background:var(--olive-primary-soft);color:var(--olive-primary);font-size:11px;font-weight:800;text-decoration:none}.workspace-customer-link:hover{border-color:var(--olive-primary);background:#dceef0}.customer-crm-page{max-width:980px}.customer-crm-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.customer-crm-heading h1{margin:3px 0 0;font-size:clamp(25px,3vw,34px);letter-spacing:-.045em}.customer-crm-heading>div>p:last-child{margin:8px 0 0;color:var(--olive-muted);font-size:12px;line-height:1.5}.customer-crm-heading>button{flex:0 0 auto}.customer-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.customer-kpis button{display:grid;gap:3px;min-height:72px;padding:11px;border:1px solid var(--olive-border);border-radius:15px;background:#fff;color:var(--olive-muted);box-shadow:0 7px 20px #17252b08;text-align:left}.customer-kpis button strong{color:var(--olive-ink);font-size:18px}.customer-kpis button span{font-size:10px;font-weight:800}.customer-kpis button.active{border-color:var(--olive-primary);background:var(--olive-primary-soft);color:var(--olive-primary)}.customer-kpis button.consulting.active{border-color:#e4ddc2;background:var(--olive-sand-soft);color:#716846}.customer-kpis button.progress.active{border-color:#c8e1e4;background:var(--olive-primary-soft);color:var(--olive-primary)}.customer-kpis button.completed.active{border-color:#d8e5df;background:#eef6f2;color:#52705f}.customer-create-card{margin-bottom:16px;padding:17px;border:1px solid #f4c3b3;border-radius:19px;background:linear-gradient(135deg,var(--olive-accent-soft),#fff 78%);box-shadow:0 9px 26px #ec51220d}.customer-create-title{display:flex;align-items:center;gap:11px;margin-bottom:13px}.customer-create-title>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#fff;color:var(--olive-accent)}.customer-create-title strong{display:block;font-size:14px}.customer-create-title p{margin:3px 0 0;color:var(--olive-muted);font-size:10px}.customer-create-grid,.customer-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.customer-create-grid label,.customer-edit-form label,.customer-inline-project label{display:grid;gap:5px}.customer-create-grid label>span,.customer-edit-form label>span,.customer-inline-project label>span{color:var(--olive-muted);font-size:9px;font-weight:800}.customer-create-grid input,.customer-create-grid textarea,.customer-edit-form input,.customer-edit-form textarea,.customer-edit-form select,.customer-inline-project input{min-height:40px;margin:0;font-size:11px}.customer-create-grid .span-2,.customer-edit-form .span-2{grid-column:1 / -1}.project-title-field{padding-top:9px;border-top:1px solid rgba(236,81,34,.12)}.customer-create-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.customer-create-actions button{min-height:40px;font-size:11px}.customer-search-row{margin-bottom:12px}.customer-search-row input{width:100%;min-height:42px;margin:0;padding-left:14px;font-size:11px;background:#fff}.customer-crm-list{display:grid;gap:10px}.customer-crm-card{padding:15px;border:1px solid var(--olive-border);border-radius:18px;background:#fff;box-shadow:0 8px 24px #17252b09}.customer-crm-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px}.customer-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--olive-primary-soft);color:var(--olive-primary)}.customer-main{min-width:0}.customer-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.customer-name-row>strong{font-size:14px}.customer-main>p{overflow:hidden;margin:4px 0 0;color:var(--olive-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.customer-status,.invite-state{display:inline-flex;align-items:center;min-height:23px;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:900}.customer-status.consulting{background:var(--olive-sand-soft);color:#716846}.customer-status.in_progress{background:var(--olive-primary-soft);color:var(--olive-primary)}.customer-status.completed{background:#eef6f2;color:#52705f}.invite-state{background:var(--olive-surface-soft);color:var(--olive-muted)}.invite-state.connected{background:var(--olive-primary-soft);color:var(--olive-primary)}.customer-note{margin:11px 0 0;padding:10px 11px;border-radius:12px;background:var(--olive-surface-soft);color:var(--olive-ink);font-size:10px;line-height:1.55;white-space:pre-wrap}.customer-project-summary{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px;margin-top:10px}.customer-project-summary>div{display:grid;gap:3px;padding:9px 10px;border:1px solid var(--olive-border);border-radius:11px;background:#fcfdfc}.customer-project-summary span{color:var(--olive-muted);font-size:8px;font-weight:700}.customer-project-summary strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.customer-card-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.customer-card-actions button,.customer-card-actions .button-like{min-height:34px;padding:6px 10px;font-size:10px}.accent-link{color:#fff;border:1px solid var(--olive-accent);background:var(--olive-accent)}.customer-inline-project{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin-top:10px;padding:11px;border-radius:13px;background:var(--olive-accent-soft)}.customer-inline-project button{min-height:40px}.customer-edit-form{margin-top:12px;padding-top:12px;border-top:1px solid var(--olive-border)}.customer-edit-actions{display:flex;justify-content:flex-end;gap:7px}.customer-crm-error{margin:0 0 12px}@media (max-width: 640px){.customer-crm-page{padding-bottom:90px}.customer-crm-heading{align-items:center}.customer-crm-heading h1{font-size:22px}.customer-crm-heading>div>p:last-child{font-size:10px}.customer-crm-heading>button{min-height:36px;padding:7px 10px;font-size:10px}.customer-kpis{gap:5px}.customer-kpis button{min-height:60px;padding:8px;border-radius:12px}.customer-kpis button strong{font-size:15px}.customer-kpis button span{font-size:8px}.customer-create-card{padding:14px;border-radius:16px}.customer-create-grid,.customer-edit-form{grid-template-columns:1fr}.customer-create-grid .span-2,.customer-edit-form .span-2{grid-column:auto}.customer-create-actions{display:grid;grid-template-columns:1fr 1fr}.customer-create-actions button{width:100%;padding:8px 6px;font-size:9px}.customer-crm-card{padding:13px;border-radius:15px}.customer-crm-top{grid-template-columns:auto minmax(0,1fr)}.invite-state{grid-column:2;justify-self:start}.customer-project-summary{grid-template-columns:78px minmax(0,1fr)}.customer-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.customer-card-actions>*{width:100%}.customer-inline-project{grid-template-columns:1fr}}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,Segoe UI,system-ui,sans-serif;font-size:15px;line-height:1.55;letter-spacing:-.015em;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{letter-spacing:-.015em}.page-eyebrow,.hero-eyebrow,.section-kicker{text-transform:none;letter-spacing:-.01em;font-weight:800}.meta{line-height:1.5}.global-tool-page{max-width:920px}.global-tool-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.global-tool-heading h1{margin:3px 0 0;font-size:28px;letter-spacing:-.045em}.global-tool-heading>div>p:last-child{margin:7px 0 0;color:var(--olive-muted);font-size:13px;line-height:1.55}.month-switcher{display:grid;grid-template-columns:42px minmax(150px,1fr) 42px;align-items:center;gap:8px;max-width:360px;margin:0 auto 16px;padding:6px;border:1px solid var(--olive-border);border-radius:15px;background:var(--olive-surface);box-shadow:0 7px 20px #17252b09}.month-switcher strong{text-align:center;font-size:15px}.month-switcher button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--olive-border);background:#fff;color:var(--olive-ink);box-shadow:none;font-size:22px}.compact-date-filter{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:end;gap:6px;max-width:520px;margin:0 0 16px;padding:12px;border:1px solid var(--olive-border);border-radius:15px;background:#fff}.compact-date-filter label{display:grid;gap:5px}.compact-date-filter label>span{color:var(--olive-muted);font-size:11px;font-weight:800}.compact-date-filter input{margin:0}.compact-date-filter>span{padding-bottom:11px;text-align:center;color:var(--olive-muted)}.global-card-list{display:none}.global-schedule-card,.global-log-card{color:inherit;text-decoration:none}.global-schedule-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--olive-border);border-radius:15px;background:#fff}.global-schedule-card+.global-schedule-card{margin-top:8px}.global-schedule-card.delayed{border-left:4px solid var(--olive-accent)}.global-schedule-card>div:first-child{display:grid;gap:3px}.global-schedule-card span{color:var(--olive-primary);font-size:11px;font-weight:800}.global-schedule-card strong{font-size:14px}.global-schedule-card p{margin:2px 0 0;color:var(--olive-muted);font-size:11px}.global-card-status{display:grid;gap:5px;justify-items:end}.global-card-status b{color:var(--olive-primary);font-size:11px}.global-card-status em{color:var(--olive-accent);font-size:10px;font-style:normal;font-weight:800}.global-log-card{display:grid;grid-template-columns:74px minmax(0,1fr);gap:12px;padding:13px;border:1px solid var(--olive-border);border-radius:15px;background:#fff}.global-log-card+.global-log-card{margin-top:8px}.global-log-date{display:grid;align-content:center;gap:3px;padding-right:10px;border-right:1px solid var(--olive-border)}.global-log-date strong{color:var(--olive-primary);font-size:14px}.global-log-date span{overflow:hidden;color:var(--olive-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.global-log-body{min-width:0;display:grid;gap:4px}.global-log-body>strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.global-log-body>p{margin:0;color:var(--olive-muted);font-size:11px}.global-log-body>div{display:flex;flex-wrap:wrap;gap:7px;color:var(--olive-muted);font-size:10px}.global-log-body em{color:var(--olive-accent);font-style:normal;font-weight:800}@media (max-width: 720px){body{font-size:15px;line-height:1.58}.header{min-height:62px;padding:10px 14px}.brand{font-size:19px;letter-spacing:-.035em}.brand-mark{width:34px;height:34px;border-radius:10px;font-size:15px}main{min-width:0}.page,.workspace-page,.customer-home{width:100%}.page:not(.subpage-shell),.global-tool-page{padding:18px 14px 90px}.workspace-page,.customer-home{padding-left:14px;padding-right:14px;padding-bottom:90px}.page h1,.subpage-heading h1,.workspace-title-row h1,.global-tool-heading h1{font-size:24px;line-height:1.22;letter-spacing:-.045em}.page h2,.portal-section-heading h2,.section-heading h2{font-size:18px;line-height:1.3}.page-eyebrow,.hero-eyebrow,.section-kicker{font-size:11px;line-height:1.3;letter-spacing:-.01em}.workspace-subtitle,.subpage-desc,.global-tool-heading>div>p:last-child,.customer-crm-heading>div>p:last-child,.login-copy p{font-size:13px;line-height:1.55}.meta,.empty-copy,.site-log-helper,.portal-preview-only p,.share-guide-card p{font-size:12px;line-height:1.55}input,select,textarea{min-height:44px;padding:10px 12px;font-size:16px!important;line-height:1.35}textarea{min-height:88px}button,.button-like{min-height:42px;font-size:14px;line-height:1.25;font-weight:800}button.link{min-height:34px;font-size:12px}.bottom-nav{min-height:66px;padding-top:3px;box-shadow:0 -4px 18px #17252b0f}.bottom-nav-item{min-height:62px;gap:4px;padding:8px 3px 7px;font-size:12px;font-weight:750}.bottom-nav-item svg{width:24px;height:24px}.quick-actions{gap:8px}.quick-action{min-height:74px;padding:11px 7px;font-size:12px;font-weight:800;line-height:1.25;text-align:center}.quick-action svg{width:22px;height:22px}.panel,.workspace-section,.portal-summary-section,.portal-content-section,.customer-crm-card{line-height:1.55}.panel p,.item-card p,.request-board-card p,.document-hub-card p{font-size:13px;line-height:1.5}.empty-state{padding:28px 18px}.empty-state-title{font-size:16px}.empty-state-desc{max-width:300px;font-size:13px;line-height:1.55}.global-tool-heading{margin-bottom:14px}.global-tool-heading>div{min-width:0}.month-switcher{max-width:none;margin-bottom:13px}.compact-date-filter{max-width:none;padding:10px}.compact-date-filter label>span{font-size:11px}.compact-date-filter input{font-size:14px!important}.global-table-desktop{display:none}.global-card-list{display:block}.global-schedule-card strong,.global-log-body>strong{font-size:14px}.global-schedule-card p,.global-log-body>p{font-size:12px}.customer-kpis button span,.customer-status,.invite-state,.customer-create-title p,.customer-main>p,.customer-project-summary span,.customer-account-head p,.customer-account-info span{font-size:11px}.customer-crm-card .customer-name-row>strong{font-size:16px}.customer-note{font-size:13px}.customer-card-actions button,.customer-card-actions .button-like{min-height:40px;font-size:12px}.portal-section-nav a{font-size:12px;font-weight:800}.portal-progress-head strong,.portal-finance-head strong,.portal-document-main>strong,.portal-timeline-list strong{font-size:13px}.portal-progress-head span,.portal-document-main>p,.portal-document-main>span,.portal-ack-action,.portal-ack-state,.portal-timeline-list p,.portal-timeline-list span{font-size:11px}}.header-account-link{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:7px 10px;border-radius:10px;color:var(--olive-text);text-decoration:none;font-weight:800;white-space:nowrap}.header-account-link:hover{background:var(--olive-surface-soft)}.header-account-link svg{color:var(--olive-primary)}.account-page{max-width:760px}.account-summary-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;margin-bottom:14px;padding:15px;border:1px solid #c8e1e4;border-radius:18px;background:linear-gradient(135deg,var(--olive-primary-soft),#fff 75%)}.account-summary-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#fff;color:var(--olive-primary);box-shadow:0 5px 14px #00667914}.account-summary-card strong{display:block;font-size:15px}.account-summary-card p{margin:3px 0;color:var(--olive-muted);font-size:11px}.account-summary-card div>span{color:var(--olive-primary);font-size:11px;font-weight:800}.account-section{margin-top:11px;padding:16px;border:1px solid var(--olive-border);border-radius:18px;background:#fff;box-shadow:0 8px 24px #17252b09}.account-section-title{display:flex;align-items:center;gap:10px;margin-bottom:13px}.account-section-title>svg{flex:0 0 auto;color:var(--olive-primary)}.account-section-title h2{margin:0;font-size:16px}.account-section-title p{margin:2px 0 0;color:var(--olive-muted);font-size:10px}.account-form-grid,.account-password-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:10px}.account-password-grid{grid-template-columns:1fr}.account-form-grid label,.account-password-grid label{display:grid;gap:5px}.account-form-grid label>span,.account-password-grid label>span{color:var(--olive-muted);font-size:10px;font-weight:800}.account-form-grid input,.account-password-grid input{min-height:42px;margin:0}.account-section>button{min-height:40px}.account-success{margin:10px 0 0;color:var(--olive-success);font-size:11px;font-weight:700}.account-error{margin-top:12px}.account-relogin{width:100%;margin-top:14px;border:1px solid var(--olive-border);background:var(--olive-surface-soft);color:var(--olive-text);box-shadow:none}@media (max-width: 640px){.header-account-link{min-height:36px;padding:6px 7px;gap:4px;font-size:12px!important}.header-account-link svg{width:18px;height:18px}.nav{gap:2px}.nav .icon-btn{width:36px;height:36px}.account-summary-card{padding:14px;border-radius:16px}.account-summary-card strong{font-size:16px}.account-summary-card p,.account-summary-card div>span{font-size:12px}.account-section{padding:14px;border-radius:16px}.account-section-title h2{font-size:17px}.account-section-title p{font-size:12px;line-height:1.5}.account-form-grid{grid-template-columns:1fr}.account-form-grid label>span,.account-password-grid label>span{font-size:12px}.account-section>button,.account-relogin{width:100%}.account-success{font-size:12px;line-height:1.5}}html,body,button,input,select,textarea,a{font-family:Pretendard,system-ui,sans-serif!important}body{font-size:16px;line-height:1.6;letter-spacing:-.018em;font-weight:400;-webkit-font-smoothing:auto;text-rendering:auto}button,.button-like,input,select,textarea{font-size:16px}.page-eyebrow,.hero-eyebrow,.section-kicker,.focus-project-label{font-size:13px;font-weight:700;letter-spacing:.015em}.workspace-subtitle,.subpage-desc,.global-tool-heading>div>p:last-child,.customer-crm-heading>div>p:last-child{font-size:15px;line-height:1.6}.workspace-kpis strong{font-size:23px}.workspace-kpis span{font-size:13px;font-weight:500}.focus-project-heading h2{font-size:29px;line-height:1.25;font-weight:700}.focus-project-heading p{font-size:15px;line-height:1.55}.focus-progress-head{font-size:14px}.focus-progress-head strong{font-size:17px}.focus-project-note,.focus-project-actions{font-size:14px}.focus-quick-grid span{font-size:14px;font-weight:600}.meta,.customer-main>p,.customer-project-summary strong,.customer-note,.request-board-card p,.document-hub-card p,.panel p{font-size:14px;line-height:1.55}.customer-status,.invite-state,.subpage-count{font-size:12px}.bottom-nav-item{font-size:13px;font-weight:600}.header-account-link{font-size:14px!important}@media (max-width: 720px){body{font-size:16px;line-height:1.62}.workspace-title-row h1,.page h1,.subpage-heading h1,.global-tool-heading h1{font-size:26px;line-height:1.25;font-weight:700;letter-spacing:-.035em}.page h2,.portal-section-heading h2,.section-heading h2{font-size:20px;font-weight:700}.workspace-subtitle,.subpage-desc,.global-tool-heading>div>p:last-child,.customer-crm-heading>div>p:last-child,.login-copy p{font-size:15px;line-height:1.62}.page-eyebrow,.hero-eyebrow,.section-kicker,.focus-project-label{font-size:13px}.workspace-kpis>div{padding:14px 15px}.workspace-kpis strong{font-size:24px}.workspace-kpis span{margin-top:7px;font-size:13px}.focus-project-main{padding:24px 22px 22px}.focus-project-label{margin-bottom:10px}.focus-project-heading h2{font-size:28px}.focus-project-heading p{margin-top:7px;font-size:15px}.focus-progress-head,.focus-project-note,.focus-project-actions{font-size:14px}.focus-progress-head strong{font-size:17px}.focus-quick-grid span{font-size:14px}.quick-action{font-size:14px;font-weight:600}.bottom-nav-item{font-size:13px;font-weight:600}.customer-kpis button span,.customer-status,.invite-state,.customer-create-title p,.customer-main>p,.customer-project-summary span,.customer-account-head p,.customer-account-info span{font-size:13px}.customer-project-summary strong,.customer-note,.customer-card-actions button,.customer-card-actions .button-like{font-size:14px}.meta,.empty-state-desc,.site-log-helper,.portal-preview-only p,.share-guide-card p,.portal-progress-head span,.portal-document-main>p,.portal-document-main>span,.portal-ack-action,.portal-ack-state,.portal-timeline-list p,.portal-timeline-list span{font-size:13px;line-height:1.6}input,select,textarea{font-size:16px!important;font-weight:400}button,.button-like{font-size:15px;font-weight:600}.header-account-link{font-size:14px!important}}
