@font-face{font-family:Pretendard;src:url(/fonts/PretendardVariable.woff2) format("woff2");font-weight:45 920;font-style:normal;font-display:swap}:root{--black:#111;--primary:#336cf9;--primary-dark:#245de0;--primary-soft:#eef3ff;--muted:#666;--subtle:#999;--line:#d9d9d9;--surface:#fff;--canvas:#f3f4f6;--soft:#f8f9fb;--green:#20b84b;--green-soft:#eaf9ee;--red:#f04438;--red-soft:#fff1f1;--yellow-soft:#fff9e9;--yellow-line:#f4df9c;--radius:16px}.confirmationView h1{white-space:pre-line}*{box-sizing:border-box}body,html{background:var(--canvas)}body{margin:0;color:var(--black);font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit}.appShell,.siteCanvas{min-height:100dvh}.appShell{width:100%;max-width:390px;margin:0 auto;background:var(--surface);position:relative;overflow-x:hidden}.appShell.hasBottomNav{padding-bottom:82px}.appHeader{position:-webkit-sticky;position:sticky;top:0;z-index:20;height:72px;display:grid;grid-template-columns:58px 1fr 58px;align-items:center;padding:0 14px;background:hsla(0,0%,100%,.98);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.appHeader strong{text-align:center;font-size:18px;font-weight:600}.headerSide{width:58px}.iconButton{width:44px;display:inline-flex;justify-content:center;border:0;background:transparent;color:var(--black);cursor:pointer}.headerTextAction,.iconButton{height:44px;align-items:center;text-decoration:none}.headerTextAction{display:flex;color:var(--primary);font-size:14px;font-weight:600}.appContent{padding:28px 30px 48px}.appContent.flush{padding:0}.bottomNav{position:fixed;z-index:30;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:390px;height:78px;padding:9px 22px max(9px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;background:hsla(0,0%,100%,.98);border-top:1px solid #ececec}.bottomNav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#a7a7a7;font-size:10px;font-weight:600;text-decoration:none}.bottomNav a.active{color:var(--primary)}.splash{min-height:100dvh;display:flex;flex-direction:column;padding:64px 30px max(32px,env(safe-area-inset-bottom))}.splashBrand{margin:auto 0 0;text-align:center}.splashMark{display:block;width:146px;height:68px;margin:0 auto 18px;object-fit:contain}.splashBrand h1{margin:0;font-size:46px;letter-spacing:-3px;line-height:1}.splashBrand .tagline{margin:17px 0 0;color:#555;font-size:14px;line-height:1.55}.splashCopy{margin:58px auto 0;color:var(--muted);font-size:14px;line-height:1.75;text-align:center}.splashActions{margin-top:auto;display:grid;grid-gap:12px;gap:12px;padding-top:58px}.button{min-height:62px;padding:0 20px;border:1px solid var(--primary);border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--primary);color:#fff;font-size:18px;font-weight:700;text-align:center;text-decoration:none;cursor:pointer;transition:transform .15s ease,opacity .15s ease,background .15s ease}.button:hover{background:var(--primary-dark)}.button:active{transform:scale(.985)}.button:disabled{opacity:.42;cursor:not-allowed}.button.secondary{border-color:var(--line);background:#fff;color:var(--black)}.button.secondary:hover,.button.soft{background:var(--soft)}.button.soft{border-color:var(--line);color:var(--black)}.button.full{width:100%}.button.small{min-height:42px;padding:0 13px;border-radius:12px;font-size:13px}.button.green{background:var(--green);border-color:var(--green)}.textButton{border:0;padding:0;background:none;color:var(--primary);font-weight:700;cursor:pointer}.eyebrow{margin:0 0 8px;color:var(--muted);font-size:13px}.screenTitle{margin:0;font-size:28px;line-height:1.36;letter-spacing:-.8px}.screenSubtitle{margin:12px 0 0;color:var(--muted);font-size:16px;line-height:1.55}.screenLead{margin-bottom:36px}.section{margin-top:32px}.sectionHeading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.sectionHeading h2{margin:0;font-size:18px}.sectionHeading a,.sectionHeading button{color:var(--primary);font-size:13px;text-decoration:none}.divider{height:1px;margin:25px 0;background:var(--line)}.fieldStack,.formSection,form{display:grid;grid-gap:24px;gap:24px}.formSection+.formSection{margin-top:16px}.formSectionTitle{margin:6px 0 -3px;font-size:16px}.fieldLabel,label{display:grid;grid-gap:10px;gap:10px;font-size:16px;font-weight:600}.fieldCaption{display:inline}.requiredMark{color:var(--red);font-style:normal}.optional{color:var(--subtle);font-weight:500}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius);outline:none;background:#fff;color:var(--black);font-size:16px;transition:border-color .15s ease,box-shadow .15s ease}input,select{min-height:62px;padding:0 18px}textarea{min-height:154px;padding:18px;resize:vertical;line-height:1.55}input::placeholder,textarea::placeholder{color:#777}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(51,108,249,.11)}.inputWithUnit{position:relative}.inputWithUnit input{padding-right:46px}.inputWithUnit span{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:14px}.dateRow{display:grid;grid-template-columns:1fr 12px 1fr;align-items:center;grid-gap:6px;gap:6px}.dateRow>span{text-align:center;color:var(--muted)}.help{margin:-2px 0 0;color:var(--muted);font-size:14px;font-weight:400;line-height:1.45}.formActions{margin-top:16px}.uploadGrid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}.uploadTile{min-height:120px;padding:15px 10px;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#fff;color:var(--black);font-size:14px;font-weight:700;text-align:center;cursor:pointer}.uploadTile input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.uploadTile.hasFile{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.uploadHint{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px;font-weight:500}.error,.notice,.success{padding:14px 16px;border-radius:12px;font-size:13px;line-height:1.5}.error{background:var(--red-soft);color:#b42328}.success{background:var(--green-soft);color:#128133}.notice{background:var(--soft);color:var(--muted)}.emptyState,.loading{padding:70px 10px;text-align:center;color:var(--muted)}.emptyState .emptyIcon{width:88px;height:88px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary)}.emptyState strong{display:block;margin-bottom:9px;color:var(--black);font-size:16px}.emptyState p{margin:0;font-size:13px;line-height:1.6}.homeTop{padding-top:12px}.homeTop h1{margin:3px 0 24px;font-size:28px;line-height:1.2;letter-spacing:-.8px}.projectSection{margin-top:34px}.projectSchedule{margin-bottom:14px}.projectScheduleHeading{display:flex;align-items:center;justify-content:space-between;gap:16px}.projectScheduleHeading h2{margin:0;font-size:18px}.projectDatePicker{position:relative;width:42px;height:42px;display:grid;place-items:center;color:#333}.projectDatePicker input{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0;border:0;opacity:0;cursor:pointer}.projectDateStrip{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:6px;gap:6px;margin-top:5px}.projectDateStrip button{position:relative;min-width:0;border:0;background:transparent;color:#333;cursor:pointer}.projectDateStrip button small{position:absolute;top:2px;left:0;width:100%;color:var(--primary);font-size:8px;font-weight:800;line-height:1}.projectDateStrip button strong{border-radius:50%;display:grid;place-items:center;line-height:1}.projectDateStrip button.selected strong{background:var(--primary);color:#fff;box-shadow:0 4px 10px rgba(51,108,249,.22)}.projectCard:focus-visible,.projectDateStrip button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.projectList{display:grid;grid-gap:12px;gap:12px}.projectCard{min-height:116px;padding:17px 16px;border:1px solid #e4e6eb;border-left:4px solid var(--primary);border-radius:var(--radius);display:grid;grid-template-columns:minmax(0,1fr) 92px;grid-gap:12px;gap:12px;background:#fff;text-decoration:none;box-shadow:0 4px 14px rgba(31,41,55,.05)}.projectCardMain{min-width:0;display:flex;flex-direction:column;align-items:flex-start}.projectCard h3{margin:0;font-size:17px;line-height:1.4}.projectCard h3,.projectCard p{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.projectCard p{margin:6px 0 0;color:var(--muted);font-size:11px}.projectAmount{margin-top:auto;padding-top:12px;color:var(--primary);font-size:19px;line-height:1;letter-spacing:-.3px}.projectCardDeadline{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.projectCardDeadline>strong{margin-top:auto;color:var(--red);font-size:25px;line-height:1;font-weight:800;letter-spacing:-1px}.projectCardDeadline>strong.overdue{color:#b42328}.projectCardDeadline time{margin-top:5px;color:var(--muted);font-size:10px;white-space:nowrap}.statusPill{display:inline-flex;align-items:center;min-height:25px;padding:0 10px;border-radius:99px;background:var(--primary-soft);color:var(--primary);font-size:10px;font-weight:700;white-space:nowrap}.statusPill.complete{background:#edf8ef;color:#5a9b66}.statusPill.before{background:var(--soft);color:var(--muted)}.projectHero{padding:20px;border:1px solid #e4e6eb;border-radius:var(--radius);background:#fff;box-shadow:0 4px 16px rgba(31,41,55,.05)}.projectHeroTop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.projectHero h1{margin:0;font-size:24px;letter-spacing:-.6px}.infoList{margin-top:22px;border-top:1px solid #ececec}.infoRow{min-height:49px;display:grid;grid-template-columns:24px 78px 1fr;align-items:center;grid-gap:7px;gap:7px;border-bottom:1px solid #ececec;font-size:13px}.infoRow svg{color:var(--primary)}.infoRow span{color:var(--muted)}.infoRow strong{overflow-wrap:anywhere}.documentButtons{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:9px;gap:9px;margin-top:14px}.documentButtons .button{min-width:0}.recordCta{margin:24px 0 8px}.microcopy{margin:0;color:var(--subtle);font-size:10px;line-height:1.5;text-align:center}.timelineHeader{display:flex;align-items:center;justify-content:space-between;margin-top:34px}.timelineHeader h2{margin:0;font-size:18px}.timelineHeader select{width:auto;min-height:38px;padding:0 30px 0 11px;border-radius:10px;font-size:11px}.timeline{position:relative;margin-top:17px}.timeline:before{content:"";position:absolute;top:8px;bottom:8px;left:6px;width:2px;background:#d9e3ff}.timelineItem{position:relative;padding:0 0 30px 27px}.timelineDot{position:absolute;left:0;top:4px;width:14px;height:14px;border:3px solid var(--primary);border-radius:50%;background:#fff}.timelineItem.important .timelineDot{border-color:var(--primary);background:var(--primary);box-shadow:inset 0 0 0 3px #fff}.timelineMeta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px}.timelineContent{margin-top:9px;padding:16px;border:1px solid #e4e6eb;border-radius:var(--radius);background:#fff;box-shadow:0 3px 12px rgba(31,41,55,.04)}.timelineContent h3{margin:0 0 8px;font-size:15px}.timelineContent p{margin:0;color:#555;font-size:13px;line-height:1.65;white-space:pre-wrap}.timelineContent .amount{display:block;margin-top:11px;color:var(--primary)}.mediaStrip{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:7px;gap:7px;margin-top:13px}.mediaStrip button{min-width:0;padding:0;border:0;border-radius:10px;background:transparent;cursor:zoom-in}.mediaStrip img{display:block;width:100%;aspect-ratio:1;border-radius:10px;object-fit:cover;background:var(--soft)}.imageLightbox{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:56px 16px 24px;background:rgba(0,0,0,.92);cursor:zoom-out}.imageLightbox img{display:block;max-width:100%;max-height:calc(100dvh - 80px);border-radius:12px;object-fit:contain;cursor:default}.imageLightboxClose{position:absolute;top:max(14px,env(safe-area-inset-top));right:16px;width:42px;height:42px;padding:0;border:1px solid hsla(0,0%,100%,.35);border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:30px;line-height:1;cursor:pointer}.recordBadges{display:flex;align-items:center;justify-content:space-between;gap:8px}.recordBadges .recordType{margin-bottom:0}.recordType{display:inline-flex;margin-bottom:9px;color:var(--primary);font-size:10px;font-weight:800}.recordType.important{color:#bf7a00}.visibilityBadge{padding:5px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:9px;font-weight:800}.visibilityBadge.private{background:#f1f1f1;color:#777}.worklogDetail{margin:7px 0 9px;color:var(--primary);font-size:11px;font-weight:800}.lockedRecordNotice{color:var(--muted);font-size:11px;font-weight:700}.segmented{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:7px;gap:7px}.segmented button{min-height:52px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--muted);font-size:13px;font-weight:700;cursor:pointer}.segmented button.active{border-color:var(--primary);background:var(--primary);color:#fff}.shareBox{margin-top:16px;padding:15px;border-radius:8px;background:var(--soft)}.shareBox .shareUrl{display:flex;align-items:center;justify-content:space-between;gap:10px}.shareBox code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:inherit;font-size:12px}.shareActions{display:grid;grid-gap:9px;gap:9px;margin-top:12px}.importantCard{margin:20px 0;padding:15px;border:1px solid var(--yellow-line);border-radius:8px;background:var(--yellow-soft)}.importantCard .label{color:#a97000;font-size:10px;font-weight:800}.importantCard h3{margin:7px 0;font-size:15px}.importantCard p{margin:0 0 4px;color:#5f5540;font-size:12px;line-height:1.55}.importantCard .button{margin-top:12px}.confirmationView{min-height:calc(100dvh - 58px);display:flex;flex-direction:column;justify-content:center;padding:40px 0;text-align:center}.checkCircle{width:74px;height:74px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff}.confirmationView h1{margin:0;font-size:25px;line-height:1.4}.confirmationView p{margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.confirmationSummary{margin:27px 0;padding:17px;border:1px solid var(--line);border-radius:8px;text-align:left}.confirmationSummary .row{display:grid;grid-template-columns:85px 1fr;grid-gap:12px;gap:12px;padding:8px 0;font-size:12px}.confirmationSummary .row span{color:var(--muted)}.profileCard{padding:20px;border:1px solid var(--line);border-radius:10px}.profileAvatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--soft)}.profileCard h2{margin:14px 0 4px}.profileCard p{margin:0;color:var(--muted);font-size:13px}.profileNameButton{margin-top:14px;padding:0;border:0;background:transparent;color:var(--primary);font-size:13px;font-weight:700;cursor:pointer}.profileNameForm{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.profileNameActions{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.profileNameActions .button{width:100%}.operationsLink{min-height:72px;padding:14px 15px;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:28px 1fr 16px;align-items:center;grid-gap:12px;gap:12px;text-decoration:none}.operationsLink>svg{color:#4a4a4a}.operationsLink span{display:grid;grid-gap:4px;gap:4px}.operationsLink strong{font-size:14px}.operationsLink small{color:var(--muted);font-size:11px}.operationsLink>b{font-size:22px;font-weight:400;color:var(--subtle)}.serviceOperatorInfo{margin-top:44px;padding:22px 20px 24px;border-top:1px solid var(--line);color:var(--muted)}.serviceOperatorInfo h2{margin:0 0 15px;color:var(--black);font-size:14px}.serviceOperatorInfo dl{margin:0}.serviceOperatorInfo dl>div{display:grid;grid-template-columns:108px minmax(0,1fr);grid-gap:12px;gap:12px;padding:4px 0;font-size:12px;line-height:1.55}.serviceOperatorInfo dt{color:var(--muted)}.serviceOperatorInfo dd{margin:0;color:#4a4a4a;font-weight:600}.serviceOperatorInfo>p{margin:17px 0 0;padding-top:15px;border-top:1px solid var(--line);font-size:11px;line-height:1.65;word-break:keep-all}.operationsPage{background:#fafafa}.opsLead{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.opsLead p{margin:0 0 5px;color:var(--muted);font-size:11px}.opsLead h1{margin:0;font-size:24px;letter-spacing:-.7px}.opsLead button{border:0;background:none;color:var(--muted);font-size:12px;font-weight:700;cursor:pointer}.opsLead button:disabled{opacity:.45}.operationsPage>.error{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.opsHealth{padding:17px;border:1px solid #ccebd4;border-radius:12px;background:#f3fcf5}.opsHealth>div{display:flex;align-items:center;gap:8px;color:#247e3a;font-size:12px}.opsLiveDot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(32,184,75,.12)}.opsHealth>b{display:block;margin-top:12px;font-size:25px}.opsHealth p{margin:5px 0 9px;color:#42604a;font-size:12px}.opsHealth small{color:#64806b;font-size:10px}.opsHealth.warning{border-color:#f2dfac;background:#fffaf0}.opsHealth.warning>div{color:#986b00}.opsHealth.warning .opsLiveDot{background:#e0a300;box-shadow:0 0 0 4px rgba(224,163,0,.12)}.opsHealth.critical{border-color:#f1c8ca;background:var(--red-soft)}.opsHealth.critical>div{color:#a8292e}.opsHealth.critical .opsLiveDot{background:var(--red);box-shadow:0 0 0 4px rgba(229,72,77,.12)}.opsSection{margin-top:25px}.opsSectionTitle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.opsSectionTitle h2{margin:0;font-size:16px}.opsSectionTitle>span{color:var(--muted);font-size:10px}.opsErrorGrid,.opsMetricGrid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px}.opsErrorGrid article,.opsMetricGrid article{padding:14px;border:1px solid var(--line);border-radius:9px;background:#fff}.opsErrorGrid span,.opsMetricGrid span{display:block;color:var(--muted);font-size:11px}.opsMetricGrid strong{display:inline-block;margin-top:9px;font-size:23px}.opsMetricGrid small{margin-left:3px;color:var(--muted);font-size:10px}.opsDetailLine{display:flex;justify-content:space-between;gap:8px;margin-top:8px;padding:11px 12px;border-radius:8px;background:#f0f0f0;color:var(--muted);font-size:10px}.opsDetailLine b{margin-left:3px;color:var(--black)}.opsLegend{display:flex;align-items:center;gap:4px}.opsLegend i{width:7px;height:7px;border-radius:2px;background:#222}.opsLegend i:nth-of-type(2){margin-left:5px;background:var(--green)}.opsChart{height:152px;padding:14px 8px 5px;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;background:#fff}.opsChartDay{min-width:0;display:grid;grid-template-rows:1fr 18px;grid-gap:5px;gap:5px;text-align:center}.opsBars{height:110px;display:flex;align-items:flex-end;justify-content:center;gap:3px}.opsBars span{width:7px;max-height:100%;border-radius:3px 3px 1px 1px;background:#222}.opsBars span+span{background:var(--green)}.opsChartDay small{color:var(--muted);font-size:9px}.opsErrorGrid{grid-template-columns:repeat(4,1fr)}.opsErrorGrid article{padding:12px 6px;text-align:center}.opsErrorGrid strong{display:block;margin-top:8px;font-size:19px}.opsErrorGrid article.hasIssue{border-color:#efc6c8;background:var(--red-soft)}.opsIssueList{display:grid;grid-gap:8px;gap:8px}.opsIssueList article{padding:13px;border-left:3px solid #d29a11;border-radius:7px;background:#fff8e7}.opsIssueList article.critical{border-left-color:var(--red);background:var(--red-soft)}.opsIssueList article>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.opsIssueList strong{font-size:12px}.opsIssueList time{color:var(--muted);font-size:9px}.opsIssueList p{margin:6px 0;color:#555;font-size:11px}.opsIssueList code{color:var(--muted);font-family:inherit;font-size:9px;overflow-wrap:anywhere}.opsEmpty{padding:28px 12px;border:1px dashed #d7d7d7;border-radius:9px;text-align:center}.opsEmpty strong{font-size:13px}.opsEmpty p{margin:7px 0 0;color:var(--muted);font-size:11px}@media(min-width:600px){.appShell{min-height:calc(100dvh - 40px);margin-top:20px;margin-bottom:20px;border:1px solid #dedede;border-radius:22px;box-shadow:0 18px 55px rgba(0,0,0,.08)}.bottomNav{bottom:20px;border-radius:0 0 22px 22px}.confirmationView,.splash{min-height:calc(100dvh - 40px)}}@media(max-width:370px){.appContent{padding-left:17px;padding-right:17px}.screenTitle{font-size:25px}.dateRow{grid-template-columns:1fr}.dateRow>span{display:none}}.projectCardMeta{width:100%;margin:6px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--subtle);font-size:9px}.sharedBadge{color:var(--green);font-weight:800}.timelineActions{display:flex;gap:14px;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}.timelineActions .textButton{color:var(--muted);font-size:11px}.confirmationList{display:grid;grid-gap:8px;gap:8px}.confirmationItem{display:grid;grid-template-columns:auto 1fr;align-items:start;grid-gap:12px;gap:12px;padding:13px;border:1px solid var(--line);border-radius:8px;background:#fff}.confirmationBody{min-width:0;display:grid;grid-gap:4px;gap:4px}.confirmationBody p{margin:0;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.confirmationBody small{color:var(--subtle);font-size:10px}.confirmationComment{color:var(--muted)}.statusPill.pending{background:var(--yellow-soft);color:#a97000}.statusPill.confirmed{background:var(--green-soft);color:#168536}.statusPill.commented{background:var(--soft);color:var(--muted)}.verifyGate{min-height:calc(100dvh - 160px);display:flex;flex-direction:column;justify-content:center;text-align:center;padding:20px 0}.verifyGate h1{margin:0;font-size:23px}.verifyGate form{margin-top:26px;display:grid;grid-gap:14px;gap:14px}.verifyGate .microcopy{margin-top:18px}.projectScheduleHeading h2 span,.sectionCount{margin-left:3px;color:#3775f2;font-size:.9em}.projectDateStrip button{height:66px;padding:17px 0 4px;border-radius:12px}.projectDateStrip button small{color:#3775f2}.projectDateStrip button>span{display:block;color:var(--muted);font-size:9px}.projectDateStrip button strong{width:34px;height:34px;margin:1px auto 0;font-size:15px}.projectDateStrip button.selected strong{background:#3775f2;box-shadow:0 4px 10px rgba(55,117,242,.22)}.todayScheduleList{display:grid;grid-gap:1px;gap:1px;margin-top:12px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--line)}.todayScheduleItem{min-height:61px;padding:10px 12px;display:grid;grid-template-columns:8px minmax(0,1fr) auto 18px;align-items:center;grid-gap:10px;gap:10px;background:#fff;text-decoration:none}.scheduleDot{width:7px;height:7px;border-radius:50%;background:#3775f2}.scheduleDot.tone1{background:#f0a53a}.scheduleDot.tone2{background:#2eb982}.todayScheduleItem>div{min-width:0}.todayScheduleItem small,.todayScheduleItem strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todayScheduleItem strong{font-size:13px}.todayScheduleItem small,.todayScheduleItem time{margin-top:3px;color:var(--muted);font-size:10px}.nextIcon{display:grid;place-items:center;transform:rotate(180deg);color:var(--subtle)}.scheduleEmpty{margin-top:12px;padding:18px;border:1px dashed #d8dde7;border-radius:12px;background:#fafbfe;color:var(--muted);font-size:12px;text-align:center;line-height:1.6}.scheduleEmpty.large{padding:38px 18px}.projectCard{border-left:3px solid var(--project-accent,var(--primary))}.projectAmount{color:#245fd0}.calendarPanel{padding:4px 0 18px;border-bottom:1px solid var(--line)}.calendarHeading{height:45px;display:grid;grid-template-columns:42px 1fr 42px;align-items:center}.calendarHeading h1{margin:0;text-align:center;font-size:19px}.calendarHeading button{width:42px;height:42px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer}.calendarGrid,.calendarWeekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.calendarWeekdays{margin:8px 0 4px;color:var(--muted);font-size:10px}.calendarWeekdays span:first-child{color:var(--red)}.calendarGrid{gap:3px}.calendarGrid>button,.calendarGrid>span{min-width:0;height:46px}.calendarGrid>button{position:relative;border:0;border-radius:10px;background:transparent;cursor:pointer}.calendarGrid>button span{width:32px;height:32px;margin:0 auto;display:grid;place-items:center;border-radius:50%;font-size:13px}.calendarGrid>button.selected span{background:#3775f2;color:#fff;font-weight:800}.calendarGrid>button i{position:absolute;bottom:3px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:#3775f2}.calendarGrid>button.selected i{background:#fff}.scheduleCards{display:grid;grid-gap:10px;gap:10px}.scheduleCards>a{padding:15px;border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;text-decoration:none;box-shadow:0 3px 12px hsla(0,0%,7%,.04)}.scheduleCards>a>div:first-child{min-width:0;display:grid;justify-items:start;grid-gap:6px;gap:6px}.scheduleCards small,.scheduleCards strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scheduleCards strong{font-size:15px}.scheduleCardTime span,.scheduleCards small{color:var(--muted);font-size:10px}.scheduleCardTime{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:6px}.scheduleCardTime b{color:#3775f2;font-size:12px}.scheduleCardTime span{white-space:nowrap}.choiceTabs{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:7px;gap:7px}.choiceTabs.two{grid-template-columns:repeat(2,1fr)}.choiceTabs label>span{min-height:44px;border-radius:8px;font-size:12px}.choiceTabs input:checked+span{border-color:#3775f2;background:#eef4ff;color:#245fd0;font-weight:800}.formSectionHeading,.sheetHeading{display:flex;align-items:center;justify-content:space-between;gap:14px}.formSectionHeading .textButton{color:#3775f2;font-size:12px}.uploadProgress{display:flex;align-items:center;gap:10px}.progressSpinner{width:15px;height:15px;border:2px solid #ccd8ef;border-top-color:#3775f2;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.bottomSheetBackdrop{position:fixed;inset:0;z-index:80;background:rgba(16,24,40,.44);display:flex;align-items:flex-end;justify-content:center}.bottomSheet{width:100%;max-width:480px;max-height:88dvh;padding:10px 22px max(24px,env(safe-area-inset-bottom));border-radius:20px 20px 0 0;background:#fff;overflow:auto;box-shadow:0 -18px 50px rgba(16,24,40,.16)}.sheetHandle{width:38px;height:4px;margin:0 auto 18px;border-radius:99px;background:#d5d8de}.sheetHeading{align-items:flex-start}.sheetHeading h2{margin:0;font-size:21px}.sheetHeading .eyebrow{margin-bottom:4px}.sheetHeading .iconButton{font-size:28px;color:var(--muted)}.guideList{display:grid;grid-gap:9px;gap:9px;margin:20px 0}.guideList details{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.guideList summary{min-height:52px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.guideList summary::-webkit-details-marker{display:none}.guideList summary span{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:800}.guideList summary b{color:#3775f2;font-size:10px}.guideList details p{margin:0;padding:0 14px 14px;color:var(--muted);font-size:12px;line-height:1.65}.guideNotice{margin:0 0 16px;padding:12px;border-radius:9px;display:flex;align-items:flex-start;gap:9px;background:#f5f7fb;color:#5f6673}.guideNotice p{margin:0;font-size:11px;line-height:1.55}.guideNotice svg{flex:0 0 auto;margin-top:1px}.successBanner{margin-bottom:20px;display:flex;align-items:flex-start;gap:11px}.successBanner>span{width:28px;height:28px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:#20b84b;color:#fff}.successBanner strong{display:block}.successBanner p{margin:3px 0 0;color:#3e7f50;font-size:11px}.projectSummaryGrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:7px;gap:7px;margin-top:17px}.projectSummaryGrid>div{min-width:0;padding:12px 7px;border-radius:9px;background:#f5f7fb;text-align:center}.projectSummaryGrid span,.projectSummaryGrid strong{display:block}.projectSummaryGrid span{color:var(--muted);font-size:9px}.projectSummaryGrid strong{margin-top:5px;overflow:hidden;text-overflow:ellipsis;color:#245fd0;font-size:13px;white-space:nowrap}.recordChoiceList{display:grid;grid-gap:8px;gap:8px;margin-top:20px}.recordChoiceList>a{min-height:70px;padding:11px;border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:44px minmax(0,1fr) 20px;align-items:center;grid-gap:11px;gap:11px;text-decoration:none}.recordChoiceIcon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center}.recordChoiceIcon.blue{background:#eef4ff;color:#3775f2}.recordChoiceIcon.amber{background:#fff1e0;color:#c2660a}.recordChoiceIcon.green{background:#eaf9ee;color:#168536}.recordChoiceIcon.confirmed{background:#e8effe;color:#2456c9}.recordChoiceList>a>div{min-width:0}.recordChoiceList strong{display:block;font-size:14px}.recordChoiceList p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.4}.selectedFileList{display:grid;grid-gap:6px;gap:6px;margin-top:10px}.selectedFileList>div{min-height:38px;padding:6px 9px;border-radius:8px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;grid-gap:7px;gap:7px;background:#f5f7fb}.selectedFileList span{width:21px;height:21px;border-radius:6px;display:grid;place-items:center;background:#e7edfa;color:#3775f2;font-size:10px;font-weight:800}.selectedFileList p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#505765;font-size:11px}.selectedFileList button{border:0;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.workDetailGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.workDetailGrid label:last-child{grid-column:1/-1}.notificationGuide,.visibilityToggle{position:relative;padding:13px;border:1px solid #dce6fb;border-radius:10px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;background:#f6f9ff;color:#245fd0}.notificationGuide svg,.visibilityToggle svg{align-self:start}.notificationGuide strong,.visibilityToggle strong{display:block;font-size:12px;color:#245fd0}.notificationGuide p,.visibilityToggle p{margin:4px 0 0;color:#667591;font-size:10px;font-weight:500;line-height:1.5}.visibilityToggle input{position:absolute;width:1px;height:1px;opacity:0}.toggleVisual{position:relative;width:40px;height:23px;border-radius:20px;background:#c6cfdf;transition:background .15s}.toggleVisual:after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .15s}.visibilityToggle input:checked+.toggleVisual{background:#3775f2}.visibilityToggle input:checked+.toggleVisual:after{transform:translateX(17px)}.visibilityToggle input:focus-visible+.toggleVisual{outline:2px solid #245fd0;outline-offset:2px}.notificationGuide{border-color:var(--line);background:#fff;color:var(--muted)}.notificationGuide strong{color:var(--black)}.notificationGuide>span{padding:5px 7px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:9px;font-weight:800;white-space:nowrap}.customerProgress{margin-top:18px;padding:15px;border:1px solid #dce6fb;border-radius:12px;background:#f8faff}.customerProgress>div:first-child{display:flex;align-items:center;justify-content:space-between}.customerProgress span{color:var(--muted);font-size:11px}.customerProgress strong{color:#245fd0;font-size:18px}.progressTrack{height:7px;margin:11px 0 8px;border-radius:99px;background:#e2e9f7;overflow:hidden}.progressTrack i{display:block;height:100%;border-radius:inherit;background:#3775f2}.customerProgress small{color:var(--muted);font-size:9px}.customerAmountGrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;margin-top:10px;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--line)}.customerAmountGrid>div{padding:12px 7px;background:#fff;text-align:center}.customerAmountGrid span,.customerAmountGrid strong{display:block}.customerAmountGrid span{color:var(--muted);font-size:9px}.customerAmountGrid strong{margin-top:5px;font-size:11px;white-space:nowrap}.customerAmountGrid>div:last-child strong{color:#245fd0}.scheduleSearch{position:relative;margin:3px 0 14px;display:flex;align-items:center;color:var(--muted)}.scheduleSearch svg{position:absolute;left:13px;z-index:1}.scheduleSearch input{padding:0 40px;background:#f7f8fa}.scheduleSearch button{position:absolute;right:9px;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:20px;cursor:pointer}.scheduleProjectList{display:grid;grid-gap:10px;gap:10px}.scheduleProjectCard{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 3px 12px hsla(0,0%,7%,.04)}.scheduleProjectHeading{padding:14px;display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:center;grid-gap:10px;gap:10px;text-decoration:none}.scheduleProjectHeading>div{min-width:0;display:grid;justify-items:start;grid-gap:5px;gap:5px}.scheduleProjectHeading small,.scheduleProjectHeading strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scheduleProjectHeading strong{font-size:15px}.scheduleProjectHeading small{color:var(--muted);font-size:10px}.scheduleLogList{display:grid;border-top:1px solid var(--line)}.scheduleLogList>a{padding:11px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;background:#fafbfc;text-decoration:none}.scheduleLogList>a+a{border-top:1px solid #eceff3}.scheduleLogList>a>div{min-width:0}.scheduleLogList span{display:block;margin-bottom:3px;color:#3775f2;font-size:9px;font-weight:800}.scheduleLogList strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.scheduleLogList p{margin:0;color:var(--muted);font-size:10px;white-space:nowrap}.scheduleLogList b{color:#3775f2}.scheduleNoRecord{margin:0;padding:11px 14px;border-top:1px solid var(--line);background:#fafbfc;color:var(--muted);font-size:10px}.scheduleQuickActions{padding:10px 12px;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px;border-top:1px solid var(--line)}.scheduleQuickActions a{padding:8px 4px;border-radius:7px;background:#f1f5fd;color:#245fd0;text-align:center;text-decoration:none;font-size:10px;font-weight:800}.scheduleQuickActions a:nth-child(2){background:#fff6e6;color:#a66608}.scheduleQuickActions a:nth-child(3){background:#eaf9ee;color:#168536}.scheduleToolbar{display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:start;grid-gap:10px;gap:10px}.scheduleToolbar .scheduleSearch{margin-top:3px}.scheduleToolbar .roundCreateButton{box-shadow:none}.scheduleNotice{margin-bottom:12px}.scheduleTaskItem{padding:13px 14px;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;background:#fafbfc}.scheduleTaskItem>div:first-child{min-width:0}.scheduleTaskItem .visibilityBadge{display:inline-flex;margin-bottom:6px}.scheduleTaskItem strong{display:block;font-size:14px;line-height:1.45}.scheduleTaskItem p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.45;white-space:pre-wrap}.scheduleTaskMeta{display:grid;justify-items:end;grid-gap:8px;gap:8px}.scheduleTaskMeta b{max-width:112px;color:var(--primary);font-size:10px;line-height:1.45;text-align:right}.scheduleTaskMeta a{font-size:10px;font-weight:800;text-decoration:none}.scheduleQuickActions.two{grid-template-columns:repeat(2,1fr)}.scheduleFormPage{min-height:calc(100dvh - 72px);padding:20px 30px 48px;background:var(--canvas)}.scheduleForm{gap:30px}.scheduleForm .formSection{gap:22px}.scheduleForm textarea{min-height:130px}.scheduleDeleteButton{min-height:50px;margin-top:18px;color:var(--red)}.customerScheduleSection{margin-top:28px}.customerScheduleList{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.customerScheduleList article{padding:14px;border:1px solid var(--line);border-radius:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;background:#fff}.customerScheduleList article>div{min-width:0}.customerScheduleList strong{display:block;font-size:13px}.customerScheduleList p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.customerScheduleList time{max-width:112px;color:var(--primary);font-size:10px;font-weight:800;line-height:1.45;text-align:right}.customerCallButton{margin-top:10px}.authScreen{padding-top:8px}.authScreen .screenLead{margin-bottom:34px}.authScreen .screenTitle{font-size:30px;line-height:1.35}.authScreen form{gap:20px}.authScreen input{min-height:58px;border-radius:14px}.authScreen .button.full{min-height:56px;margin-top:5px;border-radius:14px}.authFooter{margin-top:24px}.plainFieldset legend{margin-bottom:8px;font-size:13px;font-weight:800}.authComplete>span{width:58px;height:58px;background:var(--green)}.authComplete p{font-size:13px}.scheduleChangeFields{padding:14px;border:1px solid #f2dfac;border-radius:10px;background:#fffbf2}.scheduleChangeFields legend{float:left;width:100%}.scheduleChangeFields .dateRow{clear:both}.scheduleChangeFields>.help{margin-top:9px}.scheduleChangeSummary{margin-top:10px;padding:10px 11px;border-radius:8px;display:flex;justify-content:space-between;gap:12px;background:#fff8e7;font-size:11px}.scheduleChangeSummary span{color:#8a670e}.scheduleChangeSummary strong{color:#6b4d00;text-align:right}.authPage{padding:40px 30px 52px}.authMark{display:block;width:73px;height:35px;margin:0 auto 48px;object-fit:contain}.authScreen{padding:0}.authScreen .screenLead{margin-bottom:48px}.authScreen .screenTitle{font-size:28px;line-height:38px;letter-spacing:-.6px}.authScreen form{gap:30px}.authScreen label{gap:14px;font-size:18px;font-weight:500}.authScreen input{min-height:62px;border-radius:16px;padding:0 18px;font-size:18px}.authScreen .button.full{min-height:62px;margin-top:10px;border-radius:16px}.authFooter{margin-top:44px;text-align:center;font-size:16px}.authFooter strong{color:var(--primary)}.loginPage .help{font-size:16px}.signupPage{padding:18px 25px 60px}.signupPage .screenLead{margin:12px 0 34px}.signupPage .screenTitle{font-size:27px;line-height:1.35}.signupPage .screenSubtitle{font-size:14px}.signupPage .authScreen form{gap:24px}.signupPage .authScreen label,.signupPage .plainFieldset legend{font-size:16px;font-weight:600}.signupPage .authScreen input{font-size:16px}.plainFieldset{min-width:0;margin:0;padding:0;border:0}.plainFieldset legend{margin-bottom:10px;font-size:16px;font-weight:600}.choiceTabs.three{grid-template-columns:repeat(3,1fr)}.choiceTabs label{position:relative}.choiceTabs input{position:absolute;width:1px;height:1px;opacity:0}.choiceTabs label>span{min-height:58px;border:1px solid var(--line);border-radius:16px;display:grid;place-items:center;background:#fff;color:var(--muted);font-size:16px;font-weight:400;cursor:pointer}.choiceTabs input:checked+span{font-weight:500}.authComplete{min-height:calc(100dvh - 160px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.authComplete>span{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:28px;font-weight:900}.authComplete h1{margin:22px 0 0;font-size:25px}.authComplete p{margin:10px 0 30px;color:var(--muted);font-size:14px;line-height:1.6}.authComplete .button{width:100%}.projectFormPage{min-height:calc(100dvh - 72px);padding:16px 30px 42px;background:var(--canvas)}.appHeader:has(+.projectFormPage){background:var(--canvas)}.projectForm{gap:30px}.projectForm .formSection{gap:22px}.projectRoomPreview{position:relative;min-height:167px;padding:25px 22px 18px;border:0;border-radius:16px;background:#fff;box-shadow:none;overflow:hidden}.projectRoomPreview:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--primary)}.previewTop{display:flex;align-items:center;justify-content:space-between;gap:12px}.previewTop span{color:var(--muted);font-size:12px}.previewTop b{color:var(--primary);font-size:15px}.projectRoomPreview h2{margin:19px 0 14px;font-size:21px}.previewMeta{display:grid;grid-gap:7px;gap:7px}.previewMeta p{margin:0;display:flex;align-items:center;gap:5px;color:var(--muted);font-size:12px}.previewMeta img{width:12px;height:12px;object-fit:contain}.deadlineBadge{position:absolute;right:17px;bottom:24px;min-width:51px;height:27px;padding:0 8px;border-radius:5px;display:grid;place-items:center;background:var(--red);color:#fff;font-size:14px}.amountPanel{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.amountPanel>label{gap:8px}.amountPanel input{border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}.amountPanel .inputWithUnit{border-bottom:1px solid #ececec}.vatChoice{margin-top:14px}.vatChoice>.fieldLabel{margin-bottom:12px;font-size:14px;font-weight:500}.periodTabs{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:3px;gap:3px}.periodTabs button{min-width:0;min-height:58px;padding:0 4px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--muted);font-size:13px;cursor:pointer}.periodTabs button.active{border-color:var(--primary);background:var(--primary);color:#fff}.createShareCard{padding:22px;border-radius:16px;background:#fff}.createShareCard h3{margin:0 0 14px;font-size:16px}.shareOptionRow{min-height:63px;padding:10px 12px;border-radius:16px;display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;background:var(--soft);font-size:12px}.shareOptionRow+.shareOptionRow{margin-top:10px}.shareOptionRow>div{min-width:0}.shareOptionRow strong{display:block;font-size:12px}.shareOptionRow p{margin:3px 0 0;color:var(--muted);font-size:10px;font-weight:400}.shareOptionRow input{position:absolute;width:1px;height:1px;opacity:0}.shareChannelIcon{width:24px;height:24px;border-radius:6px;display:grid;place-items:center;background:#fee500;color:#111;font-size:11px;font-weight:800}.shareChannelIcon.neutral{background:#e9ebf0}.shareChannelIcon img{width:13px;height:13px;object-fit:contain}.shareOptionRow .toggleVisual{width:38px;height:23px}.shareOptionRow input:checked+.toggleVisual{background:var(--primary)}.shareOptionRow input:checked+.toggleVisual:after{transform:translateX(15px)}.copyPill{padding:5px 10px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--muted);font-size:12px}.shareCardNotice{margin:17px 0 0;color:var(--primary);font-size:11px;line-height:1.5}.projectForm textarea{min-height:154px}.projectForm .formActions .microcopy{display:none}.projectsPage{padding-top:30px}.customerRoomPage,.projectDetailPage{min-height:calc(100dvh - 72px);padding:22px 20px 48px;background:var(--canvas)}.worklogFormPage{padding-top:24px}.schedulePage{padding-top:16px}.scheduleSearch input{min-height:50px;border-radius:14px;font-size:13px}.calendarPanel{padding:6px 0 20px}.calendarGrid>button span{width:36px;height:36px}.calendarGrid>button.selected span{background:var(--primary)}.scheduleProjectCard{border-radius:16px;box-shadow:0 4px 14px rgba(31,41,55,.05)}.scheduleQuickActions a{border-radius:10px;background:var(--primary-soft);color:var(--primary)}.notificationGuide,.visibilityToggle{padding:16px;border-radius:16px}.visibilityToggle strong{color:var(--primary)}.visibilityToggle input:checked+.toggleVisual{background:var(--primary)}.customerProgress{border-radius:16px;background:var(--primary-soft)}.customerProgress strong{color:var(--primary)}.progressTrack i{background:var(--primary)}.confirmationItem,.confirmationSummary,.customerAmountGrid,.importantCard,.operationsLink,.profileCard,.scheduleChangeFields,.shareBox{border-radius:16px}.scheduleChangeSummary{border-radius:12px}.calendarGrid>button i,.formSectionHeading .textButton,.guideList summary b,.projectAmount,.projectDateStrip button small,.projectScheduleHeading h2 span,.projectSummaryGrid strong,.scheduleCardTime b,.scheduleLogList b,.scheduleLogList span,.sectionCount,.selectedFileList span{color:var(--primary)}.calendarGrid>button.selected span,.customerProgress .progressTrack i,.progressSpinner,.scheduleDot{background-color:var(--primary)}.choiceTabs input:checked+span{border-color:var(--primary);background:var(--primary);color:#fff}.recordChoiceIcon.blue{background:var(--primary-soft);color:var(--primary)}.notificationGuide,.visibilityToggle{border-color:#d9e3ff}.notificationGuide svg,.visibilityToggle strong{color:var(--primary)}.customerProgress{border-color:#d9e3ff}.customerAmountGrid>div:last-child strong,.recordFormType{color:var(--primary)}.recordFormType{display:inline-flex;margin-bottom:10px;padding:6px 10px;border-radius:999px;background:var(--primary-soft);font-size:11px;font-weight:800}.photoPreviewGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:12px}.photoPreview{position:relative;overflow:hidden;border:2px solid transparent;border-radius:12px;background:var(--soft);aspect-ratio:1}.photoPreview img{width:100%;height:100%;display:block;object-fit:cover}.photoPreview.error{border-color:var(--red)}.photoPreview.done{border-color:var(--green)}.photoPreview.uploading{border-color:var(--primary)}.photoPreview button{position:absolute;top:5px;right:5px;width:25px;height:25px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.62);color:#fff;font-size:18px;line-height:1;cursor:pointer}.photoPreview button:disabled{display:none}.photoStatus{position:absolute;left:5px;right:5px;bottom:5px;padding:4px 5px;border-radius:6px;background:rgba(0,0,0,.65);color:#fff;font-size:9px;font-weight:700;text-align:center}.amountPreview{display:block;margin-top:-2px;color:var(--primary);font-size:13px}.projectDateRange>input{min-width:0;padding-left:12px;padding-right:8px}.koreanMoney{margin:9px 0 0;color:var(--primary);font-size:13px;font-weight:700}.vatCalculation{display:grid;grid-gap:8px;gap:8px;margin-top:14px;padding:13px;border-radius:12px;background:var(--soft)}.vatCalculation>div{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}.vatCalculation strong{color:var(--black)}.vatCalculation .vatTotal{padding-top:9px;border-top:1px solid var(--line);font-size:13px}.vatCalculation .vatTotal strong{color:var(--primary);font-size:15px}.documentUploadList{display:grid;grid-gap:7px;gap:7px}.documentUploadList>div{min-height:42px;padding:8px 10px;border-radius:10px;display:grid;grid-template-columns:18px minmax(0,1fr) auto auto;align-items:center;grid-gap:7px;gap:7px;background:var(--soft);font-size:10px}.documentUploadList span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.documentUploadList b{color:var(--muted)}.documentUploadList .done b{color:var(--green)}.documentUploadList .error b{color:var(--red)}.documentUploadList .uploading b{color:var(--primary)}.documentUploadList button{padding:3px;border:0;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}@media(max-width:430px){.projectDateRange{grid-template-columns:1fr}.projectDateRange>span{display:none}}.homeBrand{height:34px;margin-bottom:25px;display:flex;align-items:center;gap:8px}.homeBrand img{width:34px;height:28px;object-fit:contain}.homeBrand strong{font-size:18px;letter-spacing:-.4px}.roomsPage{padding-top:24px}.roomsLead{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:16px}.roomsLead h1{margin:5px 0 0;font-size:25px;line-height:1.35}.roundCreateButton{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;text-decoration:none;box-shadow:0 6px 16px rgba(51,108,249,.24)}.uploadGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.uploadGrid,.uploadTile{min-width:0;max-width:100%}.uploadTile{overflow:hidden}.uploadHint{width:100%}.imageLightbox{touch-action:pan-y}.imageLightboxNav{position:absolute;top:50%;z-index:1;width:42px;height:52px;padding:0;border:1px solid hsla(0,0%,100%,.28);border-radius:12px;background:rgba(0,0,0,.42);color:#fff;font-size:34px;line-height:1;transform:translateY(-50%);cursor:pointer}.imageLightboxNav.previous{left:12px}.imageLightboxNav.next{right:12px}.imageLightboxCounter{position:absolute;left:50%;bottom:max(18px,env(safe-area-inset-bottom));padding:6px 11px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;transform:translateX(-50%)}.adminBadge,.imageLightboxCounter{border-radius:999px;font-weight:800}.adminBadge{display:inline-flex;margin:5px 0 7px;padding:5px 9px;background:var(--primary-soft);color:var(--primary);font-size:10px}.accessDenied{min-height:calc(100dvh - 180px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.accessDenied svg{color:var(--primary)}.accessDenied h1{margin:18px 0 8px;font-size:22px}.accessDenied p{margin:0 0 24px;color:var(--muted);font-size:13px;line-height:1.6}.accessDenied .button{width:100%}.shareBox .iconButton.copied{background:var(--green-soft);color:var(--green)}.copyFeedback{margin:8px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.confirmationPendingState{margin-top:12px;padding:10px 11px;border-radius:9px;background:var(--yellow-soft);color:#8a670e;font-size:10px;font-weight:700}.projectSummaryGrid small{display:block;margin-top:4px;color:var(--muted);font-size:8px;white-space:nowrap}.currentProjectPeriod{clear:both;display:grid;grid-gap:4px;gap:4px;margin:2px 0 13px;padding:11px;border-radius:10px;background:#fff}.currentProjectPeriod span{color:var(--muted);font-size:10px}.currentProjectPeriod strong{font-size:12px}.projectAmountDetails{margin-top:12px;padding:0 13px;border:1px solid var(--line);border-radius:12px;background:#fff}.projectAmountDetails summary{min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;cursor:pointer;color:var(--muted);font-size:11px}.projectAmountDetails summary::-webkit-details-marker{display:none}.projectAmountDetails summary b{color:var(--primary);font-size:10px}.projectAmountDetails[open] summary b{font-size:0}.projectAmountDetails[open] summary b:after{content:"접기";font-size:10px}.projectAmountDetails .vatCalculation{margin:0 0 13px}.scheduleProjectCard{border-left:4px solid var(--project-accent,var(--primary))}.scheduleProjectHeading{padding:10px 12px;background:#f8f9fb}.scheduleProjectHeading>div{gap:3px}.scheduleProjectHeading strong{font-size:13px}.scheduleProjectHeading small{font-size:9px}.scheduleRoomLabel{color:var(--project-accent,var(--primary));font-size:8px;font-weight:800}.scheduleTaskList{display:grid;border-top:1px solid var(--line)}.scheduleTaskItem{padding:15px 14px;border-top:0;background:#fff}.scheduleTaskItem+.scheduleTaskItem{border-top:1px solid #eceff3}.scheduleTaskItem strong{font-size:15px}.calendarGrid>button .calendarScheduleDots{position:absolute;bottom:2px;left:50%;width:auto;height:auto;margin:0;display:flex;gap:2px;background:transparent;transform:translateX(-50%)}.calendarGrid>button .calendarScheduleDots i{position:static;width:4px;height:4px;margin:0;border-radius:50%}.calendarGrid>button.selected .calendarScheduleDots i{box-shadow:0 0 0 1px #fff}@media print{.appHeader,.bottomNav,.noPrint{display:none!important}.appShell{max-width:none;border:0!important;box-shadow:none!important;margin:0!important}}.bottomNav{grid-template-columns:repeat(4,1fr);padding-left:12px;padding-right:12px}.homeGreeting{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:18px}.homeGreeting h1{margin-bottom:0}.homeGreeting .roundCreateButton{flex:0 0 auto;margin-top:0}.homeGreeting .homeCreateButton{width:auto;min-width:132px;padding:0 15px;border-radius:999px;display:flex;gap:7px;font-size:13px;font-weight:800;white-space:nowrap}.projectStartPage{min-height:calc(100dvh - 72px);padding-top:30px;background:var(--canvas)}.projectStartChoices{display:grid;grid-gap:12px;gap:12px;margin-top:30px}.projectStartChoice{min-height:105px;padding:18px;border:1px solid var(--line);border-radius:18px;display:grid;grid-template-columns:48px minmax(0,1fr) 22px;align-items:center;grid-gap:14px;gap:14px;background:#fff;text-decoration:none}.projectStartChoice.disabled{grid-template-columns:48px minmax(0,1fr);opacity:.55}.projectStartChoice.primary{border-color:#cad9ff;box-shadow:0 8px 24px rgba(51,108,249,.08)}.projectStartIcon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary)}.projectStartIcon.quick{background:#fff0ef;color:#e95445}.projectStartIcon.contract{background:#edf4ff;color:var(--primary)}.projectStartChoice>div{min-width:0}.projectStartChoice strong{display:block;font-size:16px}.projectStartChoice .statusPill{margin-bottom:7px}.projectStartChoice p{margin:6px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.projectStartNotice{margin-top:20px;padding:0 8px}.completionPage{min-height:100dvh}.completionIcon{width:58px;height:58px;margin:0 auto 24px;border-radius:17px;display:grid;place-items:center;background:var(--primary);color:#fff;transform:rotate(-32deg);box-shadow:0 10px 22px rgba(51,108,249,.22)}.completionIcon svg{transform:rotate(32deg)}.completionPage .confirmationView .button{margin-top:34px}.createShareGuide{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;grid-gap:11px;gap:11px}.createShareGuide h3{margin:0 0 5px}.createShareGuide p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.projectDetailsDisclosure{margin-top:15px;border-top:1px solid var(--line)}.projectDetailsDisclosure summary,.shareDisclosure summary{list-style:none;cursor:pointer}.projectDetailsDisclosure summary::-webkit-details-marker,.shareDisclosure summary::-webkit-details-marker{display:none}.projectDetailsDisclosure>summary{min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--primary);font-size:12px;font-weight:800}.projectDetailsDisclosure>summary span{transition:transform .15s}.projectDetailsDisclosure[open]>summary span{transform:rotate(180deg)}.projectDetailsBody{padding-bottom:2px}.projectNote{margin-top:14px;padding:13px;border-radius:12px;background:var(--soft)}.projectNote span{color:var(--muted);font-size:10px;font-weight:800}.projectNote p{margin:6px 0 0;font-size:12px;line-height:1.6;white-space:pre-wrap}.shareDisclosure{padding:0!important;border:1px solid var(--line);border-radius:16px;background:#fff}.shareDisclosure>summary{min-height:58px;padding:0 17px;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;grid-gap:8px;gap:8px}.shareDisclosure>summary span{font-size:15px;font-weight:800}.shareDisclosure>summary strong{color:var(--primary);font-size:11px}.shareDisclosure>summary b{color:var(--muted);font-size:20px;transition:transform .15s}.shareDisclosure[open]>summary b{transform:rotate(90deg)}.shareDisclosureBody{padding:0 16px 16px}.worklogSearch{margin:14px 0 6px}.calendarGrid>button .calendarDayNumber.projectEndDate{box-shadow:inset 0 0 0 2px var(--project-end-color,var(--primary))}.calendarGrid>button.selected .calendarDayNumber.projectEndDate{box-shadow:inset 0 0 0 2px #fff,0 0 0 2px var(--project-end-color,var(--primary))}.calendarEndCount{position:absolute;top:0;right:0;min-width:15px;height:15px;padding:0 3px;border-radius:8px;display:grid;place-items:center;background:#fff;color:var(--muted);font-size:7px;box-shadow:0 1px 4px rgba(0,0,0,.12)}.calendarLegend{display:flex;justify-content:flex-end;gap:14px;margin-top:9px;color:var(--muted);font-size:9px}.calendarLegend span{display:flex;align-items:center;gap:5px}.calendarLegend i{width:8px;height:8px;display:block;border-radius:50%}.calendarLegend .dot{width:5px;height:5px;background:var(--primary)}.calendarLegend .ring{border:2px solid var(--primary)}.customerDateSection,.projectWeeklySection{padding-top:17px}.customerDateSection .projectSchedule,.projectWeeklySection .projectSchedule{margin:0}.customerSelectedSchedule,.weeklyScheduleList{display:grid;grid-gap:8px;gap:8px;margin-top:13px}.customerSelectedSchedule article,.weeklyScheduleItem{padding:13px;border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;background:#fff}.customerSelectedSchedule div,.weeklyScheduleItem div{min-width:0}.customerSelectedSchedule strong,.weeklyScheduleItem strong{display:block;font-size:13px}.weeklyScheduleItem p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.weeklyScheduleItem>a{font-size:10px;font-weight:800;text-decoration:none}.weeklyScheduleActions{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px;margin-top:10px}.weeklyScheduleActions a{padding:11px 8px;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-size:11px;font-weight:800;text-align:center;text-decoration:none}.customerSelectedSchedule article{grid-template-columns:minmax(0,1fr) auto}.customerSelectedSchedule time{color:var(--primary);font-size:10px;font-weight:800;text-align:right}.completionAmountPreview{display:grid;grid-gap:1px;gap:1px;margin:13px 0;border:1px solid #e8edf7;border-radius:12px;overflow:hidden;background:#e8edf7}.completionAmountPreview div{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;font-size:11px}.completionAmountPreview span{color:var(--muted)}.completionAmountPreview div:nth-child(3) strong{color:var(--primary);font-size:13px}.confirmationMedia{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px;margin:8px 0}.confirmationMedia img{width:100%;aspect-ratio:1/1;border-radius:8px;object-fit:cover}.unconfirmedSection{border-color:#f1d6a8;background:#fffaf2}.unconfirmedList{display:grid;grid-gap:8px;gap:8px}.unconfirmedList a{min-height:58px;padding:10px;border:1px solid #f0dfbf;border-radius:12px;display:grid;grid-template-columns:auto minmax(0,1fr) 18px;align-items:center;grid-gap:10px;gap:10px;background:#fff;text-decoration:none}.unconfirmedList small,.unconfirmedList strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unconfirmedList small{margin-top:3px;color:var(--muted);font-size:10px}.completionAmountPreview.formPreview{margin:0}.settingsMenu{display:grid;grid-gap:8px;gap:8px;margin-bottom:16px}.settingsMenu .operationsLink{width:100%;border:1px solid var(--line);background:#fff;text-align:left;font:inherit}.settingsMenu .operationsLink:disabled{opacity:.55;cursor:not-allowed}.settingsMeta{padding:14px 16px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:11px}.settingsMeta strong{color:var(--black)}.contractSoon{min-height:calc(100dvh - 150px);display:flex;flex-direction:column;justify-content:center}.contractSoonIcon{width:70px;height:70px;margin-bottom:22px;border-radius:20px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary)}.contractSoonList{display:grid;grid-gap:8px;gap:8px;margin:26px 0}.contractSoonList div{min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;grid-gap:9px;gap:9px;background:#fff;color:var(--black);font-size:12px;font-weight:700}.contractSoonList svg{color:var(--green)}.contractSoonList .muted{color:var(--muted);background:var(--soft)}.contractSoonList .muted svg{color:var(--muted)}.contractSoon .button+.button{margin-top:9px}.certificateFile{margin-top:8px}.confirmationDoneState{margin-top:12px;padding:10px 11px;border-radius:9px;font-size:10px;font-weight:800}.confirmationDoneState,.visibilityBadge.confirmed{background:var(--green-soft);color:var(--green)}.visibilityBadge.pending{background:var(--yellow-soft);color:#8a670e}.completionConfirmedCard{margin:20px 0;padding:15px;border:1px solid #bfe9ca;border-radius:16px;display:grid;grid-template-columns:24px minmax(0,1fr);grid-gap:10px;gap:10px;background:#f2fbf5;color:#176b32}.completionConfirmedCard strong{display:block;font-size:14px}.completionConfirmedCard p{margin:4px 0 0;color:#3f7d53;font-size:11px;line-height:1.55}.scheduleEmpty small{display:block;margin-top:4px;color:var(--subtle)}.contractFormPage{min-height:calc(100dvh - 72px);padding:14px 20px 48px;background:var(--canvas)}.contractForm{gap:24px}.contractSteps{position:-webkit-sticky;position:sticky;top:72px;z-index:10;margin:0 -20px;padding:10px 15px 12px;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:4px;gap:4px;background:rgba(243,244,246,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);list-style:none}.contractSteps li{position:relative;display:grid;justify-items:center;grid-gap:5px;gap:5px;color:var(--subtle);font-size:9px}.contractSteps li:not(:last-child):after{content:"";position:absolute;top:12px;left:calc(50% + 15px);right:calc(-50% + 15px);height:2px;background:#d8dde8}.contractSteps span{position:relative;z-index:1;width:25px;height:25px;border:2px solid #d8dde8;border-radius:50%;display:grid;place-items:center;background:var(--canvas);font-size:10px;font-weight:800}.contractSteps .active,.contractSteps .done{color:var(--primary);font-weight:800}.contractSteps .active span,.contractSteps .done span{border-color:var(--primary);background:var(--primary);color:#fff}.contractSteps .done:after{background:var(--primary)}.contractStepPanel{display:grid;grid-gap:26px;gap:26px}.contractStepPanel .screenLead{margin:2px 4px 0}.contractStepPanel .formSection{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.contractStepPanel .formSectionTitle{margin:0 0 2px;color:var(--primary)}.contractAmountCard{padding:20px;border:1px solid var(--line);border-radius:18px;display:grid;grid-gap:20px;gap:20px;background:#fff}.contractAmountCard>.koreanMoney{margin:-14px 0 0}.paymentStageSection{display:grid;grid-gap:14px;gap:14px}.paymentStageSection .formSectionHeading{align-items:flex-start}.paymentStageSection h2{margin:0;font-size:17px}.paymentStageSection .formSectionHeading p{margin:4px 0 0;color:var(--muted);font-size:11px}.paymentPresetRow{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:5px;gap:5px}.paymentPresetRow button{min-width:0;height:37px;padding:0 3px;border:1px solid #cad9ff;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-size:10px;font-weight:800;cursor:pointer}.paymentPresetRow button:disabled{opacity:.4}.paymentStageList{display:grid;grid-gap:10px;gap:10px}.paymentStageCard{padding:15px;border:1px solid var(--line);border-radius:15px;display:grid;grid-gap:13px;gap:13px;background:#fff}.paymentStageCard header{display:flex;align-items:center;justify-content:space-between}.paymentStageCard header strong{font-size:13px}.paymentStageCard header button{width:34px;height:34px;border:0;border-radius:9px;display:grid;place-items:center;background:var(--red-soft);color:var(--red);cursor:pointer}.paymentStageGrid,.rateGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.paymentStageCard label{gap:7px;font-size:11px}.paymentStageCard input,.paymentStageCard select{min-height:48px;padding:0 11px;border-radius:11px;font-size:12px}.paymentStageCard .inputWithUnit input{padding-right:30px}.paymentStageCard .inputWithUnit span{right:10px;font-size:10px}.paymentSummary{padding:14px;border:1px solid #cfe0ff;border-radius:13px;display:grid;grid-gap:7px;gap:7px;background:var(--primary-soft)}.paymentSummary div{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px}.paymentSummary strong{color:var(--primary);font-size:14px}.paymentSummary.over{border-color:#f1c5c5;background:var(--red-soft)}.paymentSummary.over strong{color:var(--red)}.contractTermsFields textarea{min-height:112px}.rateGrid label{min-width:0}.legalReferenceNotice{margin:-10px 0 0;padding:12px;border-radius:11px;background:var(--yellow-soft);color:#80600b;font-size:10px;line-height:1.55}.contractReviewSummary{padding:15px;border:1px solid var(--line);border-radius:14px;display:grid;grid-gap:10px;gap:10px;background:#fff}.contractReviewSummary div{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px}.contractReviewSummary strong{max-width:65%;color:var(--black);text-align:right}.contractFormActions{position:-webkit-sticky;position:sticky;bottom:0;z-index:11;margin:2px -20px -48px;padding:12px 20px max(15px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr;background:hsla(0,0%,100%,.97);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(17,24,39,.06)}.contractFormActions:has(.secondary){grid-template-columns:105px 1fr;gap:8px}.contractFormActions .button{min-height:56px;border-radius:14px;font-size:15px}.contractComplete{min-height:calc(100dvh - 130px);display:flex;flex-direction:column;align-items:center;text-align:center}.contractCompleteIcon{width:64px;height:64px;margin:28px 0 22px;border-radius:19px;display:grid;place-items:center;background:var(--primary);color:#fff;box-shadow:0 12px 24px rgba(51,108,249,.22)}.contractComplete h1{margin:0;font-size:25px;line-height:1.45}.contractComplete>p:not(.eyebrow){margin:12px 0 25px;color:var(--muted);font-size:12px;line-height:1.65}.contractComplete>.button+.button{margin-top:8px}.contractComplete>.error{width:100%;margin-top:12px}.contractCompletePreview{width:100%;margin-top:32px;text-align:left}.contractTermsCard{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.contractTermItem{border-bottom:1px solid var(--line)}.contractTermItem:last-child{border-bottom:0}.contractTermItem summary{min-height:70px;padding:15px 16px;display:grid;grid-template-columns:28px minmax(0,1fr) auto 18px;align-items:center;grid-gap:5px;gap:5px;cursor:pointer;list-style:none}.contractTermItem summary::-webkit-details-marker{display:none}.contractTermItem summary strong{font-size:14px}.termNumber{color:#687184;font-size:16px}.termStatus{font-size:11px;font-weight:800;white-space:nowrap}.termStatus.green{color:#55bd93}.termStatus.blue{color:var(--primary)}.termChevron{color:var(--subtle);font-size:18px;transition:transform .2s}.contractTermItem[open] .termChevron{transform:rotate(180deg)}.contractTermBody{padding:0 16px 18px;display:grid;grid-gap:14px;gap:14px}.termChoices{display:grid;grid-gap:5px;gap:5px}.termChoices.two{grid-template-columns:repeat(2,minmax(0,1fr))}.termChoices.three{grid-template-columns:repeat(3,minmax(0,1fr))}.termChoices button{min-width:0;min-height:48px;padding:7px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--muted);font-size:11px;line-height:1.35;cursor:pointer}.termChoices button.active{border-color:var(--primary);background:var(--primary);color:#fff;font-weight:800}.termAutoRows{display:grid;border-top:1px solid var(--line)}.termAutoRows>div{min-height:48px;padding:10px 0;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);font-size:12px}.termAutoRows span{color:var(--muted)}.termAutoCallout{min-height:58px;padding:13px;border-radius:12px;display:flex;align-items:center;justify-content:space-between;background:var(--soft);font-size:12px}.termAutoCallout span{color:var(--muted)}.contractTermBody label{gap:8px;font-size:12px}.contractTermBody textarea{min-height:100px}.contractTermBody small{color:var(--muted);font-size:10px;line-height:1.5}.contractTermBody .legalReferenceNotice{margin:0}.materialList,.materialList fieldset{display:grid;grid-gap:10px;gap:10px}.materialList fieldset{min-width:0;margin:0;padding:14px;border:1px solid var(--line);border-radius:13px}.materialList legend{padding:0 4px;font-size:11px;font-weight:800}.materialQuantity{display:grid;grid-template-columns:minmax(0,1fr) 90px;grid-gap:8px;gap:8px}.termAddButton{min-height:48px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--primary);font-weight:800;cursor:pointer}.textButton.danger{color:var(--red)}.contractMetaFields textarea{min-height:90px}.contractEstimateUpload{gap:14px}.contractEstimateUpload .uploadTile{width:100%;min-height:105px}.contractEstimateUpload>.textButton{justify-self:end}.contractPreviewCanvas{margin:0 -4px;padding:16px 12px;display:grid;grid-gap:16px;gap:16px;background:#dfe2e8;overflow:auto;overscroll-behavior:contain}.contractPaper{position:relative;width:100%;min-height:466px;padding:25px 22px 34px;display:flex;flex-direction:column;background:#fff;color:#1a202c;box-shadow:0 5px 18px rgba(25,33,47,.16);font-family:Pretendard,Malgun Gothic,sans-serif}.contractPaperHeader{min-height:44px;padding-left:10px;border-left:4px solid var(--primary);display:flex;justify-content:space-between;gap:8px}.contractPaperHeader h2{margin:0;font-size:11px;line-height:1.3}.contractPaperHeader p{margin:3px 0 0;color:#687184;font-size:6px}.contractPaperHeader>span{color:var(--primary);font-size:6px;font-weight:800}.contractPaperSection{margin-top:10px}.contractPaperSection h3{margin:0 0 4px;padding-bottom:3px;border-bottom:1px solid var(--primary);font-size:8px}.contractPaperEmpty,.contractPaperNotice,.contractPaperSection>p{margin:0;padding:6px;border-radius:3px;background:#f7f9fc;font-size:6px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.contractPaperSection small{display:block;margin-top:3px;color:#687184;font-size:5px;line-height:1.4}.contractPaperRow{min-height:21px;border:1px solid #d9dfe8;border-top:0;display:grid;grid-template-columns:72px 1fr;font-size:6px}.contractPaperRow:first-of-type{border-top:1px solid #d9dfe8}.contractPaperRow strong{padding:6px;background:#f7f9fc;color:#5d6675}.contractPaperRow span{padding:6px;overflow-wrap:anywhere}.contractPaperNotice{margin:11px 0 0;background:var(--primary-soft);color:#2456c9}.contractSignature{height:32px;margin-top:5px;padding:7px;border:1px solid #d9dfe8;border-radius:3px;display:flex;align-items:center;justify-content:space-between;color:#687184;font-size:6px}.contractSignature i{width:90px;border-bottom:1px solid #9aa2af}.contractPaperFooter{position:absolute;left:22px;right:22px;bottom:15px;padding-top:5px;border-top:1px solid #d9dfe8;display:flex;justify-content:space-between;color:#687184;font-size:5px}.contractViewPage{min-height:calc(100dvh - 72px);padding:18px 16px 48px;background:var(--canvas)}.contractViewLead{margin:4px 4px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.contractViewLead h1{margin:0;font-size:24px}.contractViewLead>div>p:last-child{margin:7px 0 0;color:var(--muted);font-size:11px}.contractViewLead>span{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary)}.contractViewActions{margin-bottom:12px;display:grid;grid-template-columns:1.25fr .7fr 1fr;grid-gap:6px;gap:6px}.contractViewActions .button{min-width:0;padding:0 6px;font-size:10px}.contractRoomLink{margin-top:14px}.contractReviewChecklist{padding:17px;border:1px solid var(--line);border-radius:15px;display:grid;grid-gap:12px;gap:12px;background:#fff}.contractReviewChecklist h2{margin:0 0 2px;font-size:14px}.contractReviewChecklist div{display:grid;grid-template-columns:20px 1fr auto;align-items:center;grid-gap:9px;gap:9px}.contractReviewChecklist div>span{width:18px;height:18px;border-radius:5px;display:grid;place-items:center;background:var(--primary);color:#fff}.contractReviewChecklist strong{font-size:11px}.contractReviewChecklist small{color:var(--primary);font-size:10px;font-weight:800}.contractCustomerNotice{padding:15px;border:1px solid #d6e4ff;border-radius:15px;display:flex;align-items:flex-start;gap:12px;background:var(--primary-soft)}.contractCustomerNotice>span{width:34px;height:34px;flex:0 0 auto;border-radius:10px;display:grid;place-items:center;background:#fff;color:var(--primary)}.contractCustomerNotice strong{font-size:12px}.contractCustomerNotice p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.contractPreviewHeading{display:flex;align-items:center;justify-content:space-between;margin:2px 1px -12px}.contractPreviewHeading strong{font-size:14px}.contractPreviewHeading span{color:var(--primary);font-size:10px;font-weight:800}.contractCompleteIcon{position:relative;width:72px;height:72px;border-radius:0;background:transparent;box-shadow:none}.contractCompleteIcon:before{content:"";position:absolute;inset:7px;border-radius:18px;background:var(--primary);box-shadow:0 12px 24px rgba(51,108,249,.22);transform:rotate(-28deg)}.contractCompleteIcon svg{position:relative;z-index:1}@media print{@page{size:A4;margin:0}.appShell,.siteCanvas,body,html{width:auto;max-width:none;min-height:0;margin:0!important;padding:0!important;background:#fff!important;border:0!important;box-shadow:none!important}.appHeader,.bottomNav,.contractComplete>:not(.contractCompletePreview),.contractCustomerNotice,.contractForm>.error,.contractForm>.notice,.contractFormActions,.contractPreviewHeading,.contractReviewChecklist,.contractReviewStep>.screenLead,.contractReviewSummary,.contractRoomLink,.contractSteps,.contractViewActions,.contractViewLead,.contractViewPage>.error,.contractViewPage>.success{display:none!important}.appContent,.contractFormPage,.contractViewPage{padding:0!important;background:#fff!important}.contractCompletePreview,.contractForm,.contractStepPanel{display:block!important;margin:0!important}.contractPreviewCanvas{margin:0;padding:0;display:block;background:#fff;overflow:visible}.contractPaper{width:210mm;min-height:297mm;padding:16mm 14mm 18mm;page-break-after:always;box-shadow:none}.contractPaper:last-child{page-break-after:auto}.contractPaperHeader{min-height:18mm;padding-left:5mm;border-left-width:2mm}.contractPaperHeader h2{font-size:18pt}.contractPaperHeader p{font-size:9pt}.contractPaperHeader>span{font-size:8pt}.contractPaperSection{margin-top:5mm}.contractPaperSection h3{margin-bottom:2mm;padding-bottom:1.5mm;font-size:11pt}.contractPaperEmpty,.contractPaperNotice,.contractPaperSection>p{padding:3mm;font-size:8.5pt;line-height:1.55}.contractPaperSection small{margin-top:1.5mm;font-size:7.5pt}.contractPaperRow{min-height:11mm;grid-template-columns:45mm 1fr;font-size:8.5pt}.contractPaperRow span,.contractPaperRow strong{padding:3mm}.contractSignature{height:20mm;margin-top:3mm;padding:4mm;font-size:8.5pt}.contractPaperFooter{left:14mm;right:14mm;bottom:8mm;padding-top:2mm;font-size:7.5pt}}.createProjectButton{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 14px;border-radius:999px;background:var(--primary,#1573e6);color:#fff;font-size:14px;font-weight:800;white-space:nowrap;text-decoration:none;box-shadow:0 8px 18px rgba(21,115,230,.2)}.createProjectButton:hover{filter:brightness(.97)}.contractorInfoCard{margin-top:16px;padding:16px;border:1px solid #e5eaf1;border-radius:14px;background:#f8fafc}.contractorInfoCard>span{display:block;margin-bottom:6px;color:#64748b;font-size:12px;font-weight:700}.contractorInfoCard>strong{display:block;color:#172033;font-size:16px}.contractorInfoCard>p{margin:5px 0 0;color:#64748b;font-size:13px}