@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/variable/pretendardvariable.css";.app-layout .app-nav{min-width:0}.app-layout .app-nav ul{flex-wrap:nowrap;min-width:max-content}.app-layout .app-nav a{white-space:nowrap}@media (width<=820px){.app-layout .app-header{padding-inline:16px}.app-layout .app-nav{overscroll-behavior-x:contain;scrollbar-width:thin;width:calc(100% + 32px);margin-inline:-16px;padding-inline:16px;display:block;overflow-x:auto}.app-layout .app-nav a{align-items:center;min-height:44px;display:flex}}.approval-history__list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.approval-history__item{border:1px solid var(--slate-200);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);gap:16px;padding:20px;display:grid}.approval-history__item-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.approval-history__item-header h3{margin:0}.approval-history__status{border-radius:999px;flex:none;padding:5px 9px;font-size:12px;font-weight:700}.approval-history__status--approved{color:#166534;background:#dcfce7}.approval-history__status--pending{color:#92400e;background:#fef3c7}.approval-history__status--rejected{color:#9f1239;background:#ffe4e6}.approval-history__details{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:0;padding:0;display:grid}.approval-history__details>div{border-radius:var(--radius-sm);background:var(--slate-100);min-width:0;padding:12px}.approval-history__details dt{color:var(--slate-500);margin-bottom:4px;font-size:12px;font-weight:650}.approval-history__details dd{overflow-wrap:anywhere;color:var(--slate-950);margin:0;font-size:14px;font-weight:600}.approval-history__detail-link,.approval-history__back-link{border-radius:var(--radius-sm);width:fit-content;color:var(--brand-blue-600);text-underline-offset:3px;font-size:14px;font-weight:700;text-decoration:underline}.approval-history__detail-link:hover,.approval-history__back-link:hover{color:#125ac0}.approval-history__empty{gap:8px;display:grid}.approval-history__empty p{margin:0}.approval-history__empty p:first-child{color:var(--slate-700);font-weight:700}.approval-history__back-link{margin-top:4px}@media (width<=560px){.approval-history__details{grid-template-columns:1fr}}.data-review-workbench{grid-template-columns:minmax(220px,.8fr) minmax(340px,1.25fr) minmax(250px,.9fr);gap:16px;display:grid}.data-review-panel{border:1px solid var(--slate-200);border-radius:var(--radius-md);background:var(--surface);min-width:0;min-height:420px;box-shadow:var(--shadow-sm);padding:20px}.data-review-kicker{color:var(--brand-blue-600);background:#eff6ff;border-radius:999px;margin-bottom:12px;padding:4px 7px;font-size:11px;font-weight:700;display:inline-flex}.review-photo-list,.draft-estimate-list,.review-evidence ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.review-photo-button{border:1px solid var(--slate-200);border-radius:var(--radius-sm);width:100%;color:var(--slate-700);text-align:left;box-shadow:none;background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.review-photo-button:hover,.review-photo-button[aria-pressed=true]{border-color:var(--brand-blue-500);color:var(--brand-navy-800);background:#eff6ff}.review-photo-button>span:first-child,.draft-estimate-list li>span:first-child{gap:3px;display:grid}.review-photo-button strong,.draft-estimate-list strong{font-size:14px}.review-photo-button span span,.draft-estimate-list li>span:first-child span{color:var(--slate-500);font-size:12px}.photo-selection,.draft-status,.evidence-status,.confidence-badge{color:var(--slate-500);background:var(--slate-100);border-radius:999px;flex:none;padding:4px 7px;font-size:11px;font-weight:700}.photo-selection.selected{color:var(--brand-navy-800);background:#cfe4ff}.review-caption{color:var(--slate-500);margin:16px 0 0;font-size:13px}.review-photo-preview{margin:0}.review-image{border-radius:var(--radius-sm);min-height:174px;color:var(--brand-navy-800);background:linear-gradient(135deg,#dceafa,#f8fbff 55%,#d9e7f4);border:1px solid #9db5d2;place-items:center;font-weight:700;display:grid;position:relative;overflow:hidden}.review-image.original{background:linear-gradient(135deg,#e7ddd1,#f5eee4 55%,#c8d4d6)}.review-image-mask{color:#78350f;background:#fef3c7d1;border:1px solid #f59e0b;border-radius:4px;padding:5px 7px;font-size:11px;position:absolute;bottom:18%;right:18%}.review-photo-preview figcaption{color:var(--slate-500);margin-top:8px;font-size:12px}.review-secondary-action{color:var(--brand-blue-600);border-color:var(--slate-300);box-shadow:none;background:#fff;margin-top:12px}.review-secondary-action:hover{color:#fff}.review-analysis-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.review-analysis-details div{border-radius:var(--radius-sm);background:var(--slate-100);padding:10px}.review-analysis-details dt{color:var(--slate-500);font-size:11px;font-weight:700}.review-analysis-details dd{color:var(--slate-950);margin:5px 0 0;font-size:13px;font-weight:650}.confidence-낮음{color:#9a3412;background:#ffedd5}.confidence-보통{color:#854d0e;background:#fef3c7}.confidence-높음{color:#166534;background:#dcfce7}.review-evidence{padding-top:2px}.review-evidence h4{margin:0;font-size:13px;display:inline}.review-evidence .evidence-status{margin-left:7px}.evidence-status.insufficient,.draft-status.needs-review{color:#9a3412;background:#ffedd5}.review-evidence ul{margin-top:9px}.review-evidence li{color:var(--slate-700);font-size:13px}.review-evidence li:before{content:"•";color:var(--brand-blue-600);margin-right:6px}.review-follow-up{border-radius:var(--radius-sm);color:#9a3412;background:#fff7ed;border:1px solid #fdba74;margin-top:16px;padding:12px;font-size:13px;line-height:1.5}.review-follow-up p{margin:4px 0 0}.review-ready-status{border-radius:var(--radius-sm);color:#166534;background:#f0fdf4;margin:16px 0 0;padding:10px 12px;font-size:13px}.review-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.review-actions .review-secondary-action{margin-top:0}.review-action-feedback{color:var(--brand-navy-800);margin:10px 0 0;font-size:13px}.review-draft-description{color:var(--slate-500);margin:0 0 16px;font-size:14px;line-height:1.6}.draft-estimate-list li{border-bottom:1px solid var(--slate-100);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.estimate-create-action{border-radius:var(--radius-sm);color:#fff;background:var(--brand-blue-600);box-shadow:var(--shadow-sm);text-align:center;margin-top:20px;padding:10px 13px;font-size:14px;font-weight:650;display:block}.estimate-create-action:hover{background:#125ac0}@media (width<=1023px){.data-review-workbench{grid-template-columns:minmax(0,1fr)}.data-review-panel{min-height:auto}}@media (width<=480px){.review-analysis-details{grid-template-columns:1fr}}.projects-list-content{gap:16px;display:grid}.project-list-controls{justify-content:space-between;align-items:end;gap:16px;display:flex}.project-search{width:min(100%,360px);color:var(--slate-700);gap:7px;font-size:13px;font-weight:650;display:grid}.project-filter-group{flex-wrap:wrap;gap:6px;display:flex}.app-main .project-filter{border:1px solid var(--slate-300);color:var(--slate-700);background:var(--surface);box-shadow:none;padding:8px 12px;font-size:13px}.app-main .project-filter:hover,.app-main .project-filter[aria-pressed=true]{border-color:var(--brand-blue-600);color:var(--brand-blue-600);background:#eff6ff}.project-card-actions{justify-items:end;gap:8px;display:grid}.status-badge--active{color:#166534;background:#dcfce7}.status-badge--on_hold{color:#92400e;background:#fef3c7}.status-badge--completed{color:var(--slate-700);background:var(--slate-100)}.project-review-link{color:var(--brand-blue-600);font-size:13px;font-weight:650}@media (width<=640px){.project-list-controls{flex-direction:column;align-items:stretch}.project-search{width:100%}.project-link{align-items:flex-start}}.rate-card-page{gap:20px;display:grid}.rate-card-page .page-header{margin-bottom:4px}.rate-card-table-wrap{overflow:hidden}.rate-card-table{margin:0}.rate-card-table th[scope=row]{min-width:280px;color:var(--slate-950);font-weight:650}.rate-card-table td:nth-child(3),.rate-card-table td:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}.rate-card-table td:nth-child(4){flex-wrap:wrap;gap:6px;display:flex}.rate-card-status-badge{white-space:nowrap;border-radius:999px;align-items:center;width:fit-content;padding:5px 9px;font-size:12px;font-weight:650;display:inline-flex}.rate-card-status-badge--draft{color:#92400e;background:#fef3c7}.rate-card-status-badge--approved,.rate-card-status-badge--in-use{color:#166534;background:#dcfce7}.rate-card-status-badge--retired{color:var(--slate-700);background:var(--slate-100)}.rate-card-empty-state{border:1px dashed var(--slate-300);border-radius:var(--radius-md);color:var(--slate-500);background:var(--surface);justify-items:start;gap:10px;padding:24px;display:grid}.rate-card-empty-state h3,.rate-card-empty-state p{margin:0}.rate-card-empty-state h3{color:var(--slate-950)}.rate-card-dialog-backdrop{z-index:10;background:#0f172a5c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.rate-card-registration-dialog{border:1px solid var(--slate-200);border-radius:var(--radius-md);background:var(--surface);width:min(100%,420px);box-shadow:var(--shadow-md);padding:24px}.rate-card-registration-dialog h3,.rate-card-registration-dialog p{margin-top:0}.rate-card-registration-dialog p{color:var(--slate-500);margin-bottom:20px;line-height:1.55}@media (width<=820px){.rate-card-table-wrap{overflow-x:auto}.rate-card-table th[scope=row]{min-width:220px}}.field-input-page{width:min(100%,760px)}.field-input-page form{border:1px solid var(--slate-200);border-radius:var(--radius-md);min-width:0;box-shadow:var(--shadow-sm);gap:16px;margin-top:20px;padding:20px;display:grid}.field-input-page h2{margin-bottom:8px}.field-input-section{border:1px solid var(--slate-200);border-radius:var(--radius-sm);min-width:0;margin:0;padding:16px}.field-input-section>legend,.field-input-section-heading{color:var(--slate-700);margin:0 0 12px;padding:0 4px;font-size:15px;font-weight:700}.field-input-section>label,.field-input-measurement-inputs label{min-width:0;color:var(--slate-700);gap:6px;font-size:13px;font-weight:650;display:grid}.field-input-section>label+label{margin-top:14px}.field-input-helper,.field-input-submit-help{color:var(--slate-500);margin:8px 0 0;font-size:13px;line-height:1.5}.field-input-photo-picker{border-radius:var(--radius-sm);min-height:88px;color:var(--brand-blue-600);background:#f8fbff;border:1px dashed #8aa9c8;place-items:center;margin-top:12px;font-size:14px;font-weight:700;display:grid;position:relative}.field-input-photo-picker:focus-within{outline-offset:2px;outline:3px solid #2d7ff92e}.field-input-photo-picker input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.field-input-photo-summary{margin:0}.field-input-photo-list,.field-input-measurement-list{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.field-input-photo-item{border:1px solid var(--slate-200);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:10px 12px;display:grid}.field-input-photo-name{overflow-wrap:anywhere;min-width:0;font-size:14px;font-weight:650}.field-input-photo-status{color:var(--slate-500);font-size:13px}.field-input-photo-item [role=alert]{grid-column:1/-1;margin:0;padding:8px 10px}.field-input-secondary-action,.field-input-danger-action{white-space:nowrap;color:var(--brand-blue-600)!important;background:var(--surface)!important;border-color:var(--slate-300)!important;box-shadow:none!important;padding:7px 10px!important}.field-input-danger-action{color:#b45309!important}.field-input-measurement-row{border:1px solid var(--slate-200);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding:12px;display:grid}.field-input-measurement-inputs{grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr) minmax(0,.7fr);gap:8px;min-width:0;display:grid}.field-input-measurement-inputs input,.field-input-measurement-inputs select{min-width:0}.field-input-measurement-actions{margin-top:12px}.field-input-submit-actions{gap:8px;padding-top:4px;display:grid}.field-input-submit-actions button{justify-self:start}@media (width<=480px){.field-input-page form{padding:14px}.field-input-section{padding:12px}.field-input-measurement-row{grid-template-columns:1fr}.field-input-measurement-inputs{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}.field-input-measurement-inputs label:first-child{grid-column:1/-1}.field-input-measurement-row .field-input-danger-action{justify-self:end}}:root{--brand-navy-900:#0b1f3a;--brand-navy-800:#12345a;--brand-blue-600:#1769e0;--brand-blue-500:#2d7ff9;--brand-cyan-500:#16b8d4;--slate-950:#0f172a;--slate-700:#334155;--slate-500:#64748b;--slate-300:#cbd5e1;--slate-200:#e2e8f0;--slate-100:#f1f5f9;--surface:#fff;--canvas:#f6f8fc;--success:#15803d;--warning:#b45309;--danger:#c2410c;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 2px #0f172a14;--shadow-md:0 12px 32px #0f172a14;color:var(--slate-950);background:var(--canvas);font-synthesis:none;font-family:Pretendard,Noto Sans KR,sans-serif}*{box-sizing:border-box}body{background:var(--canvas);min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}.app-layout{min-height:100vh}.app-header{background:var(--brand-navy-900);color:#fff;min-height:68px;box-shadow:var(--shadow-sm);align-items:center;gap:32px;padding:0 32px;display:flex}.brand{align-items:center;gap:12px;min-width:max-content;display:flex}.brand-mark{width:30px;height:30px;color:var(--brand-navy-900);background:linear-gradient(135deg,#6bdcff,#fff);border-radius:9px;place-items:center;font-size:15px;font-weight:800;display:grid}.brand-copy{gap:1px;display:grid}.brand-copy strong{letter-spacing:-.02em;font-size:15px}.brand-copy span{color:#b9d7f8;font-size:11px}.app-nav{margin-left:auto}.app-nav ul{gap:4px;margin:0;padding:0;list-style:none;display:flex}.app-nav a{border-radius:var(--radius-sm);color:#c8d9ed;padding:10px 12px;font-size:14px;font-weight:600;display:block}.app-nav a:hover,.app-nav a.active{color:#fff;background:#ffffff24}.app-main{width:min(1180px,100% - 48px);margin:0 auto;padding:36px 0 56px}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.eyebrow{color:var(--brand-blue-600);letter-spacing:.08em;margin:0 0 6px;font-size:12px;font-weight:700}h1,h2,h3{letter-spacing:-.025em}h2{margin:0;font-size:26px;line-height:1.3}h3{margin:0 0 12px;font-size:17px}.page-header p:not(.eyebrow){color:var(--slate-500);margin:8px 0 0;font-size:14px;line-height:1.55}.primary-action,button[type=submit],.app-main button{border-radius:var(--radius-sm);color:#fff;background:var(--brand-blue-600);box-shadow:var(--shadow-sm);border:1px solid #0000;padding:9px 13px;font-size:14px;font-weight:650}.primary-action:hover,button[type=submit]:hover,.app-main button:hover{background:#125ac0}.content-card,.app-main>section,.app-main form,.app-main table{background:var(--surface)}.content-card{border:1px solid var(--slate-200);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.project-list{margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.project-list li+li{border-top:1px solid var(--slate-200)}.project-link{justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.project-link:hover{background:#f8fbff}.project-name{color:var(--slate-950);font-size:15px;font-weight:650;display:block}.project-meta{color:var(--slate-500);margin-top:4px;font-size:13px;display:block}.status-badge{color:var(--brand-navy-800);background:#e6f1ff;border-radius:999px;flex:none;padding:5px 9px;font-size:12px;font-weight:650}.empty-state,[role=status],[role=alert]{border-radius:var(--radius-sm);padding:14px 16px;font-size:14px;line-height:1.5}.empty-state{border:1px dashed var(--slate-300);color:var(--slate-500);background:var(--surface);margin:0}[role=status]{color:var(--brand-navy-800);background:#eef6ff}[role=alert]{color:#9a3412;background:#fff7ed}.workbench{grid-template-columns:minmax(230px,.8fr) minmax(320px,1.2fr) minmax(260px,.9fr);gap:16px;display:grid}.workbench-panel{border:1px solid var(--slate-200);border-radius:var(--radius-md);background:var(--surface);min-height:340px;box-shadow:var(--shadow-sm);padding:20px}.workbench-panel p{color:var(--slate-500);font-size:14px;line-height:1.6}.panel-kicker{color:var(--brand-blue-600);background:#eff6ff;border-radius:999px;margin-bottom:12px;padding:4px 7px;font-size:11px;font-weight:700;display:inline-flex}.photo-placeholder{border-radius:var(--radius-sm);min-height:190px;color:var(--slate-500);background:linear-gradient(135deg,#f8fbff,#eef5fb);border:1px dashed #9db5d2;place-items:center;font-size:13px;display:grid}.check-list{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.check-list li{border-bottom:1px solid var(--slate-100);color:var(--slate-700);padding:10px 0;font-size:14px}.check-list li:before{content:"✓";width:20px;height:20px;color:var(--success);background:#dcfce7;border-radius:50%;place-items:center;margin-right:8px;font-size:12px;font-weight:800;display:inline-grid}.app-main>section[aria-label=견적\ 편집]{border:1px solid var(--slate-200);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:24px}.app-main section>ul[aria-label]{padding:0;list-style:none}.app-main section>ul[aria-label]>li{border:1px solid var(--slate-200);border-radius:var(--radius-sm);padding:12px}table{border-collapse:separate;border-spacing:0;border:1px solid var(--slate-200);border-radius:var(--radius-sm);width:100%;margin:18px 0;font-size:13px;overflow:hidden}th,td{border-bottom:1px solid var(--slate-200);text-align:left;vertical-align:top;padding:12px}thead th{color:var(--slate-700);background:var(--slate-100);font-size:12px;font-weight:700}tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8fbff}input,select,textarea{border:1px solid var(--slate-300);border-radius:var(--radius-sm);width:100%;color:var(--slate-950);background:#fff;outline:none;padding:9px 10px}textarea{resize:vertical;min-height:110px}input:focus,select:focus,textarea:focus{border-color:var(--brand-blue-500);box-shadow:0 0 0 3px #2d7ff92e}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=820px){.app-header{flex-direction:column;align-items:flex-start;gap:12px;min-height:auto;padding:16px 20px}.app-nav{width:100%;margin:0;overflow-x:auto}.app-nav ul{width:max-content}.app-main{width:min(100% - 32px,1180px);padding-top:24px}.page-header{flex-direction:column}.workbench{grid-template-columns:1fr}.workbench-panel{min-height:auto}table{white-space:nowrap;display:block;overflow-x:auto}}
