.contractor-entry{max-width:720px;margin:48px auto}.contractor-entry h1{font-size:32px;line-height:1.5}.contractor-entry a.btn{display:inline-flex;text-decoration:none;align-items:center;justify-content:center;min-height:48px}.contractor-mode .workspace{max-width:1480px}.contractor-mode .layout{grid-template-columns:minmax(0,1fr) 330px}.contractor-mode .aside{max-height:calc(100dvh - 35px);overflow:auto}.contractor-mode .aside-card{margin-bottom:16px}.contractor-mode .aside-total strong{font-size:27px}.contractor-mode .aside-total:first-child{border-top:0;padding-top:0;margin-top:0}.contractor-mode .earnings-known{font-size:12px;line-height:1.8;color:var(--muted)}.contractor-mode .income-type{font-size:12px;letter-spacing:.08em;color:var(--muted);margin:0 0 8px}.contractor-mode .crew-income{background:#f7f8f4}.contractor-mode .room-controls{margin-bottom:20px}.contractor-mode .room-controls .row{align-items:end}.contractor-mode .room-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.contractor-mode .income-lines{margin:0}.contractor-mode .income-line{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.7}.contractor-mode .income-line:last-child{border-bottom:0}.contractor-mode .income-line dt{min-width:0}.contractor-mode .income-line dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.contractor-mode .income-line small{display:block;color:var(--muted);font-size:11px;line-height:1.8}.contractor-mode .income-line strong{font-weight:650}.contractor-mode .income-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contractor-mode .income-detail-grid .card{margin:0}.contractor-mode .income-detail-grid h3{margin:0 0 12px}.contractor-mode .case-rooms{display:grid;gap:12px;margin-top:20px}.contractor-mode .case-room{border:1px solid var(--line);border-radius:10px;padding:15px}.contractor-mode .case-room h3{font-size:15px;margin:0 0 10px}.contractor-mode .case-room p{font-size:12px;line-height:1.8;margin:4px 0}.contractor-mode .compensation-fields{margin-top:20px}.contractor-mode .room-feedback{font-size:12px;line-height:1.8}.contractor-mode .earnings-pending{margin:10px 0 0;padding-left:18px;font-size:12px;line-height:1.9}.contractor-mode .home-page .entry-grid{grid-template-columns:1fr}.contractor-mode .home-page .entry-card{min-height:220px;max-width:650px}.contractor-mode .result-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.contractor-mode .result-kpi:last-child{background:#edf2e8;color:var(--ink);border-color:var(--line)}.contractor-mode .room-controls [data-room-confirm]{margin-top:14px}.contractor-embedded .topbar{display:none}.contractor-embedded .account-bar{padding-top:12px}.contractor-mode .summary-context{font-size:12px;line-height:1.8;color:var(--muted)}
@media(max-width:1080px){.contractor-mode .layout{grid-template-columns:minmax(0,1fr) 280px}.contractor-mode .income-detail-grid{grid-template-columns:1fr}}
@media(max-width:820px){.contractor-mode .layout{display:flex;flex-direction:column}.contractor-mode .aside{order:-1;max-height:none;overflow:visible;display:grid;grid-template-columns:1fr 1fr;gap:12px}.contractor-mode .aside-card{display:block;margin:0}.contractor-mode .aside-head{border-right:0;border-bottom:1px solid #d6dfcf}.contractor-mode .aside .case-income{grid-column:1/-1}.contractor-mode .aside-body{padding:17px}.contractor-mode .aside-total strong{font-size:24px}.contractor-mode .summary-context{margin:5px 0}.contractor-mode .aside .earnings-pending{font-size:11px}}
@media(max-width:540px){.contractor-entry{margin:16px auto}.contractor-entry h1{font-size:26px}.contractor-mode .aside{gap:8px}.contractor-mode .aside-head{padding:14px}.contractor-mode .aside-body{padding:14px}.contractor-mode .aside-head h2{font-size:15px}.contractor-mode .aside-total strong{font-size:21px}.contractor-mode .summary-row{font-size:11px;gap:6px}.contractor-mode .result-kpis{grid-template-columns:1fr}.contractor-mode .room-controls .row{grid-template-columns:1fr}.contractor-mode .room-actions .btn{flex:1}.contractor-mode .income-line{font-size:12px;gap:10px}.contractor-mode .compensation-fields.row{grid-template-columns:1fr}.contractor-mode .earnings-known{font-size:11px}}
.contractor-mode .aside>*{min-width:0}.contractor-mode .aside-total strong,.contractor-mode .case-room h3,.contractor-mode .income-line dt,.contractor-mode .summary-row b{overflow-wrap:anywhere}.contractor-mode .income-line dd{white-space:normal;overflow-wrap:anywhere;max-width:48%;flex-shrink:0}
@media(max-width:820px){.contractor-mode .aside{grid-template-columns:repeat(2,minmax(0,1fr))}}
.contractor-mode a.btn,.contractor-mode a.entry-card{text-decoration:none;color:inherit}.contractor-mode a.entry-card{display:flex;flex-direction:column}.contractor-mode .contract-workspace{max-width:1440px}.contract-work-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}.contract-list{position:sticky;top:20px;max-height:calc(100dvh - 40px);overflow:auto}.contract-case{display:flex;flex-direction:column;gap:8px;width:100%;border:1px solid var(--line);background:var(--paper,#fff);padding:16px;margin-top:12px;text-align:left;border-radius:8px;font:inherit;cursor:pointer}.contract-case:hover,.contract-case.is-current{background:#edf2e8;border-color:#829173}.contract-case>span,.contract-case small{font-size:12px;line-height:1.7;color:var(--muted)}.contract-case strong{font-size:15px;line-height:1.7}.contract-case-income{font-variant-numeric:tabular-nums}.contract-project-head h2{font-size:26px;line-height:1.5}.contract-project-head h3{font-size:18px}.contract-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:14px}.contract-revision,.contract-assignment,.contract-payable,.contract-log,.contract-issue,.contract-survey{padding:20px 0;border-top:1px solid var(--line)}.contract-revision:first-of-type,.contract-assignment:first-of-type,.contract-payable:first-of-type{border-top:0}.contract-revision h3,.contract-assignment h3,.contract-payable h3{font-size:16px;line-height:1.7;margin:0 0 8px}.contract-revision>small,.contract-log>small,.contract-payment>small{display:block;font-size:12px;color:var(--muted);line-height:1.9}.contract-money-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0}.contract-amount{padding:18px;background:#f1f4ec;border-radius:8px;min-width:0}.contract-amount span{display:block;font-size:12px;color:var(--muted);margin-bottom:10px}.contract-amount strong{font-size:22px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.contract-plan{width:100%;display:grid;grid-template-columns:1fr auto;gap:6px 12px;text-align:left;font:inherit;background:#fff;border:1px solid var(--line);padding:16px;margin-top:10px;border-radius:8px;cursor:pointer}.contract-plan[aria-expanded=true]{background:#edf2e8}.contract-plan strong{font-size:15px;line-height:1.8}.contract-plan span{font-size:12px;line-height:1.9}.contract-plan small{grid-column:1/-1;font-size:12px;color:var(--muted)}.contract-plan-body{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.contract-report{margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:8px}.contract-report legend{font-weight:650;font-size:16px;padding:0 6px}.contract-report .field{display:block;margin-bottom:16px}.contract-report textarea,.contract-accept textarea{min-height:110px;resize:vertical;width:100%;font:inherit;line-height:1.8}.contract-accept{margin:24px 0;padding:18px;background:#f7f8f4;border-radius:8px}.contract-payment{padding:12px 0}.contract-events{padding-left:22px;line-height:1.8}.contract-events li{padding:12px 0}.contract-events small{display:block;font-size:12px;color:var(--muted)}.contract-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin:14px 0}.contract-photos a{display:flex;flex-direction:column;gap:6px;overflow-wrap:anywhere;color:inherit;text-decoration:none;font-size:12px}.contract-photos img{width:100%;height:140px;object-fit:cover;border-radius:6px;background:#f1f1ec}.contract-workspace button,.contract-workspace a.btn{min-height:42px}.contract-workspace h2,.contract-workspace h3,.contract-case strong{overflow-wrap:anywhere}.contract-workspace .card{min-width:0}.contract-workspace input,.contract-workspace select,.contract-workspace textarea{max-width:100%}.contract-workspace #workspace-detail{min-width:0}.contract-workspace [hidden]{display:none!important}
@media(max-width:1100px){.contract-work-layout{grid-template-columns:250px minmax(0,1fr);gap:18px}.contract-workspace .card{padding:22px}}
@media(max-width:820px){.contract-work-layout{grid-template-columns:minmax(0,1fr)}.contract-list{position:static;max-height:none}.contract-project-head h2{font-size:23px}.contract-workspace .room-actions .btn{flex:1 1 140px}.contract-workspace textarea{font-size:16px;scroll-margin-bottom:24px}.contract-photos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.contract-workspace .card{padding:18px}.contract-report{padding:12px}.contract-money-grid{grid-template-columns:minmax(0,1fr)}.contract-amount strong{font-size:21px}.contract-plan{grid-template-columns:minmax(0,1fr)}.contract-plan small{grid-column:1}.contract-photos img{height:120px}}

/* 範例導入沿既有卡片，預覽與新草稿提示不覆蓋原案。 */
.contractor-example-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.contractor-example-heading h2{margin-bottom:8px}.contractor-example-heading .btn{flex-shrink:0}.contractor-example-preview{margin-top:20px}.contractor-example-columns,.contractor-example-earnings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.contractor-example-columns ul{padding-left:20px;font-size:13px;line-height:1.9}.contractor-example-columns h4{font-size:13px;margin:12px 0}.contractor-example-earnings>div{padding:18px;background:var(--soft);border-radius:10px;min-width:0}.contractor-example-earnings small,.contractor-example-earnings strong{display:block;line-height:1.7}.contractor-example-earnings strong{font-size:24px;font-weight:550}.contractor-example-earnings p,.contractor-example-draft{font-size:12px;line-height:1.8}.contractor-example-draft{padding:14px;border-radius:8px;background:var(--soft)}.contractor-examples select{max-width:100%}@media(max-width:620px){.contractor-example-heading{display:block}.contractor-example-heading .btn{margin-top:10px}.contractor-example-columns,.contractor-example-earnings{grid-template-columns:1fr}.contractor-examples .room-actions{align-items:stretch}.contractor-examples .room-actions .btn{white-space:normal;text-align:left}}
