.account-actions{display:flex;align-items:center;gap:14px}
.topbar-brand{display:flex;align-items:center;gap:13px}.topbar-brand>img{display:block;width:78px;height:49px;object-fit:contain}.topbar-brand>div{min-width:0}
.logout-btn{font-size:12px;font-weight:800;color:var(--red);text-decoration:none;padding:8px 10px;border:1px solid #e1d6d4;border-radius:8px;background:#fff}
.logout-btn:hover{background:#fbf3f3}
.view-toggle.active{background:var(--ink);border-color:var(--ink);color:#fff}
.calendar-day-summary{padding:28px 18px;margin:8px 0 4px;border:1px solid #e8e2dc;border-radius:12px;background:linear-gradient(135deg,#fbf7f5,#f5f2ed);text-align:center}
.calendar-day-summary b,.calendar-day-summary span,.calendar-day-summary small{display:block}
.calendar-day-summary b{font:700 38px Georgia,serif;color:var(--red)}
.calendar-day-summary span{font-size:14px;font-weight:800;margin-top:2px}
.calendar-day-summary small{font-size:11px;color:var(--muted);margin-top:5px}
.job-owner{font-weight:800;color:var(--red)!important}
.admin-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.admin-page-head span{font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--red)}
.admin-page-head h2{margin:5px 0;font:700 30px Georgia,"Noto Serif TC",serif}
.admin-page-head p{margin:0;color:var(--muted);font-size:12px}
.admin-link{text-decoration:none;white-space:nowrap}
.calendar-connection{padding:12px 14px;margin-bottom:15px;border-radius:9px;background:#f4f1ed;color:var(--muted);font-size:12px}
.account-list{display:grid;gap:8px}
.account-table-head{display:grid;grid-template-columns:minmax(190px,1.7fr) 1fr 1fr 1fr auto;gap:8px;padding:0 12px 7px;color:var(--muted);font-size:10px;font-weight:800}
.account-row{grid-template-columns:minmax(190px,1.7fr) 1fr 1fr 1fr auto}
.account-row input[data-field="display_name"]{padding:7px 9px;font-weight:800}
.account-row small{padding-left:3px}
@media(max-width:900px){body.admin-mode .sidebar nav{grid-template-columns:repeat(4,1fr)}.calendar-actions{justify-content:flex-start}.admin-page-head{display:block}.admin-page-head .admin-link{display:inline-block;margin-top:12px}}
@media(max-width:700px){.account-actions{gap:7px}.logout-btn{padding:7px;font-size:11px}.account-table-head{display:none}.account-row{grid-template-columns:1fr 1fr}.account-row>div{grid-column:span 2}.account-row button{grid-column:span 2}.calendar-day-summary{padding:20px 12px}}

/* 首頁：日期案件清單 */
.daily-head{align-items:flex-end}
.case-date{width:auto;min-width:150px;padding:9px 10px;border:1px solid #d9d1cb;border-radius:8px;background:#fff;font-weight:800;color:var(--ink)}
.job-tools{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:10px;margin:15px 0 4px}.job-search{display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #e3dcd6;border-radius:10px;background:#fff}.job-search span{color:var(--red);font-size:18px}.job-search input{width:100%;padding:11px 0;border:0;background:transparent;outline:0}.job-sort{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding-left:11px;border:1px solid #e3dcd6;border-radius:10px;background:#fff;color:var(--muted);font-size:10px;font-weight:900}.job-sort select{border:0;background:transparent;padding:10px 8px;color:var(--ink);font-weight:800;outline:0}.icon-button{font-size:21px;line-height:1;padding:8px!important}
.daily-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:12px 0}
.daily-summary button{padding:12px;border:1px solid #e7dfd9;border-radius:10px;background:#faf8f5;color:var(--muted);font:800 11px inherit;text-align:left;cursor:pointer}
.daily-summary button:hover,.daily-summary button.active{border-color:#d68b8f;background:#fff0f0;color:var(--red);box-shadow:0 5px 16px rgba(99,24,30,.08)}
.daily-summary b{display:block;margin-bottom:3px;color:var(--ink);font:700 25px Georgia,serif}
.daily-job-list{display:grid;gap:9px}
.daily-job-card{position:relative;display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 15px 15px 19px;border:1px solid #e7dfd9;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 5px 18px rgba(43,31,27,.035)}
.daily-job-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#9b938d}.daily-job-card.status-unclaimed:before{background:#d85159}.daily-job-card.status-in_progress:before{background:#d58b18}.daily-job-card.status-draft:before{background:#7058a5}.daily-job-card.status-completed:before{background:#3b9161}
.daily-job-time b,.daily-job-time small,.daily-job-detail b,.daily-job-detail small{display:block}
.daily-job-time b{font:700 18px Georgia,serif}
.daily-job-time small,.daily-job-detail small{margin-top:4px;color:var(--muted);font-size:11px}
.daily-job-detail b{font-size:14px}
.job-title-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.job-title-line .status-badge{flex-shrink:0}
.job-badges{display:flex;align-items:center;gap:6px;flex-shrink:0}.pool-chip{display:inline-flex;padding:4px 8px;border:1px solid #ded6d0;border-radius:999px;background:#faf8f5;color:#746c67;font-size:9px;font-weight:900;white-space:nowrap}.daily-head #calendarDept{display:inline-flex;margin-top:7px;padding:4px 8px;border-radius:999px;background:#f0ebe7;color:#756c67;font-size:9px;font-weight:900}
.daily-job-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.status-badge.unclaimed{background:#f4e4e5;color:var(--red)}

/* Repair requests */
.repair-heading p{margin:5px 0 0;color:var(--muted)}
.repair-filter{grid-template-columns:minmax(230px,1fr) 150px 170px 145px auto 145px auto}
.repair-list{display:grid;gap:12px}
.repair-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 8px 28px rgba(30,24,22,.04)}
.repair-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#aa9d94}.repair-card.status-submitted:before{background:#329063}
.repair-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.repair-card h3{margin:6px 0 2px;font-size:20px}.repair-card header p{margin:0;color:var(--muted)}
.repair-no{font-size:12px;letter-spacing:.08em;font-weight:900;color:var(--red)}.repair-no i{font-style:normal;background:#f2ece9;padding:3px 7px;border-radius:99px;color:#514944}
.repair-status{padding:7px 11px;border-radius:99px;font-size:12px;font-weight:900;background:#f1ece8}.repair-status.submitted{background:#e1f2e9;color:#27724e}
.repair-card-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.repair-card-meta span{display:grid;gap:3px;background:#f7f4f2;border-radius:11px;padding:10px}.repair-card-meta small{color:var(--muted)}
.repair-source-label{font-size:12px;color:var(--muted)}.repair-card footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}
.repair-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;overflow-y:auto;border:0;border-radius:0;background:#f8f6f4}.repair-dialog::backdrop{background:#f8f6f4}
.repair-modal{box-sizing:border-box;width:min(1180px,100%);min-height:100dvh;margin:0 auto;padding:24px;background:#fff}.repair-modal>header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;border-bottom:1px solid var(--line);padding-bottom:16px}.repair-modal>header span,.repair-section-title+span{color:var(--red);font-size:11px;font-weight:900;letter-spacing:.13em}.repair-modal>header h3{margin:4px 0;font-size:25px}.repair-modal>header p{margin:0;color:var(--muted)}
.repair-source-bar{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end;background:#f7f3f1;border-radius:14px;padding:14px;margin:16px 0}.repair-source-bar small{grid-column:1/-1;color:var(--muted)}
.repair-source-choices{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,1fr);gap:6px;border-top:1px solid var(--line);padding-top:10px}.repair-source-choices[hidden]{display:none}.repair-source-choices>b{grid-column:1/-1}.repair-source-choices label{display:grid!important;grid-template-columns:auto 1fr;gap:2px 7px!important;background:#fff;border-radius:9px;padding:8px}.repair-source-choices input{grid-row:1/3;width:auto}.repair-source-choices small{grid-column:2;color:#a14d11}
.repair-source-choices label.is-spare{border:1px dashed #d9b76f;background:#fffaf0}.repair-source-choices label i{display:inline-block;margin-left:6px;color:#a46b00;font-size:9px;font-style:normal;font-weight:900}
.repair-source-finder{grid-column:1/-1;padding:11px;border:1px solid #e5d9d3;border-radius:12px;background:#fff}.repair-source-finder[hidden]{display:none}.repair-source-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.repair-source-results{display:grid;gap:7px;max-height:260px;margin-top:9px;overflow:auto}.repair-source-result{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 12px;border:1px solid #e9e1dc;border-radius:10px;background:#fff;text-align:left;cursor:pointer}.repair-source-result:hover{border-color:var(--red);background:#fff9f8}.repair-source-result b,.repair-source-result small{display:block}.repair-source-result b{font-size:12px}.repair-source-result small{margin-top:4px;color:var(--muted);font-size:10px}.repair-source-result i{flex:0 0 auto;color:var(--red);font-size:10px;font-style:normal;font-weight:900}
.repair-dialog-notice{position:sticky;top:68px;z-index:20;margin:0 0 12px;padding:11px 14px;border-radius:10px;background:#eaf6ee;color:#27683d;font-size:12px;font-weight:800;box-shadow:0 7px 22px rgba(34,25,22,.12)}.repair-dialog-notice.error{background:#fff0f0;color:#9d1d25}.repair-dialog-notice[hidden]{display:none}
.repair-form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.repair-form-grid .wide{grid-column:span 2}.repair-options{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}
.repair-form-grid label,.repair-options label,.repair-source-bar label,.repair-notes{display:grid;gap:6px;font-size:12px;font-weight:800}.repair-modal input,.repair-modal select,.repair-modal textarea,.center-admin-card input,.center-admin-card textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;font:inherit}.repair-modal textarea{resize:vertical}
.repair-section-title{display:flex;justify-content:space-between;align-items:center;gap:14px}.repair-section-title h4{margin:0;font-size:18px}.repair-section-title p{margin:3px 0 0;color:var(--muted);font-size:12px}
.repair-devices{display:grid;gap:8px;margin-top:10px}.repair-device{display:grid;grid-template-columns:30px minmax(140px,1fr) minmax(140px,1fr) minmax(220px,1.8fr) 32px;gap:8px;align-items:start;background:#f7f4f2;border:1px solid #eee6e1;border-radius:13px;padding:10px}.repair-device-index{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#24201e;color:#fff;font-weight:900;margin-top:19px}.repair-device label{display:grid;gap:5px;font-size:11px;font-weight:800}.duplicate-warning{color:#a14d11;font-weight:800;margin-top:3px}.icon-danger{border:0;background:#f3dfe0;color:#a52b31;border-radius:9px;width:30px;height:30px;font-size:20px;margin-top:18px}
.repair-notes{margin-top:14px}.repair-modal>footer{display:grid;grid-template-columns:auto 1fr auto auto;gap:9px;align-items:center;border-top:1px solid var(--line);padding-top:16px;margin-top:17px}.danger{color:#a72b31!important;border-color:#e5b5b7!important}
.pool-picker{border:1px solid var(--line);border-radius:10px;background:#fff;position:relative}.pool-picker summary{padding:10px;cursor:pointer;font-weight:800}.pool-picker>div{position:absolute;z-index:5;top:calc(100% + 4px);left:0;min-width:220px;max-height:250px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:11px;padding:8px;box-shadow:0 14px 35px rgba(0,0,0,.15)}.pool-picker label{display:flex;align-items:center;gap:8px;padding:7px;font-size:12px}.pool-picker input{width:auto}
.repair-center-admin{margin-top:28px}.center-admin-card{border:1px solid var(--line);border-radius:15px;background:#fff;margin-bottom:10px}.center-admin-card summary{display:flex;justify-content:space-between;padding:15px 17px;cursor:pointer}.center-admin-card summary span{color:var(--muted)}.center-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;padding:0 17px 17px}.center-admin-grid label{display:grid;gap:5px;font-size:11px;font-weight:800}.center-active{display:flex!important;align-items:center;gap:8px}.center-active input{width:auto}
.role-permission-admin{margin-top:28px}.permission-shell{overflow:auto;border:1px solid var(--line);border-radius:15px;background:#fff}.permission-table{min-width:760px}.permission-head,.permission-row{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(4,85px);align-items:center}.permission-head{position:sticky;top:0;background:var(--ink);color:#fff;font-size:10px;font-weight:900}.permission-head span,.permission-row>span{padding:10px 12px}.permission-row{border-top:1px solid #eee7e2}.permission-row>span{font-size:11px;font-weight:800}.permission-row label{display:flex;justify-content:center}.permission-row input{width:18px;height:18px;accent-color:var(--red)}.permission-role{padding:16px;border-bottom:1px solid var(--line)}.permission-role:last-child{border-bottom:0}.permission-role-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.permission-role-header h3{margin:0;font-size:15px}.permission-role-header button{padding:8px 13px}

@media(max-width:1000px){.repair-filter{grid-template-columns:1fr 1fr}.repair-filter .search-box{grid-column:1/-1}.repair-form-grid{grid-template-columns:repeat(2,1fr)}.repair-options{grid-template-columns:repeat(2,1fr)}.repair-device{grid-template-columns:28px 1fr 1fr 32px}.repair-device .fault{grid-column:2/4}.center-admin-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.sidebar nav{grid-template-columns:repeat(4,1fr)!important}.sidebar nav .nav-btn{font-size:10px;padding:8px 3px}.repair-heading{align-items:flex-end}.repair-heading h2{font-size:25px}.repair-filter{display:grid;grid-template-columns:1fr 1fr}.repair-filter .search-box,.repair-filter select:nth-of-type(2),.repair-filter button{grid-column:1/-1}.repair-card{padding:16px 14px 14px}.repair-card header{gap:8px}.repair-card h3{font-size:17px}.repair-card-meta{grid-template-columns:1fr 1fr}.repair-card footer>*{flex:1;text-align:center}.repair-dialog{width:100%;max-height:100dvh;height:100dvh;border-radius:0}.repair-modal{padding:16px 13px 90px}.repair-modal>header{position:sticky;top:0;z-index:8;background:#fff;padding-top:4px}.repair-source-bar{grid-template-columns:1fr}.repair-source-bar small{grid-column:auto}.repair-form-grid,.repair-options{grid-template-columns:1fr 1fr}.repair-form-grid .wide{grid-column:1/-1}.repair-device{grid-template-columns:26px 1fr 30px}.repair-device label,.repair-device .fault{grid-column:2/3}.repair-device .icon-danger{grid-column:3;grid-row:1}.repair-device-index{grid-row:1}.repair-modal>footer{position:fixed;inset:auto 0 0;background:#fff;padding:11px 13px calc(11px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px rgba(0,0,0,.1);grid-template-columns:auto 1fr 1fr;z-index:10}.repair-modal>footer span{display:none}.center-admin-grid{grid-template-columns:1fr}.account-row .pool-picker{grid-column:span 2}}
@media(max-width:700px){.repair-source-choices{grid-template-columns:1fr}.repair-source-choices>b{grid-column:auto}}
@media(max-width:700px){body.admin-mode .sidebar nav{grid-template-columns:repeat(5,1fr)!important}}
.status-badge.draft{background:#ece8f5;color:#675088}

/* 設備序號與手機相機掃描 */
.device-item{grid-template-columns:1fr 1.35fr 40px}
.device-field{display:grid;gap:7px;color:var(--muted);font-size:11px;font-weight:800}
.serial-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}
.remark-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.spare-toggle{display:flex;align-items:center;justify-content:center;min-width:82px;padding:0 10px;border:1px solid #d8ceca;border-radius:8px;background:#fff;color:var(--muted);cursor:pointer;white-space:nowrap}.spare-toggle input{position:absolute;opacity:0;width:1px}.spare-toggle:has(input:checked){border-color:var(--red);background:#fff0f0;color:var(--red)}.spare-toggle span{font-size:12px;font-weight:900}
.scan-serial-button{display:flex;align-items:center;justify-content:center;min-width:72px;padding:0 10px;border:1px solid #d8ceca;border-radius:8px;background:#f7f3f0;color:var(--red);cursor:pointer;font-size:12px;font-weight:900;white-space:nowrap}
.scan-serial-button:hover{background:#f1e7e3}
.scan-serial-button input{display:none}
.device-item .wide{grid-column:1/-1}

/* 現金單必須再次確認才可送出 */
.cash-confirm-dialog{width:min(440px,calc(100% - 32px));padding:28px;border:0;border-radius:16px;background:#fff;color:var(--ink);text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.3)}
.cash-confirm-dialog::backdrop{background:rgba(24,20,19,.68);backdrop-filter:blur(3px)}
.cash-confirm-icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 13px;border-radius:50%;background:#f4e4d0;color:#9a5a10;font:800 22px Georgia,serif}
.cash-confirm-dialog h3{margin:0;font:700 25px Georgia,"Noto Serif TC",serif}
.cash-confirm-dialog p{margin:12px 0 22px;color:var(--muted);font-size:14px;line-height:1.8}
.cash-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.cash-confirm-actions .primary,.cash-confirm-actions .secondary{padding:12px 10px}

@media(max-width:700px){
  .daily-head{align-items:flex-start}
  .calendar-actions{width:100%;display:grid;grid-template-columns:auto minmax(130px,1fr) auto auto}
  .calendar-actions .case-date{width:100%;min-width:0}
  .calendar-actions .new-schedule,.calendar-actions .sync-button{grid-column:span 2}
  .job-tools{grid-template-columns:1fr}.job-sort{min-height:44px}.daily-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-summary button:last-child{grid-column:1/-1}
  .daily-job-card{grid-template-columns:78px minmax(0,1fr);gap:9px}
  .daily-job-actions{grid-column:1/-1;justify-content:flex-start}
  .device-item{grid-template-columns:minmax(0,1fr) 40px}
  .device-field{grid-column:1/-1}
  .cash-confirm-actions{grid-template-columns:1fr}
}

/* 共用操作確認視窗 */
.action-confirm-dialog{width:min(470px,calc(100% - 28px));padding:0;border:0;border-radius:22px;background:#fff;color:var(--ink);box-shadow:0 30px 100px rgba(30,20,18,.38);overflow:hidden}
.action-confirm-dialog::backdrop{background:rgba(25,20,18,.7);backdrop-filter:blur(5px)}
.action-confirm-shell{position:relative;padding:30px 30px 25px;text-align:center}
.action-confirm-shell:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#df1218,#ff777b)}
.action-confirm-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 15px;border-radius:19px;background:#f8e7e7;color:var(--red);font:900 22px "Microsoft JhengHei",sans-serif;box-shadow:inset 0 0 0 1px #f0cccc}
.action-confirm-eyebrow{display:block;color:var(--red);font-size:9px;font-weight:900;letter-spacing:.18em}
.action-confirm-shell h3{margin:7px 0 0;font:700 25px Georgia,"Noto Serif TC","Microsoft JhengHei",serif}
.action-confirm-shell>p{margin:12px auto 0;max-width:380px;color:var(--muted);font-size:13px;line-height:1.75}
.action-confirm-detail{margin:17px 0 0;padding:12px 14px;border:1px solid #eadfda;border-radius:11px;background:#faf7f4;color:#6f6662;font-size:11px;line-height:1.65;text-align:left}
.action-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}.action-confirm-actions button{min-height:45px}
.action-confirm-dialog.tone-warning .action-confirm-shell:before{background:linear-gradient(90deg,#b66d10,#e4ad54)}.action-confirm-dialog.tone-warning .action-confirm-icon{background:#f7ecd9;color:#9a5a10;box-shadow:inset 0 0 0 1px #ead3ad}.action-confirm-dialog.tone-warning .action-confirm-eyebrow{color:#9a5a10}
.action-confirm-dialog.tone-danger .action-confirm-shell:before{background:linear-gradient(90deg,#9e1118,#df1218)}.action-confirm-dialog.tone-danger .action-confirm-icon{background:#f8dddd;color:#a30e15}

/* 送修照片／影片附件 */
.repair-attachments-block{margin-top:18px;padding:18px;border:1px solid #e8e0da;border-radius:14px;background:#fcfaf8}
.repair-attachment-picker{display:grid;place-items:center;gap:5px;margin-top:12px;padding:17px;border:1px dashed #d7c7c1;border-radius:11px;background:#fff;color:var(--red);text-align:center;cursor:pointer}.repair-attachment-picker input{display:none}.repair-attachment-picker span{font-size:13px;font-weight:900}.repair-attachment-picker small{color:var(--muted);font-size:10px;font-weight:500}
.repair-attachments{display:grid;gap:8px;margin-top:11px}.repair-attachment-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto 32px;align-items:center;gap:9px;padding:9px 10px;border:1px solid #e5ddd7;border-radius:10px;background:#fff}.repair-attachment-card.pending{border-style:dashed;background:#fff9f7}.repair-attachment-type{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#f7e7e7;color:var(--red);font-weight:900}.repair-attachment-card b,.repair-attachment-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.repair-attachment-card b{font-size:11px}.repair-attachment-card small{margin-top:3px;color:var(--muted);font-size:9px}.repair-attachment-card .secondary{padding:8px 11px;text-decoration:none;font-size:10px}.repair-attachment-empty{margin:0;padding:13px;color:var(--muted);font-size:11px;text-align:center}

/* 管理者：表單選項與 Google 案件池 */
.system-option-admin,.calendar-pool-admin{margin-top:24px}.system-option-grid,.calendar-pool-list{display:grid;gap:12px}.system-option-card,.calendar-pool-card{border:1px solid #e5ddd7;border-radius:14px;background:#fff;overflow:hidden}.system-option-card summary{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;cursor:pointer}.system-option-card summary b{font-size:14px}.system-option-card summary span{color:var(--muted);font-size:10px}.system-option-list{padding:0 16px}.system-option-row{display:grid;grid-template-columns:minmax(160px,1fr) 86px auto auto;gap:8px;align-items:center;padding:9px 0;border-top:1px solid #eee7e2}.system-option-row input[type=text],.system-option-row>input{min-width:0}.option-active{display:flex!important;grid-template-columns:none!important;align-items:center;gap:7px!important;font-size:11px!important;white-space:nowrap}.option-active input{width:17px!important;height:17px!important;accent-color:var(--red)}.system-option-add{display:grid;grid-template-columns:1fr auto;gap:8px;padding:13px 16px 16px;background:#faf7f4}.system-option-add input,.calendar-pool-create input,.calendar-pool-create select,.calendar-pool-card input,.calendar-pool-card select{padding:11px;border:1px solid #ded5cf;border-radius:9px;background:#fff;font:inherit}
.system-option-row.has-points{grid-template-columns:minmax(150px,1fr) minmax(135px,.8fr) 105px 78px auto auto}.system-option-add.has-points{grid-template-columns:minmax(160px,1fr) minmax(145px,.8fr) 105px auto}.option-points,.option-public-name{display:grid!important;grid-template-columns:none!important;gap:3px!important;color:var(--muted);font-size:9px!important;font-weight:800}.option-points input,.option-public-name input{width:100%!important;min-width:0;padding:8px!important;border:1px solid #ded5cf;border-radius:8px;background:#fff;font:inherit;color:var(--ink)}
.system-option-help{margin:0 16px 12px;padding:10px 12px;border-radius:9px;background:#fff6e7;color:#805614;font-size:10px;font-weight:750;line-height:1.55}
.calendar-discovery-note{margin-bottom:11px;padding:11px 14px;border-radius:10px;background:#edf7f0;color:#27683d;font-size:11px;font-weight:800}.calendar-pool-create{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(160px,.8fr) minmax(220px,1.2fr) auto auto;align-items:end;gap:9px;margin-bottom:13px;padding:15px;border:1px solid #eadfda;border-radius:13px;background:#faf7f4}.calendar-pool-card{display:grid;grid-template-columns:minmax(110px,.65fr) minmax(150px,.85fr) minmax(140px,.75fr) minmax(210px,1.2fr) 105px 100px auto;align-items:end;gap:10px;padding:15px 16px}.calendar-pool-card>div:first-child small,.calendar-pool-card>div:first-child b,.calendar-pool-card label>small{display:block}.calendar-pool-card>div:first-child small,.calendar-pool-card label>small{margin-bottom:5px;color:var(--muted);font-size:9px}.calendar-pool-card>label{display:grid;gap:5px;color:var(--muted);font-size:10px;font-weight:800}.calendar-pool-actions{display:flex;gap:7px}.calendar-pool-actions button{padding:10px 11px;white-space:nowrap}

@media(max-width:700px){
  .action-confirm-shell{padding:25px 19px 19px}.action-confirm-shell h3{font-size:21px}.action-confirm-actions{grid-template-columns:1fr}.action-confirm-actions [data-confirm-submit]{grid-row:1}
  .repair-attachments-block{padding:14px 12px}.repair-attachment-card{grid-template-columns:34px minmax(0,1fr) 32px}.repair-attachment-card .secondary{grid-column:2/4;text-align:center}.repair-attachment-type{width:32px;height:32px}
  .system-option-row,.system-option-row.has-points{grid-template-columns:minmax(0,1fr) 82px}.system-option-row.has-points .option-public-name,.system-option-row.has-points .option-points{grid-column:1/2}.system-option-row button{width:100%}.system-option-add,.system-option-add.has-points{grid-template-columns:1fr}.system-option-add.has-points .option-public-name,.system-option-add.has-points .option-points{grid-column:1/-1}
  .calendar-pool-create{grid-template-columns:1fr}.calendar-pool-card{grid-template-columns:1fr 1fr}.calendar-pool-card>label:nth-of-type(2),.calendar-pool-actions{grid-column:1/-1}.calendar-pool-actions button{flex:1}.calendar-pool-card>div:first-child{grid-column:1/-1}
}

/* 協作工程師 */
.collaborator-field{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;align-items:start;padding:14px;border:1px solid #ece6e1;border-radius:10px;background:#faf8f5}
.collaborator-field b,.collaborator-field small{display:block}
.collaborator-field b{font-size:12px;color:var(--ink)}
.collaborator-field small{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.5}
.collaborator-options{display:flex;flex-wrap:wrap;gap:8px}
.collaborator-options label{display:flex;grid-template-columns:none;align-items:center;gap:7px;padding:9px 11px;border:1px solid #ddd5cf;border-radius:8px;background:#fff;font-size:12px;cursor:pointer}
.collaborator-options label:has(input:checked){border-color:var(--red);background:#fbefef;color:var(--red)}
.collaborator-options input{width:auto;margin:0;accent-color:var(--red)}
.no-collaborator{padding:8px 0}

/* 設備明細與序號掃描 */
.device-item{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);align-items:start}
.device-item-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px}
.device-item-head b{font-size:12px;color:var(--ink)}
.device-item-head .remove-device{width:auto;height:auto;padding:7px 10px;font-size:12px;font-weight:800;white-space:nowrap}
.device-item .wide{grid-column:1/-1}

/* 客戶簽名：表單只保留預覽，實際簽名使用全螢幕 */
.customer-signature-card{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(190px,.6fr);gap:16px;align-items:center}
.signature-preview{display:grid;place-items:center;min-height:150px;padding:12px;border:1px dashed #cfc4be;border-radius:10px;background:repeating-linear-gradient(0deg,#fff,#fff 38px,#f3f1ee 39px);overflow:hidden}
.signature-preview span{color:var(--muted);font-size:12px}
.signature-preview img{display:block;max-width:100%;max-height:180px;object-fit:contain}
.signature-preview img[hidden]{display:none}
.signature-entry{display:grid;gap:8px;align-content:center}
.signature-entry small{color:var(--muted);font-size:10px;line-height:1.6;text-align:center}
.signature-entry .signer{margin:0}
.customer-signature-dialog{inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#f4f1ed;color:var(--ink);overflow:hidden}
.customer-signature-dialog::backdrop{background:rgba(20,18,17,.86)}
.signature-workspace{height:100%;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;transform-origin:center;transition:transform .2s ease}
.customer-signature-dialog.flipped .signature-workspace{transform:rotate(180deg)}
.signature-workspace header,.signature-workspace footer{display:flex;align-items:center;justify-content:space-between;gap:10px}
.signature-workspace header b,.signature-workspace header small{display:block}
.signature-workspace header b{font:700 20px Georgia,"Noto Serif TC",serif}
.signature-workspace header small{margin-top:3px;color:var(--muted);font-size:11px}
.signature-workspace h3{margin:0;font:700 22px Georgia,"Noto Serif TC",serif}
.signature-workspace p{margin:3px 0 0;color:var(--muted);font-size:11px}
.signature-workspace canvas{display:block;width:100%;height:100%;min-height:240px;border:2px solid #d4cbc5;border-radius:14px;background:repeating-linear-gradient(0deg,#fff,#fff 54px,#f1eeeb 55px);touch-action:none}
.signature-workspace footer{justify-content:flex-end}

@media(max-width:700px){
  .topbar{height:auto;min-height:78px;padding:13px 0;gap:8px}
  .topbar h1{font-size:19px}
  .account-actions{flex-shrink:0}
  .hero{min-height:0;padding:24px 20px;align-items:flex-start}
  .hero:after{right:-20px;top:-45px;font-size:210px}
  .hero h2{font-size:clamp(28px,8vw,38px);line-height:1.27;margin:10px 0}
  .hero p{font-size:12px;line-height:1.7}
  .hero-action{width:100%;min-width:0;margin-top:18px;padding:12px 16px}
  .calendar-panel{padding:16px;margin-top:0}
  .calendar-head.daily-head{display:block}
  .daily-head>div:first-child{min-width:0}
  .daily-actions{display:grid!important;grid-template-columns:42px minmax(0,1fr) 42px 52px;gap:7px;width:100%;margin-top:14px}
  .daily-actions button,.daily-actions input{width:100%;min-width:0;min-height:44px;margin:0;padding:8px 5px}
  .daily-actions .case-date{min-width:0;text-align:center;font-size:13px}
  .daily-actions .new-schedule{grid-column:1/3}
  .daily-actions .sync-button{grid-column:3/5}
  .daily-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .daily-job-card{grid-template-columns:1fr;align-items:start;gap:10px;padding:13px}
  .daily-job-time{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-bottom:9px;border-bottom:1px solid #eee8e3}
  .daily-job-time small{margin:0}
  .daily-job-actions{grid-column:auto;width:100%;justify-content:stretch}
  .daily-job-actions .open-btn,.daily-job-actions .claim-btn{flex:1;margin:0;min-height:42px}
  .form-heading{margin-bottom:14px}
  .form-heading .form-actions{display:none}
  .form-card{padding:15px;margin-bottom:10px}
  .card-title{align-items:flex-start;padding-bottom:13px;margin-bottom:15px}
  .card-title p{line-height:1.5}
  .collaborator-field{grid-template-columns:1fr;gap:10px;padding:12px}
  .collaborator-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .collaborator-options label{min-width:0;padding:10px 9px}
  .device-item{grid-template-columns:1fr;padding:12px;gap:11px}
  .device-item-head,.device-field,.device-item .wide{grid-column:1/-1}
  .serial-input-row{grid-template-columns:minmax(0,1fr) 88px}
  .scan-serial-button{min-width:0;min-height:44px;padding:0 8px}
  .photo-controls{grid-template-columns:1fr}
  .file-drop{padding:18px 12px}
  .customer-signature-card{grid-template-columns:1fr}
  .signature-preview{min-height:125px}
  .signature-entry .primary{width:100%}
  .sticky-save{bottom:78px;margin-top:12px;padding:0;background:transparent;box-shadow:none;justify-content:flex-end;pointer-events:none}
  .sticky-save>div{display:none}
  .sticky-save .primary{width:auto;min-width:116px;padding:10px 14px;font-size:13px;box-shadow:0 7px 22px rgba(100,23,29,.3);pointer-events:auto}
  .signature-workspace header{align-items:flex-start}
  .signature-workspace h3{font-size:19px}
  .signature-workspace footer{display:grid;grid-template-columns:repeat(3,1fr)}
  .signature-workspace footer button{min-width:0;padding:11px 5px}
}

@media(max-width:420px){
  .daily-actions{grid-template-columns:38px minmax(0,1fr) 38px 48px;gap:5px}
  .daily-actions button{font-size:12px}
  .collaborator-options{grid-template-columns:1fr}
  .serial-input-row{grid-template-columns:minmax(0,1fr) 82px}
}

/* Wixtar 品牌首頁 */
.brand-logo{width:48px;height:38px;object-fit:cover;border-radius:8px;mix-blend-mode:screen}
.hero{min-height:260px;display:grid;grid-template-columns:minmax(0,1fr) 168px;align-items:center;gap:26px;padding:38px 44px;border:1px solid #e8dfd9;background-color:#fff;background-image:url("/hero-bg-desktop.png");background-repeat:no-repeat;background-position:center center;background-size:cover;color:var(--ink);box-shadow:0 12px 35px rgba(68,42,36,.06)}
.hero:before,.hero:after{content:none}
.hero-copy{position:relative;z-index:1;max-width:650px}
.hero .kicker{color:var(--red);opacity:1}
.hero h2{margin:11px 0 9px;font-size:clamp(31px,3vw,43px);line-height:1.16;letter-spacing:-.035em}
.hero p{max-width:620px;color:var(--muted);font-size:13px;line-height:1.75}
.hero-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}.hero-tags span{padding:6px 10px;border:1px solid #eadbd6;border-radius:999px;background:#fff;color:#756964;font-size:10px;font-weight:900;letter-spacing:.04em}
.hero-brand{position:relative;z-index:1;display:grid;justify-items:center;align-content:center;gap:7px;width:168px;padding:0;background:transparent;box-shadow:none}
.hero-brand img{display:block;width:138px;height:auto;object-fit:contain;filter:drop-shadow(0 7px 12px rgba(91,22,21,.11))}
.hero-brand small{color:#9a302f;font-size:8px;font-weight:900;letter-spacing:.18em;white-space:nowrap}

/* 條件必填與免簽名 */
.signature-waiver{display:flex;grid-template-columns:none;align-items:center;gap:12px;margin-bottom:16px;padding:13px 15px;border:1px solid #ead8d5;border-radius:10px;background:#fff7f6;cursor:pointer}
.signature-waiver input{width:20px;height:20px;margin:0;accent-color:var(--red)}
.signature-waiver b,.signature-waiver small{display:block}
.signature-waiver b{color:var(--red);font-size:13px}
.signature-waiver small{margin-top:3px;color:var(--muted);font-size:10px;font-weight:500}
.signature-preview.waived{border-color:var(--red);background:#fff3f2}
.signature-preview.waived span{color:var(--red);font-weight:800}
.customer-signature-card.waived{opacity:.66}
.customer-signature-card button:disabled,.customer-signature-card input:disabled{cursor:not-allowed;background:#eee9e7;color:#9b9390;box-shadow:none}
.device-field.required>b:after{content:"";display:inline-block;width:5px;height:5px;margin:0 0 6px 5px;border-radius:50%;background:var(--red)}

@media(max-width:700px){
  .hero{display:block;min-height:270px;padding:25px 22px;background-image:url("/hero-bg-mobile.png");background-position:center center;background-size:cover}
  .hero-copy{max-width:76%}
  .hero h2{font-size:clamp(26px,7.5vw,31px);line-height:1.22;margin:6px 0}
  .hero p{font-size:11px;line-height:1.65}
  .hero-tags{margin-top:14px}.hero-tags span{font-size:9px;padding:5px 8px}
  .hero-brand{position:absolute;right:15px;bottom:15px;display:grid;width:88px;gap:2px;padding:0;background:transparent;box-shadow:none}
  .hero-brand img{width:72px}
  .hero-brand small{font-size:5px;letter-spacing:.09em}
}

/* 版本、重新簽名、PDF 與滿意度交付 */
.version-chip{display:inline-block;margin-left:5px;padding:2px 6px;border-radius:999px;background:#f4e4e5;color:var(--red);font:800 9px "Microsoft JhengHei",sans-serif;font-style:normal;vertical-align:2px}
.revision-warning{display:flex;gap:10px;align-items:center;margin:0 0 16px;padding:12px 14px;border:1px solid #e5a6a8;border-radius:10px;background:#fff0f0;color:#8f161c}
.revision-warning b{white-space:nowrap;font-size:12px}.revision-warning span{font-size:11px;line-height:1.6}
.delivery-card{border-top:3px solid var(--red)}
.delivery-head{display:flex;align-items:center;gap:12px;margin-bottom:15px}.delivery-head b,.delivery-head small{display:block}.delivery-head small{margin-top:3px;color:var(--muted);font-size:10px}
.version-badge{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--ink);color:#fff;font:800 15px Georgia,serif}
.survey-qr{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;gap:22px;padding:17px;border:1px solid #e5ddd7;border-radius:12px;background:#faf8f5}
.survey-qr>div:first-child{display:grid;justify-items:center}.survey-qr img{display:block;width:180px;height:180px;padding:6px;background:#fff;border-radius:9px}.survey-qr small{margin-top:7px;color:var(--muted);font-size:10px}
.survey-qr b,.delivery-done b,.delivery-expired b{display:block;font-size:15px}.survey-qr p{color:var(--muted);font-size:12px;line-height:1.7}.survey-qr a{color:var(--red);font-size:11px;font-weight:800}
.delivery-done,.delivery-expired{display:grid;gap:8px;padding:17px;border-radius:12px}.delivery-done{background:#eef8f0;color:#246438}.delivery-expired{background:#f5f1ed;color:var(--ink)}
.delivery-done span,.delivery-expired span{font-size:11px;line-height:1.6}.download-pdf{display:inline-block;width:max-content;margin-top:5px;padding:10px 15px;border-radius:8px;color:#fff;text-decoration:none;font-size:12px;font-weight:900}
.delivery-error{margin:0 0 12px;padding:10px;border-radius:8px;background:#fde8e8;color:#9d1d25;font-size:11px;line-height:1.6}
.delivery-warranty{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 12px;padding:13px 15px;border:1px solid #eadbb8;border-radius:11px;background:#fffbf0}.delivery-warranty b,.delivery-warranty small{display:block}.delivery-warranty b{font-size:12px}.delivery-warranty small{margin-top:3px;color:var(--muted);font-size:9px}.delivery-warranty a{white-space:nowrap;text-decoration:none}
.delivery-waiting{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px;border-radius:12px;background:#f7f3f0}.delivery-waiting b,.delivery-waiting span{display:block}.delivery-waiting span{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.6}.delivery-waiting button{white-space:nowrap}
.survey-qr-dialog{width:min(480px,calc(100% - 28px));padding:0;border:0;border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 28px 90px rgba(20,15,14,.38)}
.survey-qr-dialog::backdrop{background:rgba(22,18,17,.72);backdrop-filter:blur(4px)}.survey-qr-modal{padding:25px;text-align:center}.survey-qr-modal header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;text-align:left}.survey-qr-modal header span{color:var(--red);font-size:9px;font-weight:900;letter-spacing:.16em}.survey-qr-modal h3{margin:5px 0 0;font:700 23px Georgia,"Noto Serif TC",serif}.survey-qr-frame{display:grid;place-items:center;width:min(300px,80vw);height:min(300px,80vw);margin:20px auto 12px;padding:12px;border:1px solid #e7dfd9;border-radius:18px;background:#fff}.survey-qr-frame img{display:block;width:100%;height:100%;object-fit:contain}.survey-qr-modal>b{font-size:14px}.survey-qr-modal p{margin:10px auto;color:var(--muted);font-size:12px;line-height:1.75;max-width:360px}.survey-qr-modal>small{display:block;color:var(--red);font-size:11px;font-weight:800}
@media(max-width:700px){.revision-warning{align-items:flex-start;flex-direction:column}.survey-qr{grid-template-columns:1fr;text-align:center}.survey-qr img{width:min(210px,70vw);height:min(210px,70vw)}.delivery-head{margin-bottom:12px}}
@media(max-width:700px){.delivery-waiting{align-items:stretch;flex-direction:column}.delivery-waiting button{width:100%}.survey-qr-modal{padding:19px}.survey-qr-modal h3{font-size:19px}.survey-qr-modal header button{padding:8px 10px}}
@media(max-width:700px){.delivery-warranty{align-items:stretch;flex-direction:column}.delivery-warranty a{width:100%;text-align:center}}

/* 服務單查詢：唯讀摘要卡與分離的 PDF／照片入口 */
.search-results{gap:14px}.search-order-card{position:relative;overflow:hidden;padding:19px 20px;border:1px solid #e5ded8;border-radius:15px;background:#fff;box-shadow:0 6px 22px rgba(45,34,30,.04)}
.search-order-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#9b938d}.search-order-card.status-unclaimed:before{background:#d85159}.search-order-card.status-in_progress:before{background:#d58b18}.search-order-card.status-draft:before{background:#7058a5}.search-order-card.status-completed:before{background:#3b9161}
.search-order-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.search-order-card h3,.search-order-card p{margin:0}.search-order-card h3{margin-top:7px;font:700 20px Georgia,"Noto Serif TC",serif}.search-order-card header p{margin-top:3px;color:var(--muted);font-size:12px}.search-order-card .status-badge{flex-shrink:0}
.record-meta{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:15px}.record-meta span,.preview-keyfacts span{display:grid;gap:4px;padding:11px;border-radius:9px;background:#f8f5f2}.record-meta .record-serial{grid-column:span 2}.record-meta small,.record-content>small,.preview-keyfacts small{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.07em}.record-meta b,.preview-keyfacts b{min-width:0;overflow-wrap:anywhere;font-size:11px;line-height:1.45}
.record-content{margin-top:10px;padding:13px 14px;border:1px solid #eee7e2;border-radius:10px}.record-content b{display:block;margin-top:5px;font-size:13px}.record-content p{display:-webkit-box;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.65;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.record-fees{display:flex;align-items:center;gap:9px;margin-top:10px;padding:10px 12px;border-radius:9px;background:#fff8f3}.record-fees>div{display:flex;gap:6px;flex-wrap:wrap;margin-right:auto}.record-fees span{padding:4px 7px;border-radius:999px;background:#f0e6df;color:#6f5347;font-size:9px;font-weight:800}.record-fees>b{font-size:12px;white-space:nowrap}.record-fees>small{color:var(--muted);font-size:10px;white-space:nowrap}
.search-order-card>footer{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin-top:13px;padding-top:12px;border-top:1px solid #eee8e3}.record-action{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 11px;border:1px solid #ddd4ce;border-radius:8px;background:#fff;color:var(--ink);font:800 10px inherit;text-decoration:none;cursor:pointer}.record-action:hover{border-color:#bd9693;color:var(--red)}.record-action.primary-link{border-color:var(--red);background:var(--red);color:#fff}.record-action.disabled{cursor:not-allowed;opacity:.48}
.order-preview-dialog{width:min(920px,calc(100% - 28px));max-height:88dvh;padding:0;border:0;border-radius:19px;background:#fff;color:var(--ink);box-shadow:0 28px 90px rgba(20,15,14,.38)}.order-preview-dialog::backdrop{background:rgba(22,18,17,.72);backdrop-filter:blur(4px)}.order-preview-shell{padding:23px}.order-preview-shell>header{position:sticky;top:-23px;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:-23px -23px 18px;padding:22px 23px 16px;border-bottom:1px solid #e9e2dd;background:#fff}.order-preview-shell header span{color:var(--red);font-size:9px;font-weight:900;letter-spacing:.16em}.order-preview-shell h3{margin:5px 0 0;font:700 23px Georgia,"Noto Serif TC",serif}.order-preview-shell header p{margin:4px 0 0;color:var(--muted);font-size:11px}.order-preview-body{display:grid;gap:12px}.preview-keyfacts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.preview-section{padding:16px;border:1px solid #e9e2dd;border-radius:12px}.preview-section h4{margin:0 0 10px;color:var(--red);font-size:11px;letter-spacing:.08em}.preview-section>p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.8}.preview-devices{display:grid;gap:6px;margin:0;padding:0;list-style:none}.preview-devices li{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:9px;padding:9px 10px;border-radius:8px;background:#f8f5f2;font-size:11px}.preview-devices small,.preview-devices span,.muted{color:var(--muted)}.preview-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.preview-photos a{position:relative;display:block;aspect-ratio:1;border-radius:9px;overflow:hidden;background:#eee}.preview-photos img{width:100%;height:100%;object-fit:cover}.preview-photos span{position:absolute;inset:auto 5px 5px;padding:4px 6px;border-radius:5px;background:#1d1918c9;color:#fff;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:700px){.topbar-brand{gap:8px}.topbar-brand>img{width:56px;height:35px}.search-order-card{padding:16px 14px 14px}.record-meta{grid-template-columns:repeat(2,1fr)}.record-meta .record-serial{grid-column:1/-1}.record-fees{align-items:flex-start;flex-wrap:wrap}.record-fees>div{width:100%}.record-fees>b{margin-right:auto}.search-order-card>footer{display:grid;grid-template-columns:repeat(2,1fr)}.record-action.primary-link{grid-column:1/-1}.order-preview-dialog{width:calc(100% - 16px);max-height:94dvh;border-radius:15px}.order-preview-shell{padding:15px}.order-preview-shell>header{top:-15px;margin:-15px -15px 14px;padding:16px 15px 13px}.order-preview-shell h3{font-size:19px}.preview-keyfacts{grid-template-columns:repeat(2,1fr)}.preview-section{padding:13px}.preview-devices li{grid-template-columns:1fr}.preview-photos{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 所有操作結果改為醒目的懸浮提示，不佔用工作台內容 */
.toast{left:50%;right:auto;top:max(18px,env(safe-area-inset-top));bottom:auto;width:max-content;max-width:min(520px,calc(100% - 28px));padding:13px 18px;border:1px solid rgba(255,255,255,.12);transform:translate(-50%,-100px);opacity:0;z-index:500;text-align:center;line-height:1.55}.toast.show{transform:translate(-50%,0);opacity:1}.toast.error{background:#98232b}
@media(max-width:700px){.remark-input-row{grid-template-columns:minmax(0,1fr) 78px}.spare-toggle{min-width:0;padding:0 7px}.job-title-line{align-items:flex-start}.job-badges{flex-wrap:wrap;justify-content:flex-end}.toast{top:max(10px,env(safe-area-inset-top));width:calc(100% - 20px)}}

/* 現場檢核、保固書與版本管理 */
.checklist-card{border-top:3px solid #2f7c68}.warranty-card{border-top:3px solid #b78525}
.checklist-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:13px}
.checklist-summary span{display:grid;gap:4px;padding:13px;border-radius:10px;background:#f5f7f5}.checklist-summary span.alert{background:#fff0ee;color:#a5282c}
.checklist-summary b{font:700 20px Georgia,serif}.checklist-summary small{color:var(--muted);font-size:9px;font-weight:900}
.checklist-inline-editor{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid #e5dfda;border-radius:11px;background:#fff}
.selected-checklists{display:flex;gap:6px;flex-wrap:wrap}.selected-checklists span{padding:6px 9px;border-radius:999px;background:#e8f3ef;color:#276856;font-size:10px;font-weight:900}
.checklist-help{margin:0;color:var(--muted);font-size:11px;line-height:1.65}
.feature-dialog{width:min(980px,calc(100% - 28px));max-height:92dvh;padding:0;border:0;border-radius:19px;background:#fff;color:var(--ink);box-shadow:0 28px 90px rgba(20,15,14,.38)}
.feature-dialog::backdrop{background:rgba(22,18,17,.72);backdrop-filter:blur(4px)}
.feature-modal{display:block;padding:23px}.feature-modal>header{position:sticky;top:-23px;z-index:8;display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin:-23px -23px 18px;padding:21px 23px 16px;border-bottom:1px solid #ebe4df;background:#fff}
.feature-modal>header span,.admin-feature-card header span{color:var(--red);font-size:9px;font-weight:900;letter-spacing:.16em}.feature-modal>header h3{margin:5px 0 0;font:700 23px Georgia,"Noto Serif TC",serif}.feature-modal>header p{margin:4px 0 0;color:var(--muted);font-size:11px}
.feature-modal>footer{position:sticky;bottom:-23px;z-index:8;display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:18px -23px -23px;padding:15px 23px;border-top:1px solid #ebe4df;background:#fff}.feature-modal>footer small{margin-right:auto;color:var(--muted);font-size:10px}
.checklist-catalog{display:grid;grid-template-columns:1fr 1fr;gap:14px}.checklist-catalog>section{padding:15px;border:1px solid #e7e0db;border-radius:12px}.checklist-catalog section>header{margin-bottom:10px}.checklist-catalog section>header b,.checklist-catalog section>header small{display:block}.checklist-catalog section>header small{margin-top:3px;color:var(--muted);font-size:10px}.checklist-catalog section>div{display:grid;gap:7px}
.catalog-choice{display:flex;grid-template-columns:none;align-items:center;gap:10px;padding:11px;border:1px solid #eee7e2;border-radius:9px;background:#faf8f6;cursor:pointer}.catalog-choice:has(input:checked){border-color:#70a895;background:#edf7f3}.catalog-choice input{width:18px;height:18px;margin:0;accent-color:#2f7c68}.catalog-choice b,.catalog-choice small{display:block}.catalog-choice b{font-size:12px}.catalog-choice small{margin-top:3px;color:var(--muted);font-size:9px}
.check-group{margin-bottom:16px;border:1px solid #e4ddd8;border-radius:13px;overflow:hidden}.check-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;background:#f8f5f2}.check-group>header span{color:#2f7c68;font-size:8px;font-weight:900;letter-spacing:.15em}.check-group h4{margin:3px 0 0;font-size:16px}.check-group h4 small{color:var(--muted);font-size:10px}.warranty-chip{padding:5px 8px;border-radius:999px;background:#fff1cf;color:#8a651b;font-size:9px}
.check-section{padding:0 15px 15px}.check-section h5{margin:15px 0 8px;color:#726963;font-size:10px;letter-spacing:.08em}.check-item{display:grid;gap:9px;margin-bottom:8px;padding:13px;border:1px solid #eee8e3;border-radius:10px;background:#fff}.check-item>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.check-item>header b,.check-item>header small{display:block}.check-item>header b{font-size:12px;line-height:1.5}.check-item>header small{margin-top:3px;color:var(--muted);font-size:9px}.check-item>header>span{flex-shrink:0;padding:4px 7px;border-radius:6px;background:#f2eee9;color:#736a65;font-size:8px;font-weight:900}
.tri-state,.multi-state{display:flex;gap:7px;flex-wrap:wrap}.tri-state label,.multi-state label{display:flex;grid-template-columns:none;gap:0}.tri-state input,.multi-state input{position:absolute;width:1px!important;height:1px!important;overflow:hidden;opacity:0;pointer-events:none}.tri-state span,.multi-state span{padding:8px 12px;border:1px solid #ddd5cf;border-radius:8px;background:#fff;font-size:10px;cursor:pointer}.tri-state input:checked+span,.multi-state input:checked+span{border-color:#2f7c68;background:#e7f3ef;color:#246754}.tri-state label:nth-child(2) input:checked+span{border-color:#bd444a;background:#fff0f0;color:#9c242a}
.check-photo-row{display:grid;grid-template-columns:120px 1fr;gap:10px}.check-photo-row>label{display:grid;place-items:center;min-height:72px;border:1px dashed #bfb3ad;border-radius:9px;background:#faf7f5;color:var(--red);cursor:pointer}.check-photo-row>label input{display:none}.check-photo-row>label span{font-size:10px}.check-photo-row>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:7px}.check-photo-row figure{position:relative;aspect-ratio:1;margin:0;border-radius:8px;overflow:hidden;background:#eee}.check-photo-row img{width:100%;height:100%;object-fit:cover}.check-photo-row figure button{position:absolute;right:3px;top:3px;width:23px;height:23px;border:0;border-radius:50%;background:#27211edb;color:#fff;cursor:pointer}
.checklist-empty,.warranty-empty{padding:20px;border:1px dashed #cdc4be;border-radius:11px;background:#faf8f6;color:var(--muted);font-size:11px;line-height:1.7;text-align:center}.warranty-empty.error{border-color:#e4b7b9;background:#fff2f2;color:#9d2429}
.warranty-toggle{display:flex;grid-template-columns:none;align-items:center;gap:11px;padding:13px;border:1px solid #eadbb8;border-radius:11px;background:#fffbf0}.warranty-toggle input{width:19px;height:19px;margin:0;accent-color:#b78525}.warranty-toggle b,.warranty-toggle small{display:block}.warranty-toggle b{font-size:12px}.warranty-toggle small{margin-top:3px;color:var(--muted);font-size:9px}
#warrantyFields{margin-top:13px}.warranty-date{max-width:260px;margin-bottom:10px}.warranty-product-hint{margin:0 0 10px;padding:10px 12px;border-radius:9px;background:#f7f3f0;color:var(--muted);font-size:10px;line-height:1.55}.warranty-products{display:grid;gap:8px}.warranty-product{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) minmax(230px,1.1fr);gap:10px;align-items:center;padding:12px;border:1px solid #e8e0d6;border-radius:10px;opacity:.66;background:#faf9f8}.warranty-product.selected{border-color:#d9b76f;background:#fffdf8;opacity:1}.warranty-product-pick{display:flex;grid-template-columns:none;align-items:center;gap:9px;cursor:pointer}.warranty-product-pick input{flex:0 0 auto;width:18px;height:18px;margin:0;accent-color:#b78525}.warranty-product b,.warranty-product small{display:block}.warranty-product b{font-size:12px}.warranty-product small{margin-top:3px;color:var(--muted);font-size:9px}.warranty-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px}.warranty-actions small{margin-right:auto;color:var(--muted);font-size:10px}.warranty-actions a{text-decoration:none}
.warranty-public-banner{display:grid;gap:5px;padding:15px;border:1px solid #eadbb8;border-radius:11px;background:#fffbf0}.warranty-public-banner>span{color:#9a6f20;font-size:8px;font-weight:900;letter-spacing:.14em}.warranty-public-banner>b{font-size:14px}.warranty-public-banner>small{color:var(--muted);font-size:10px;line-height:1.65}.warranty-public-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:11px}.warranty-public-product{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #e8e0d6;border-radius:9px;background:#fff}.warranty-public-product b,.warranty-public-product small{display:block}.warranty-public-product b{font-size:11px}.warranty-public-product small{margin-top:3px;color:var(--muted);font-size:8px}.warranty-public-product strong{flex:0 0 auto;color:#9a6f20;font-size:11px}
.checklist-template-admin,.warranty-profile-admin{margin-top:24px;padding-top:18px;border-top:1px solid #eee8e2}.admin-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-feature-card{display:grid;gap:12px;padding:15px;border:1px solid #e6dfda;border-radius:12px;background:#fff}.admin-feature-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.admin-feature-card h4{margin:4px 0 0;font-size:14px}.admin-feature-card header>b{padding:4px 7px;border-radius:999px;font-size:8px}.admin-feature-card header>b.active{background:#e5f3eb;color:#2b7450}.admin-feature-card header>b.disabled{background:#eee;color:#777}.admin-feature-card>p{margin:0;color:var(--muted);font-size:10px}.admin-feature-card>footer{display:flex;justify-content:flex-end;gap:6px}
.admin-editor-dialog{width:min(1040px,calc(100% - 28px))}.admin-editor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.toggle-line{display:flex;grid-template-columns:none;align-items:center;gap:8px;padding:10px;border:1px solid #e7e0db;border-radius:9px}.toggle-line input{width:18px;height:18px;margin:0}.admin-items-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:20px 0 10px}.admin-items-head h4,.admin-items-head p{margin:0}.admin-items-head p{margin-top:3px;color:var(--muted);font-size:10px}.template-item-editor{display:grid;gap:8px}.template-item-row{padding:11px;border:1px solid #e6dfda;border-radius:10px;background:#faf8f6}.template-item-main{display:grid;grid-template-columns:.65fr 1.6fr;gap:8px}.template-item-settings{display:grid;grid-template-columns:1.1fr 1.3fr auto auto auto auto;gap:7px;align-items:center;margin-top:8px}.template-item-settings label{display:flex;grid-template-columns:none;align-items:center;gap:4px;white-space:nowrap;font-size:9px}.template-item-settings label input{width:16px;height:16px;margin:0}.template-item-settings .danger{color:#a52b31}

@media(max-width:900px){
  .admin-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .warranty-product{grid-template-columns:1fr 1fr}.warranty-product>.warranty-product-pick{grid-column:1/-1}
  .template-item-settings{grid-template-columns:1fr 1fr repeat(3,auto)}.template-item-settings .danger{grid-column:1/-1}
}
@media(max-width:700px){
  .daily-job-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .daily-job-actions:has(> :nth-child(2):last-child){grid-template-columns:1fr}
  .daily-job-actions:has(> :nth-child(4):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
  .daily-job-actions:has(> :nth-child(5):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
  .daily-job-actions>*{width:100%}.daily-job-actions .claim-btn,.daily-job-actions .open-btn{grid-column:1/-1}
  .checklist-summary{grid-template-columns:repeat(2,1fr)}.checklist-inline-editor{align-items:stretch;flex-direction:column}.checklist-inline-editor button{width:100%}
  .feature-dialog{width:calc(100% - 12px);max-height:96dvh;border-radius:14px}.feature-modal{padding:15px}.feature-modal>header{top:-15px;margin:-15px -15px 14px;padding:16px 15px 13px}.feature-modal>header h3{font-size:19px}.feature-modal>header p{line-height:1.5}.feature-modal>header button{padding:8px 10px}.feature-modal>footer{bottom:-15px;margin:14px -15px -15px;padding:12px 15px;flex-wrap:wrap}.feature-modal>footer small{width:100%}
  .checklist-catalog{grid-template-columns:1fr}.check-section{padding:0 10px 10px}.check-item{padding:11px}.check-item>header{display:block}.check-item>header>span{display:inline-block;margin-top:6px}
  .tri-state{display:grid;grid-template-columns:repeat(3,1fr)}.tri-state span{display:block;padding:9px 4px;text-align:center}.check-photo-row{grid-template-columns:1fr}.check-photo-row>label{min-height:48px}.check-photo-row>div{grid-template-columns:repeat(4,1fr)}
  .warranty-product{grid-template-columns:1fr}.warranty-product>.warranty-product-pick{grid-column:auto}.warranty-actions{align-items:stretch;flex-direction:column}.warranty-actions small{margin:0}.warranty-actions>*{width:100%;text-align:center}.warranty-public-products{grid-template-columns:1fr}
  .admin-feature-grid{grid-template-columns:1fr}.admin-editor-grid{grid-template-columns:1fr}.template-item-main{grid-template-columns:1fr}.template-item-settings{grid-template-columns:1fr 1fr}.template-item-settings label{justify-content:flex-start}.template-item-settings .danger{grid-column:1/-1}
}

/* 功能內容已自帶完整標題；共用頁首只在工作台顯示名稱，避免重複。 */
main:not([data-current-page="dashboard"]) .topbar{height:76px;justify-content:flex-end}
main:not([data-current-page="dashboard"]) .topbar>div:first-child{display:none}

@media(max-width:380px){
  .daily-job-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .daily-job-actions:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
  .daily-job-actions>:not(.open-btn):not(.claim-btn):nth-last-child(2):nth-child(odd){grid-column:1/-1}
}

/* 多案件池轉派、自訂職稱與送修序號掃描 */
.transfer-dialog{width:min(520px,calc(100% - 24px))}.transfer-dialog form{padding:22px}.transfer-target{display:grid;gap:7px;margin-top:18px;font-size:12px;font-weight:900}.transfer-target select{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}.transfer-note{margin:12px 0 0;padding:11px 12px;border-radius:10px;background:#f8f3f1;color:var(--muted);font-size:11px;line-height:1.65}.transfer-btn{border-color:#d8b6b5;color:#a72429}
.role-create-form{display:flex;gap:9px;margin:14px 0}.role-create-form input{flex:1;min-width:0;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fff}.permission-role-header>div{display:grid;gap:3px}.permission-role-header small{color:var(--muted);font-size:9px}.role-card-actions{display:flex;gap:7px}.role-card-actions .danger{color:#a52b31;border-color:#e3c4c5}
.repair-serial-field{display:grid;gap:5px;font-size:11px;font-weight:800}.repair-serial-field>span{display:block}.repair-serial-field.required>span::after{content:" *";color:var(--red)}
@media(max-width:700px){.transfer-dialog{width:calc(100% - 16px)}.transfer-dialog form{padding:16px}.role-create-form{display:grid;grid-template-columns:1fr auto}.permission-role-header{align-items:flex-start;gap:10px}.role-card-actions{flex-wrap:wrap;justify-content:flex-end}.repair-device .repair-serial-field{grid-column:2/3}}

/* 系統管理分類頁籤 */
.admin-settings-tabs{
  position:sticky;
  top:10px;
  z-index:20;
  margin:0 0 24px;
  padding:8px;
  border:1px solid rgba(218,208,202,.9);
  border-radius:17px;
  background:rgba(255,253,251,.94);
  box-shadow:0 12px 34px rgba(58,42,36,.09);
  backdrop-filter:blur(16px);
}
.admin-tab-scroll{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
}
.admin-tab-button{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  padding:11px 10px;
  border:1px solid transparent;
  border-radius:12px;
  background:transparent;
  color:#6c625e;
  text-align:left;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.admin-tab-button:hover{
  border-color:#e8d9d4;
  background:#fff7f5;
  color:#332b28;
}
.admin-tab-button:focus-visible{
  outline:3px solid rgba(223,18,24,.2);
  outline-offset:2px;
}
.admin-tab-button.active{
  border-color:#e7b9ba;
  background:linear-gradient(145deg,#fff4f2,#fff);
  color:#a51d22;
  box-shadow:0 5px 15px rgba(158,31,35,.08);
}
.admin-tab-button>span:last-child{
  display:grid;
  min-width:0;
  gap:3px;
}
.admin-tab-button b{
  overflow:hidden;
  font-size:11px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.admin-tab-button small{
  overflow:hidden;
  color:#968b85;
  font-size:8px;
  font-weight:700;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.admin-tab-icon{
  display:grid;
  flex:0 0 30px;
  width:30px;
  height:30px;
  place-items:center;
  border-radius:10px;
  background:#f1ece9;
  color:#716660;
  font-size:10px;
  font-weight:900;
}
.admin-tab-button.active .admin-tab-icon{
  background:var(--red);
  color:#fff;
}
.admin-tab-description{
  margin:7px 5px 1px;
  color:#887d77;
  font-size:9px;
  line-height:1.5;
}
#page-admin>[data-admin-section]{
  display:none!important;
}
#page-admin[data-admin-tab="accounts"]>[data-admin-section="accounts"],
#page-admin[data-admin-tab="checklists"]>[data-admin-section="checklists"],
#page-admin[data-admin-tab="options"]>[data-admin-section="options"],
#page-admin[data-admin-tab="calendar"]>[data-admin-section="calendar"],
#page-admin[data-admin-tab="repair"]>[data-admin-section="repair"]{
  display:block!important;
}
#page-admin[data-admin-tab="accounts"]>#calendarAdmin,
#page-admin[data-admin-tab="checklists"]>#checklistTemplateAdmin,
#page-admin[data-admin-tab="options"]>#systemOptionAdmin,
#page-admin[data-admin-tab="calendar"]>#calendarPoolAdmin,
#page-admin[data-admin-tab="repair"]>#repairCenterAdmin{
  margin-top:0;
  padding-top:0;
  border-top:0;
}

@media(max-width:900px){
  .admin-settings-tabs{position:relative;top:auto}
  .admin-tab-scroll{
    display:flex;
    overflow-x:auto;
    padding-bottom:2px;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
  }
  .admin-tab-button{
    flex:0 0 154px;
    scroll-snap-align:start;
  }
}

/* 服務單分類頁籤 */
.order-form-tabs{
  position:sticky;
  top:8px;
  z-index:22;
  margin:0 0 18px;
  padding:8px;
  border:1px solid #e2d9d4;
  border-radius:16px;
  background:rgba(255,253,251,.95);
  box-shadow:0 10px 30px rgba(55,42,36,.09);
  backdrop-filter:blur(15px);
}
.order-tab-scroll{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.order-tab{
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:10px;
  border:1px solid transparent;
  border-radius:11px;
  background:transparent;
  color:#756b65;
  cursor:pointer;
  text-align:left;
}
.order-tab>span{
  display:grid;
  width:28px;
  height:28px;
  place-items:center;
  border-radius:9px;
  background:#f0ebe8;
  font-size:8px;
  font-weight:900;
}
.order-tab>b{
  overflow:hidden;
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.order-tab>i{
  display:grid;
  min-width:20px;
  height:20px;
  padding:0 5px;
  place-items:center;
  border-radius:999px;
  background:#e7f2ec;
  color:#317254;
  font-size:8px;
  font-style:normal;
  font-weight:900;
}
.order-tab:hover{border-color:#eadfd9;background:#fff8f6;color:#332c29}
.order-tab:focus-visible{outline:3px solid rgba(223,18,24,.18);outline-offset:2px}
.order-tab.active{
  border-color:#e7b9ba;
  background:linear-gradient(145deg,#fff2f1,#fff);
  color:#a91f24;
}
.order-tab.active>span{background:var(--red);color:#fff}
.order-tab.has-issues>i{background:#fff0ef;color:#b22127}
#orderTabHint{
  margin:7px 5px 1px;
  color:#8a7e77;
  font-size:9px;
}
.order-tabs-ready[data-order-active-tab="basic"]>[data-order-panel]:not([data-order-panel="basic"]),
.order-tabs-ready[data-order-active-tab="equipment"]>[data-order-panel]:not([data-order-panel="equipment"]),
.order-tabs-ready[data-order-active-tab="fees"]>[data-order-panel]:not([data-order-panel="fees"]),
.order-tabs-ready[data-order-active-tab="completion"]>[data-order-panel]:not([data-order-panel="completion"]){
  display:none!important;
}

/* 現場檢核：緊湊條列與按需展開工具 */
.check-section{padding:0 12px 12px}
.check-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:10px 0 6px;
}
.check-section-head h5{margin:0;color:#716660;font-size:10px;letter-spacing:.07em}
.check-section-complete{
  display:flex;
  align-items:center;
  gap:5px;
  padding:6px 9px;
  border:1px solid #d8cfca;
  border-radius:999px;
  background:#fff;
  color:#625853;
  font-size:9px;
  font-weight:900;
  cursor:pointer;
}
.check-section-complete:hover{border-color:#9d8e87;background:#f7f3f1;color:#302a27}
.check-section-complete.done{background:#dff1ea;border-color:#76aa96;color:#286c56}
.check-section-complete:not(.done)>span{color:var(--red)}
.check-item.compact{
  display:block;
  margin-bottom:5px;
  padding:0;
  overflow:hidden;
  border-color:#e8e1dc;
  border-radius:9px;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.check-item.compact.answered{border-left:3px solid #58a383}
.check-item-row{
  display:grid;
  grid-template-columns:minmax(250px,1.6fr) minmax(230px,.9fr) auto;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:8px 9px 8px 12px;
}
.check-item-row>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:9px;
  min-width:0;
}
.check-item-row>header>div{min-width:0}
.check-item-row>header b{
  display:block;
  font-size:11px;
  line-height:1.45;
}
.check-item-row>header small{
  display:block;
  margin-top:2px;
  color:#918681;
  font-size:8px;
}
.check-item-row>header>span{
  flex:0 0 auto;
  padding:3px 6px;
  border-radius:5px;
  background:#f2eeeb;
  color:#786e68;
  font-size:7px;
  font-weight:900;
}
.check-item-answer{min-width:0}
.check-item-answer .tri-state{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.check-item-answer .tri-state input,.check-item-answer .multi-state input{width:1px!important;height:1px!important;overflow:hidden;clip-path:inset(50%)}
.check-item-answer .tri-state span{
  display:grid;
  min-height:48px;
  padding:10px 7px;
  place-items:center;
  border-radius:7px;
  font-size:13px;
  font-weight:900;
  text-align:center;
  white-space:nowrap;
}
.check-item-answer select,.check-item-answer textarea,.check-item-answer>input{
  width:100%;
  min-width:0;
  padding:8px 9px;
  border:1px solid #ded6d1;
  border-radius:7px;
  background:#fff;
  font-size:10px;
}
.check-item-answer textarea{min-height:44px;resize:vertical}
.check-item-tools{display:flex;align-items:center;gap:5px}
.check-tool-button{
  position:relative;
  display:flex;
  grid-template-columns:none;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-width:auto;
  padding:7px 8px;
  border:1px solid #ddd5d0;
  border-radius:7px;
  background:#fff;
  color:#756a64;
  font-size:8px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  white-space:nowrap;
}
.check-tool-button:hover{border-color:#c9b9b2;background:#faf7f5}
.check-tool-button.has-value{border-color:#8cb9a7;background:#edf7f3;color:#276c55}
.check-tool-button input{display:none}
.check-tool-button em{
  display:grid;
  min-width:15px;
  height:15px;
  padding:0 3px;
  place-items:center;
  border-radius:999px;
  background:#2f7c68;
  color:#fff;
  font-size:7px;
  font-style:normal;
}
.check-note-panel{
  padding:8px 10px 10px;
  border-top:1px dashed #e7dfda;
  background:#fcfaf8;
}
.check-note-panel textarea{
  width:100%;
  min-height:54px;
  padding:9px 10px;
  border:1px solid #dcd3ce;
  border-radius:8px;
  background:#fff;
  font-size:10px;
  resize:vertical;
}
.check-photo-gallery{
  display:flex;
  gap:6px;
  padding:8px 10px 10px;
  overflow-x:auto;
  border-top:1px dashed #e7dfda;
  background:#fcfaf8;
}
.check-photo-gallery figure{
  position:relative;
  flex:0 0 58px;
  width:58px;
  height:58px;
  margin:0;
  overflow:hidden;
  border-radius:7px;
  background:#eee;
}
.check-photo-gallery img{width:100%;height:100%;object-fit:cover}
.check-photo-gallery figure button{
  position:absolute;
  top:2px;
  right:2px;
  display:grid;
  width:19px;
  height:19px;
  padding:0;
  place-items:center;
  border:0;
  border-radius:50%;
  background:rgba(35,29,27,.82);
  color:#fff;
  font-size:12px;
  cursor:pointer;
}

@media(max-width:800px){
  .order-form-tabs{position:relative;top:auto}
  .order-tab-scroll{display:flex;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin}
  .order-tab{flex:0 0 150px;scroll-snap-align:start}
  .check-item-row{grid-template-columns:minmax(0,1fr) auto}
  .check-item-row>header{grid-column:1/-1}
  .check-item-answer{min-width:0}
}
@media(max-width:700px){
  .order-form-tabs{
    margin:0 -13px 15px;
    padding:8px 10px;
    border-right:0;
    border-left:0;
    border-radius:0;
  }
  .order-tab{flex-basis:142px;padding:9px}
  .order-tab>i{min-width:19px;height:19px}
  .check-group>header{padding:11px 12px}
  .check-group h4{font-size:14px}
  .check-section{padding:0 7px 8px}
  .check-section-head{margin:8px 2px 5px}
  .check-item-row{
    grid-template-columns:minmax(0,1fr);
    gap:7px;
    min-height:0;
    padding:8px;
  }
  .check-item-row>header{grid-column:1/-1}
  .check-item-row>header>span{display:inline-block;margin-top:0}
  .check-item-answer{grid-column:1/-1;width:100%}
  .check-item-answer .tri-state{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%}
  .check-item-answer .tri-state label{width:100%}
  .check-item-answer .tri-state span{display:grid;min-height:48px;width:100%;padding:11px 6px;place-items:center;border-radius:10px;font-size:13px;font-weight:900}
  .check-item-tools{grid-column:1/-1;align-self:stretch;justify-content:flex-start}
  .check-tool-button{padding:7px 6px}
}
@media(max-width:700px){
  .admin-settings-tabs{
    margin:0 -13px 18px;
    padding:8px 10px;
    border-right:0;
    border-left:0;
    border-radius:0;
    box-shadow:0 7px 22px rgba(58,42,36,.07);
  }
  .admin-tab-button{
    flex-basis:145px;
    padding:10px 9px;
  }
  .admin-tab-description{
    margin:6px 3px 0;
    font-size:9px;
  }
}
/* Consolidated checklist selector */
.checklist-wizard{display:grid;gap:14px}.wizard-step{border:1px solid #e4ddd8;border-radius:16px;padding:16px;background:#fff}
.wizard-step>header{display:flex;gap:12px;align-items:flex-start;margin-bottom:13px}.wizard-step>header>span{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;background:#f8e5e4;color:#b4232d;font-weight:900}
.wizard-step>header b{display:block;font-size:15px}.wizard-step>header small{display:block;margin-top:3px;color:#7a716d;line-height:1.5}
.family-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.family-choice{position:relative}.family-choice input{position:absolute;opacity:0}
.family-choice span{display:block;height:100%;padding:12px;border:1px solid #ddd5d0;border-radius:12px;background:#fbfaf9;cursor:pointer}
.family-choice b,.family-choice small{display:block}.family-choice small{margin-top:5px;color:#847a75;font-size:10px;line-height:1.4}
.family-choice input:checked+span{border-color:#df1218;box-shadow:0 0 0 2px #df12181a;background:#fff6f5}
.checklist-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.checklist-module-choice{position:relative;align-items:flex-start!important}
.checklist-module-choice em{font-style:normal;font-size:9px;font-weight:900;color:#b4232d;background:#f9e7e6;padding:3px 6px;border-radius:999px}
.wizard-warning{padding:10px 12px;margin:12px 0 0;border-radius:10px;background:#fff4dd;color:#875d07;font-size:12px}
.photo-evidence-state{display:inline-flex;padding:8px 10px;border-radius:9px;background:#f4f0ee;color:#746b67;font-size:11px}.photo-evidence-state.ready{background:#e8f5ed;color:#267a49;font-weight:800}
#checklistSelectionSummary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}#checklistSelectionSummary span{padding:12px;border-radius:12px;background:#f7f4f2}
#checklistSelectionSummary b,#checklistSelectionSummary small{display:block}#checklistSelectionSummary b{font-size:21px}#checklistSelectionSummary small{margin-top:3px;color:#756d69;font-size:10px}
#checklistSelectionSummary p{grid-column:1/-1;margin:4px 0 0;color:#655d59;font-size:12px}

/* Factory check */
.factory-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.factory-card{display:flex;gap:12px;padding:15px;border:1px solid #e3dcd8;border-radius:15px;background:#fff}
.factory-card-mark{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:#f3efed;color:#716965;font-weight:900}.factory-card.status-completed .factory-card-mark{background:#e6f5ec;color:#267a49}.factory-card.status-void{opacity:.65}
.factory-card-main{min-width:0;flex:1}.factory-card header,.factory-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.factory-card header span{font-size:10px;font-weight:900;color:#b4232d;letter-spacing:.08em}.factory-card h3{margin:3px 0 0;font-size:17px}.factory-card header>b{font-size:10px;padding:5px 8px;border-radius:999px;background:#f4f0ee}.factory-card p{margin:10px 0;color:#756d69;font-size:12px}.factory-card footer small{color:#8c837e;font-size:10px}
.factory-dialog,.factory-template-dialog-full,.checklist-dialog-full{box-sizing:border-box;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;overflow:hidden!important}.factory-dialog .factory-modal,.factory-template-dialog-full .feature-modal{box-sizing:border-box;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;margin:0!important;border-radius:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain}.checklist-dialog-full .feature-modal{box-sizing:border-box;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto;width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;border-radius:0!important;overflow:hidden!important}.checklist-dialog-full .feature-modal>header{position:relative!important;top:auto!important;z-index:8;margin:0!important;padding:18px 23px 15px!important}.checklist-dialog-full .feature-modal>footer{position:relative!important;bottom:auto!important;z-index:8;margin:0!important;padding:14px 23px max(14px,env(safe-area-inset-bottom))!important}.checklist-dialog-full #checklistCatalog,.checklist-dialog-full #checklistWorkBody{min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:18px 23px;scrollbar-gutter:stable}.factory-modal>header .secondary{flex:none;white-space:nowrap}.factory-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;border-radius:14px;background:#f8f5f3}.factory-meta-grid label{display:grid;gap:6px;font-size:11px;font-weight:800}.factory-serial-row{display:flex;gap:7px}.factory-serial-row input{min-width:0;flex:1}
.factory-checklist{display:grid;gap:14px;margin:15px 0}.factory-section{border:1px solid #e4ddd8;border-radius:15px;overflow:hidden}.factory-section>header{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;background:#f8f5f3}.factory-section>header span{font-size:9px;font-weight:900;color:#b4232d;letter-spacing:.12em}.factory-section>header h4{margin:2px 0 0}
.factory-item{border-top:1px solid #eee8e4}.factory-item-main{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:center;padding:10px 12px}.factory-item-copy b,.factory-item-copy small{display:block}.factory-item-copy b{font-size:12px;line-height:1.5}.factory-item-copy small{margin-top:3px;color:#8a817c;font-size:9px}.factory-item-tools{display:flex;gap:5px}.factory-item-tools .check-tool-button{padding:7px 9px}.factory-note-panel{padding:0 12px 10px}.factory-note-panel textarea{width:100%}.factory-file-list{display:flex;gap:8px;flex-wrap:wrap;padding:0 12px 10px}.factory-file-list:empty{display:none}.factory-file-list>span{position:relative;display:flex;align-items:center;gap:6px;max-width:100%;padding:6px 8px;border-radius:10px;background:#f5f1ef;font-size:10px}.factory-file-list a{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.factory-file-list button{border:0;background:transparent;color:#b4232d;cursor:pointer}.factory-file-thumb{display:grid!important;width:116px;max-width:116px!important;gap:5px;color:inherit;text-decoration:none;white-space:normal!important}.factory-file-thumb img{display:block;width:100%;height:82px;border-radius:8px;background:#ddd;object-fit:cover}.factory-file-thumb strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.factory-video-thumb{display:grid;place-items:center;width:100%;height:82px;border-radius:8px;background:#312b29;color:#fff;font-size:26px}.factory-file-card>button{position:absolute;top:2px;right:2px;width:25px;height:25px;border-radius:999px;background:#fff!important;box-shadow:0 2px 8px #0002}
.factory-general-files{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:14px;border:1px dashed #d8cfcb;border-radius:14px}.factory-general-files b,.factory-general-files small{display:block}.factory-general-files small{margin-top:4px;color:#7d746f;font-size:10px}.factory-general-files .factory-file-list{grid-column:1/-1;padding:0}.factory-actions{display:flex!important;align-items:center;gap:8px}.factory-actions>span{flex:1}

.checklist-dialog-full[open]{position:fixed!important;inset:0!important;overscroll-behavior:none!important}

@media(max-width:760px){
  .checklist-dialog-full .feature-modal>header{padding:max(14px,env(safe-area-inset-top)) 14px 12px!important}.checklist-dialog-full .feature-modal>footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 14px max(10px,env(safe-area-inset-bottom))!important}.checklist-dialog-full .feature-modal>footer small{width:auto;margin:0}.checklist-dialog-full #checklistCatalog,.checklist-dialog-full #checklistWorkBody{padding:14px}
  .family-grid,.checklist-module-grid,.factory-list,.factory-meta-grid{grid-template-columns:1fr}
  #checklistSelectionSummary{grid-template-columns:repeat(2,1fr)}
  .factory-item-main{grid-template-columns:1fr;gap:9px}.factory-item-main .tri-state{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%}.factory-item-main .tri-state label{width:100%}.factory-item-main .tri-state span{display:grid;place-items:center;min-height:48px;width:100%;padding:11px 6px;border-radius:10px;white-space:nowrap;font-size:13px;font-weight:900}.factory-item-tools{justify-content:flex-start}.factory-section>header{align-items:flex-start;gap:8px}.factory-section>header .secondary{min-height:40px;padding:9px 11px}.factory-file-thumb{width:104px;max-width:104px!important}.factory-file-thumb img,.factory-video-thumb{height:74px}
  .factory-general-files{grid-template-columns:1fr}.factory-actions{position:sticky;bottom:0;z-index:3;flex-wrap:wrap;background:#fff}.factory-actions>span{display:none}
  .factory-actions button,.factory-actions a{flex:1 1 calc(50% - 8px);text-align:center}
}

/* Mobile navigation: four daily actions plus a permission-aware More menu. */
.mobile-more{display:none}
.factory-new-tools,.charge-heading-actions{display:flex;align-items:center;gap:8px}
.factory-new-tools select{min-width:280px}
.more-menu-dialog{width:min(430px,calc(100% - 22px));padding:0;border:0;border-radius:20px;background:#fff;box-shadow:0 26px 90px rgba(25,18,17,.38)}
.more-menu-dialog::backdrop{background:rgba(22,18,17,.68);backdrop-filter:blur(4px)}
.more-menu-shell{padding:20px}
.more-menu-shell>header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}
.more-menu-shell header span{color:var(--red);font-size:9px;font-weight:900;letter-spacing:.18em}
.more-menu-shell h3{margin:5px 0 0;font:700 24px Georgia,"Noto Serif TC",serif}
.more-menu-shell nav{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.more-menu-shell nav button{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;padding:14px;border:1px solid #e8e0db;border-radius:13px;background:#fff;color:var(--ink);cursor:pointer}
.more-menu-shell nav button>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#f8e6e5;color:var(--red);font-weight:900}
.more-menu-shell nav button b{font-size:13px}.more-menu-shell nav button small{color:var(--muted);font-size:9px}

/* Internal charge page and editor. */
.charge-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-bottom:13px}
.charge-summary article{padding:15px;border:1px solid #e7dfda;border-radius:12px;background:#fff}
.charge-summary small,.charge-summary b{display:block}.charge-summary small{color:var(--muted);font-size:9px}.charge-summary b{margin-top:4px;font:700 20px Georgia,"Noto Serif TC",serif}
.charge-list{display:grid;gap:10px}.charge-card{display:grid;grid-template-columns:46px minmax(0,1fr);overflow:hidden;border:1px solid #e6dfda;border-radius:14px;background:#fff}
.charge-card-mark{display:grid;place-items:center;background:#f2ede9;color:#6b625d;font-weight:900}
.charge-card.tone-priced .charge-card-mark{background:#f8e6e5;color:var(--red)}.charge-card.tone-closed .charge-card-mark{background:#e3f0e8;color:#29714d}.charge-card.tone-muted .charge-card-mark{background:#eee;color:#777}.charge-card.tone-cancelled{opacity:.65}
.charge-card-main{padding:15px}.charge-card header,.charge-card footer{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.charge-card header span{color:var(--red);font:700 11px ui-monospace,monospace}.charge-card h3{margin:4px 0 0;font-size:17px}.charge-card header>b{padding:5px 8px;border-radius:999px;background:#f3efeb;font-size:9px}
.charge-card-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0}.charge-card-meta span{padding:9px;border-radius:8px;background:#f8f5f2}.charge-card-meta small,.charge-card-meta b{display:block}.charge-card-meta small{color:var(--muted);font-size:8px}.charge-card-meta b{margin-top:3px;font-size:11px}
.charge-card-main>p{margin:8px 0 12px;color:var(--muted);font-size:11px}.charge-card footer{align-items:flex-end}.charge-card footer div{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.charge-card footer small{color:var(--muted);font-size:9px}.charge-card footer strong{color:var(--red)}
.charge-quick-editor{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) auto;gap:8px;align-items:end;margin:11px 0;padding:11px;border-radius:11px;background:#f8f5f2}.charge-quick-editor label{display:grid;gap:5px;min-width:0}.charge-quick-editor small{color:var(--muted);font-size:9px;font-weight:800}.charge-quick-editor input,.charge-quick-editor select{width:100%;min-width:0}.charge-quick-editor button{min-height:42px;white-space:nowrap}
.charge-dialog{width:min(1020px,calc(100% - 24px))}.charge-order-facts{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin-bottom:14px}.charge-order-facts span{padding:11px;border-radius:9px;background:#f8f5f2}.charge-order-facts small,.charge-order-facts b{display:block}.charge-order-facts small{color:var(--muted);font-size:8px}.charge-order-facts b{margin-top:3px;font-size:11px}
.charge-lines-block{margin-top:17px}.charge-lines{display:grid;gap:7px}.charge-line{display:grid;grid-template-columns:150px minmax(180px,1fr) 90px 120px 110px 32px;gap:7px;align-items:end;padding:9px;border:1px solid #ebe3de;border-radius:10px;background:#faf8f6}.charge-line label{font-size:9px}.charge-line output{padding:11px 4px;text-align:right;font-weight:900}.remove-charge-line{width:32px;height:41px;border:0;border-radius:8px;background:#f5e5e5;color:var(--red);cursor:pointer}.charge-total{display:flex;justify-content:flex-end;gap:20px;padding:13px 8px}.charge-total b{color:var(--red);font-size:18px}

/* Warranty product catalog and versioned internal documents. */
.warranty-product-admin-list,.factory-template-admin-list{display:grid;gap:9px}.warranty-product-admin-card,.factory-template-admin-card{display:grid;grid-template-columns:minmax(220px,1fr) repeat(3,minmax(100px,.45fr)) auto;align-items:center;gap:10px;padding:14px;border:1px solid #e6dfda;border-radius:12px;background:#fff}.warranty-product-admin-card b,.warranty-product-admin-card small,.factory-template-admin-card b,.factory-template-admin-card small{display:block}.warranty-product-admin-card small,.factory-template-admin-card small{margin-top:3px;color:var(--muted);font-size:9px}
.warranty-override-row{display:grid;grid-template-columns:1fr 1.4fr 36px;gap:8px;align-items:end;margin-top:8px}.warranty-override-row button{height:41px;border:0;border-radius:8px;background:#f5e5e5;color:var(--red)}
.factory-template-items{margin-top:17px}.factory-template-item-row{display:grid;grid-template-columns:34px 150px minmax(240px,1fr) 130px repeat(3,90px) 36px;gap:7px;align-items:end;margin-bottom:7px;padding:9px;border:1px solid #e8e1dc;border-radius:10px;background:#faf8f6}.factory-template-item-row>i{align-self:center;color:var(--muted);font-style:normal;font-weight:900}.factory-template-item-row label{font-size:8px}.factory-template-item-row .toggle-line{align-self:center}.factory-template-item-row .toggle-line input{width:18px}.factory-template-item-row>button{height:41px;border:0;border-radius:8px;background:#f5e5e5;color:var(--red)}.excel-pick{display:inline-flex!important;cursor:pointer}.excel-pick input{display:none}

@media(max-width:900px){
  .sidebar nav,.sidebar nav:is(body.admin-mode *){grid-template-columns:repeat(5,1fr)!important}
  .sidebar nav .desktop-extra,.sidebar nav #adminNav{display:none!important}
  .sidebar nav .mobile-more{display:block}
  .charge-summary{grid-template-columns:repeat(2,1fr)}.charge-summary article:last-child{grid-column:1/-1}
  .charge-card-meta{grid-template-columns:repeat(2,1fr)}
  .factory-new-tools{display:grid;grid-template-columns:1fr auto}.factory-new-tools select{min-width:0}
}
@media(max-width:700px){
  .more-menu-dialog{margin-bottom:max(82px,calc(72px + env(safe-area-inset-bottom)))}
  .more-menu-shell nav{grid-template-columns:1fr}
  .charge-heading{display:block}.charge-heading-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:12px}.charge-heading-actions .primary{grid-column:1/-1;text-align:center}
  .charge-filter{grid-template-columns:1fr 1fr}.charge-filter .search-box,.charge-filter button{grid-column:1/-1}
  .charge-card{grid-template-columns:38px minmax(0,1fr)}.charge-card-main{padding:13px 11px}.charge-card header{display:block}.charge-card header>b{display:inline-block;margin-top:6px}.charge-card footer{align-items:stretch;flex-direction:column}.charge-card footer button{width:100%}
  .charge-quick-editor{grid-template-columns:1fr}.charge-quick-editor button{width:100%}
  .charge-dialog{width:100%;height:100dvh;max-height:100dvh;border-radius:0}.charge-order-facts{grid-template-columns:1fr}.charge-modal .form-grid.three{grid-template-columns:1fr}
  .charge-line{grid-template-columns:1fr 1fr 32px}.charge-line-description{grid-column:1/3}.charge-line output{grid-column:1/3;grid-row:3;text-align:left}.remove-charge-line{grid-column:3;grid-row:1}
  .warranty-product-admin-card,.factory-template-admin-card{grid-template-columns:1fr 1fr}.warranty-product-admin-card>div:first-child,.factory-template-admin-card>div:first-child{grid-column:1/-1}.warranty-product-admin-card>button,.factory-template-admin-card>button{grid-column:1/-1}
  .factory-template-item-row{grid-template-columns:28px 1fr 1fr 32px}.factory-template-item-row label:nth-of-type(2){grid-column:2/4}.factory-template-item-row label:nth-of-type(n+4){grid-column:auto}.factory-template-item-row>button{grid-column:4;grid-row:1}
}
/* 文件型檢核表選擇 */
.document-selector{display:grid;grid-column:1/-1;gap:18px}
.document-selector-intro{display:flex;gap:14px;align-items:flex-start;padding:17px 18px;border-radius:18px;background:linear-gradient(135deg,#302a28,#151313);color:#fff}
.document-selector-intro>span,.document-selector .wizard-step>header>span{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:var(--red);color:#fff;font-weight:900}
.document-selector-intro div{display:grid;gap:4px}.document-selector-intro b{font-size:17px}.document-selector-intro small{color:#d8d0cc;line-height:1.55}
.document-family{display:grid;gap:10px}.document-family>header{display:flex;align-items:center;justify-content:space-between;padding:0 3px}
.document-family>header b{font-size:16px}.document-family>header small{color:var(--muted);font-weight:800}
.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.document-card{min-width:0;border:1px solid #e1d9d4;border-radius:16px;background:#fff;overflow:hidden;transition:.18s ease}
.document-card.selected{border-color:#d71920;box-shadow:0 0 0 2px rgba(215,25,32,.09)}
.document-main-choice{display:block;cursor:pointer}.document-main-choice>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.document-main-choice>span{position:relative;display:grid;gap:3px;padding:16px 48px 15px 16px}
.document-main-choice>span:after{content:"";position:absolute;right:17px;top:18px;width:20px;height:20px;border:2px solid #c7bcb6;border-radius:6px;background:#fff}
.document-main-choice>input:checked+span:after{border-color:var(--red);background:var(--red);box-shadow:inset 0 0 0 4px #fff}
.document-main-choice small{color:var(--red);font-weight:900;letter-spacing:.08em}.document-main-choice b{font-size:14px}.document-main-choice strong{font-size:15px;line-height:1.4}
.document-main-choice em{font-style:normal;color:var(--muted);font-size:11px;font-weight:800}
.document-products{display:grid;gap:7px;padding:13px 14px 15px;border-top:1px solid #eee7e3;background:#faf8f6}
.document-products[hidden]{display:none}.document-products>p{margin:0 0 3px;color:var(--muted);font-size:12px;font-weight:800}
.document-empty-note{padding:11px 12px;border:1px dashed #d4c8c1;border-radius:10px;background:#fff;color:var(--muted);font-size:11px;line-height:1.55}
.document-product-choice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid #e5ddd8;border-radius:11px;background:#fff;cursor:pointer}
.document-product-choice>input{width:18px;height:18px;accent-color:var(--red)}.document-product-choice>span{display:grid;gap:2px}.document-product-choice b{font-size:13px}.document-product-choice small{color:var(--muted);font-size:10px;line-height:1.4}
.document-product-choice em{font-style:normal;color:var(--red);font-size:10px;font-weight:900}.document-product-choice.required{background:#fff7f7}
.document-special-note{margin:0 14px 15px;padding:10px 12px;border-radius:10px;background:#fff4e8;color:#7e4d16;font-size:11px;line-height:1.5;font-weight:700}
.internal-document{padding:16px;background:#f4f1ef;border-style:dashed}.internal-document header{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:900}
.internal-document h4{margin:8px 0 5px}.internal-document p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}
.document-migration-notice{margin:0;padding:12px 14px;border-radius:12px;background:#fff5dc;color:#715111;font-size:12px;font-weight:800;line-height:1.5}
.checklist-empty.error{border-color:#e4b7b9;background:#fff2f2;color:#9d2429}
.document-selector #checklistSelectionSummary{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:760px){
  .document-grid{grid-template-columns:1fr}
  .document-selector-intro{padding:14px}
  .document-main-choice>span{padding:14px 45px 13px 14px}
  .document-selector #checklistSelectionSummary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .document-selector #checklistSelectionSummary span:last-child{grid-column:1/-1}
}

/* 系統管理：文件式檢核內容與版本 */
.admin-document-guide{display:flex;align-items:center;gap:8px;margin:16px 0 22px;padding:13px 15px;border:1px solid #e5ddd8;border-radius:14px;background:#faf8f6;color:#544b47}
.admin-document-guide span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--red);color:#fff;font-weight:900}
.admin-document-guide b{font-size:11px}.admin-document-guide i{color:#a79c96;font-style:normal}
.admin-document-families{display:grid;gap:24px}.admin-document-family{display:grid;gap:11px}
.admin-document-family>header{display:flex;align-items:end;justify-content:space-between;padding:0 3px}
.admin-document-family>header span{color:var(--red);font-size:8px;font-weight:900;letter-spacing:.14em}
.admin-document-family>header h3{margin:4px 0 0;font-size:18px}.admin-document-family>header small{color:var(--muted);font-weight:800}
.admin-document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.admin-document-card{display:grid;grid-template-rows:auto auto auto 1fr auto;gap:11px;min-width:0;padding:17px;border:1px solid #e2dad5;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(50,35,30,.035)}
.admin-document-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.admin-document-card>header div{display:grid;gap:4px}.admin-document-card>header span{color:var(--red);font-size:9px;font-weight:900;letter-spacing:.1em}
.admin-document-card>header b{font-size:12px}.admin-document-card>header em{padding:5px 8px;border-radius:999px;background:#e8f3ed;color:#2b7353;font-size:9px;font-style:normal;font-weight:900}
.admin-document-card.internal>header em{background:#eeeae7;color:#716761}
.admin-document-card h3{margin:0;font-size:16px;line-height:1.45}.admin-document-card>p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}
.admin-document-card>footer{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.admin-excel-button{text-decoration:none;font-size:11px}
.admin-document-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.admin-document-stats span{display:grid;gap:2px;padding:9px 10px;border-radius:10px;background:#f7f4f2}
.admin-document-stats b{font:700 18px Georgia,"Noto Serif TC",serif}.admin-document-stats small{color:var(--muted);font-size:9px;font-weight:800}
.admin-document-card>footer{display:flex;justify-content:flex-end}.admin-document-card>footer button{width:100%}
.document-admin-detail{scroll-margin-top:90px;margin-top:25px;padding:20px;border:1px solid #d9cec8;border-radius:18px;background:#f8f5f3}
.document-admin-detail[hidden]{display:none}.document-admin-detail>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}
.document-admin-detail>header span{color:var(--red);font-size:9px;font-weight:900;letter-spacing:.12em}
.document-admin-detail>header h3{margin:5px 0 0;font-size:20px}.document-admin-detail>header p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.6}
.document-module-admin-list{display:grid;gap:9px}.document-module-admin{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:14px 15px;border:1px solid #e3dbd6;border-radius:12px;background:#fff}
.document-module-copy>span{color:var(--red);font-size:9px;font-weight:900}.document-module-copy h4{margin:4px 0 0;font-size:14px}
.document-module-copy>p{margin:4px 0 0;color:var(--muted);font-size:10px}.document-module-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.document-module-actions>b{padding:5px 8px;border-radius:999px;font-size:9px}.document-module-actions>b.active{background:#e5f3eb;color:#2b7450}.document-module-actions>b.disabled{background:#eee;color:#777}
.document-version-history{margin-top:8px}.document-version-history summary{width:max-content;color:#665b55;font-size:10px;font-weight:900;cursor:pointer}
.document-version-history>div{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.document-version-history span{display:grid;gap:2px;padding:6px 8px;border-radius:8px;background:#f3efec}
.document-version-history span.draft{background:#fff2d8;color:#78530b}.document-version-history small{font-size:8px;color:inherit}
.admin-advanced-templates{margin-top:26px;padding:14px;border:1px dashed #cfc5bf;border-radius:14px;background:#faf8f6}
.admin-advanced-templates>summary{font-size:12px;font-weight:900;cursor:pointer}.admin-advanced-templates>p{color:var(--muted);font-size:10px;line-height:1.6}
.admin-advanced-templates>#newChecklistTemplate{margin-bottom:12px}.template-document-context{display:grid;gap:4px;margin-bottom:14px;padding:12px 14px;border-left:4px solid var(--red);border-radius:0 11px 11px 0;background:#f8f4f2}

/* 對話框內提示：放在 top-layer 對話框中，避免被遮住 */
.dialog-toast{position:fixed;top:18px;left:50%;z-index:10000;max-width:min(520px,calc(100vw - 32px));padding:12px 16px;border-radius:12px;background:#272422;color:#fff;box-shadow:0 16px 38px rgba(0,0,0,.24);opacity:0;pointer-events:none;transform:translate(-50%,-24px);transition:.2s ease;font-size:12px;font-weight:800}
.dialog-toast.show{opacity:1;transform:translate(-50%,0)}.dialog-toast.error{background:#98232b}

/* 檢核文件 Excel 匯入差異預覽 */
.checklist-excel-dialog .feature-modal{box-sizing:border-box;width:100%;min-width:0}
.excel-preview-head{display:grid;grid-template-columns:minmax(220px,1fr) 1.5fr;gap:16px;align-items:end;padding:2px 0 16px}
.excel-preview-head>div:first-child{display:grid;gap:4px}.excel-preview-head>div:first-child span{color:var(--red);font-size:9px;font-weight:900;letter-spacing:.12em}
.excel-preview-head>div:first-child b{font-size:14px;overflow-wrap:anywhere}.excel-preview-head>div:first-child small{color:var(--muted)}
.excel-preview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.excel-preview-stats span{display:grid;gap:3px;padding:11px;border-radius:11px;background:#f5f2f0}.excel-preview-stats b{font:700 22px Georgia,serif}.excel-preview-stats small{color:var(--muted);font-size:9px}
.excel-preview-stats .new{background:#eaf6ee;color:#27734f}.excel-preview-stats .changed{background:#fff1df;color:#8a5b11}
.excel-change-list{display:grid;gap:7px;max-height:48vh;overflow:auto;padding:3px 2px}
.excel-change-list article{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;padding:11px 12px;border:1px solid #e5ddd8;border-radius:11px;background:#fff}
.excel-change-list article em{align-self:start;padding:4px 7px;border-radius:999px;background:#fff0dc;color:#87580c;font-size:9px;font-style:normal;font-weight:900;text-align:center}
.excel-change-list article.new em{background:#e6f4eb;color:#256d4a}.excel-change-list article div{display:grid;gap:3px}.excel-change-list article b{font-size:12px}.excel-change-list article span{font-size:11px}.excel-change-list article small{color:var(--muted);font-size:9px}
.excel-no-change{padding:34px;border:1px dashed #d9d0cb;border-radius:12px;background:#faf8f6;color:var(--muted);text-align:center}
.excel-preview-warnings{margin-top:13px;padding:10px 12px;border-radius:10px;background:#fff8e9;color:#7d5b18}.excel-preview-warnings p{margin:3px 0;font-size:10px}

@media(max-width:700px){
  .excel-preview-head{grid-template-columns:1fr}
  .excel-preview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .excel-change-list article{grid-template-columns:1fr}
}
.template-document-context[hidden]{display:none}.template-document-context span{color:var(--red);font-size:9px;font-weight:900}.template-document-context b{font-size:13px}.template-document-context small{color:var(--muted);font-size:10px}
.template-advanced-settings{margin:13px 0;padding:11px 13px;border:1px dashed #d6ccc6;border-radius:11px;background:#faf8f6}
.template-advanced-settings>summary{font-size:10px;font-weight:900;cursor:pointer}.template-advanced-settings>.admin-editor-grid{margin-top:12px}
@media(max-width:760px){
  .admin-document-guide{display:grid;grid-template-columns:auto 1fr;gap:7px}.admin-document-guide i{display:none}
  .admin-document-grid{grid-template-columns:1fr}.admin-document-card{padding:14px}
  .document-admin-detail{padding:14px}.document-admin-detail>header{display:grid}.document-admin-detail>header button{width:100%}
  .document-module-admin{grid-template-columns:1fr;gap:11px}.document-module-actions{justify-content:stretch}
  .document-module-actions button{flex:1}.document-module-actions>b{width:100%;text-align:center}
}
.warranty-auto-profile{display:grid;grid-template-columns:1fr auto;gap:3px 8px;padding:9px 11px;border-radius:8px;background:#f4f0ec}.warranty-auto-profile small{grid-column:1/-1}.warranty-auto-profile em{align-self:center;color:#9a6f20;font-size:8px;font-style:normal;font-weight:900}

/* TIPTOP 出貨單匯入與現場品項核對。 */
.sales-import-search{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:9px;align-items:end}.sales-import-search label{display:grid;gap:6px;font-size:10px;font-weight:900}.sales-import-search button{height:40px;white-space:nowrap}
.sales-document-result{margin-top:13px;padding:13px;border:1px dashed #d8cec8;border-radius:12px;background:#faf8f6}.sales-document-result>p{margin:0;color:var(--muted);font-size:10px}
.sales-document-result>header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.sales-document-result>header div{display:grid;gap:2px}.sales-document-result>header b{font-size:13px}.sales-document-result>header small{color:var(--muted);font-size:9px}.sales-document-result>header>span{padding:5px 8px;border-radius:999px;background:#e6f4eb;color:#276c49;font-size:9px;font-weight:900}
.sales-customer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:10px 11px;border-radius:9px;background:#fff}.sales-customer b{font-size:11px}.sales-customer span{font-size:9px;font-weight:800}.sales-customer small{grid-column:1/-1;color:var(--muted);font-size:9px}
.sales-item-list{display:grid;gap:6px;margin-top:9px}.sales-item-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:9px 11px;border:1px solid #e5ddd8;border-radius:9px;background:#fff}.sales-item-row.is-excluded{border-color:#e5c7c4;background:#fff7f6}.sales-item-row input{width:17px;height:17px;accent-color:var(--red)}.sales-item-row span{display:grid;gap:2px}.sales-item-row b{font-size:10px}.sales-item-row strong{font-size:9px;font-weight:500;line-height:1.45}.sales-item-row small{color:var(--muted);font-size:9px;line-height:1.45}.sales-item-row em{font-size:10px;font-style:normal;font-weight:900;white-space:nowrap}.sales-required-state{color:#9a6714!important;font-weight:800}.sales-exclusion{color:#a02a31!important;font-weight:800}.sales-confirm-hint{margin:9px 1px 0!important;color:#8a5b11!important}
.sales-license-badge{display:inline-block;margin-left:7px;padding:3px 7px;border-radius:999px;background:#e8f3ff;color:#28628d;font-size:8px;font-style:normal;font-weight:900;vertical-align:middle;white-space:nowrap}
@media(max-width:700px){.sales-import-search{grid-template-columns:1fr 1fr}.sales-import-search label{grid-column:1/-1}.sales-item-row{grid-template-columns:auto minmax(0,1fr) auto}.sales-item-row em{grid-column:2}.sales-item-row button{grid-column:3}.sales-customer{grid-template-columns:1fr}.sales-customer small{grid-column:auto}}
.sales-verify-dialog{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;border:0;background:#f5f2ef}.sales-verify-dialog::backdrop{background:#211d1bd9}.sales-verify-shell{box-sizing:border-box;min-height:100%;padding:24px clamp(18px,4vw,60px)}.sales-verify-shell>header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:20px;align-items:center;margin:-24px calc(clamp(18px,4vw,60px)*-1) 20px;padding:20px clamp(18px,4vw,60px);background:#fff;border-bottom:1px solid #ddd4ce}.sales-verify-shell header span{color:var(--red);font-size:9px;font-weight:900;letter-spacing:.15em}.sales-verify-shell h2{margin:4px 0;font-size:25px}.sales-verify-shell p{margin:0;color:var(--muted);font-size:11px}.sales-verify-shell>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sales-verify-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;min-height:90px;padding:16px;border:2px solid #e1d9d4;border-radius:14px;background:#fff;box-shadow:0 8px 22px #39291f0d}.sales-verify-item:has(input:checked){border-color:var(--red);background:#fff7f7}.sales-verify-item.is-excluded{border-color:#dbaaa6;background:#fff4f2}.sales-verify-item input{width:25px;height:25px;accent-color:var(--red)}.sales-verify-item span{display:grid;gap:5px}.sales-verify-item b{color:var(--red);font-size:13px}.sales-verify-item strong{font-size:15px;line-height:1.4}.sales-verify-item em{font-size:14px;font-style:normal;font-weight:900;white-space:nowrap}.sales-verify-item button{grid-column:2/-1;justify-self:end}@media(max-width:760px){.sales-verify-shell>div{grid-template-columns:1fr}.sales-verify-shell>header{align-items:flex-start}.sales-verify-item{grid-template-columns:auto minmax(0,1fr)}.sales-verify-item em{grid-column:2}.sales-verify-item button{grid-column:2}}
.sales-exclude-dialog{width:min(520px,calc(100vw - 28px));padding:0;border:0;border-radius:18px;box-shadow:0 26px 80px #2d201b40}.sales-exclude-dialog::backdrop{background:#211d1b99}.sales-exclude-shell{display:grid;gap:15px;padding:22px}.sales-exclude-shell header span{color:var(--red);font-size:8px;font-weight:900;letter-spacing:.15em}.sales-exclude-shell h3{margin:5px 0;font-size:20px}.sales-exclude-shell header p{margin:0;color:var(--muted);font-size:10px}.sales-exclude-shell label{display:grid;gap:7px;font-size:10px;font-weight:900}.sales-exclude-shell select,.sales-exclude-shell input{height:42px}.sales-exclude-shell footer{display:flex;justify-content:flex-end;gap:9px;margin-top:3px}

/* 服務報表：主管用案件統計、類型圓餅圖與工程師 KPI 排行。 */
main{min-width:0}
.report-heading p{margin:5px 0 0;color:var(--muted);font-size:11px}.report-export{text-decoration:none;text-align:center}
.report-filter{display:grid;grid-template-columns:minmax(230px,1.4fr) 135px auto 135px minmax(150px,.8fr) minmax(145px,.7fr) minmax(145px,.7fr) auto}
.report-filter .search-box{min-width:0}.report-filter input,.report-filter select{min-width:0;width:100%}.report-filter button{min-width:96px;white-space:nowrap}
.report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:15px 0}
.report-kpis article{position:relative;overflow:hidden;padding:18px 19px;border:1px solid #e4ddd8;border-radius:15px;background:#fff;box-shadow:0 7px 24px rgba(55,35,30,.035)}
.report-kpis article:after{content:"";position:absolute;inset:auto -15px -29px auto;width:78px;height:78px;border-radius:50%;background:var(--card-color,#b4232d);opacity:.08}
.report-kpis small,.report-kpis strong,.report-kpis span{display:block}.report-kpis small{color:var(--muted);font-size:10px;font-weight:900}.report-kpis strong{display:inline-block;margin-top:7px;font:700 29px Georgia,"Noto Serif TC",serif}.report-kpis span{display:inline;margin-left:5px;color:var(--muted);font-size:10px;font-weight:800}
.report-kpis .tone-2{--card-color:#477c91}.report-kpis .tone-3{--card-color:#598a69}.report-kpis .tone-4{--card-color:#d5a542}
.report-visual-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px;margin-bottom:13px}
.report-panel{min-width:0;padding:20px;border:1px solid #e4ddd8;border-radius:15px;background:#fff;box-shadow:0 7px 24px rgba(55,35,30,.035)}
.report-panel>header{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:17px}.report-panel>header span{color:var(--red);font-size:8px;font-weight:900;letter-spacing:.15em}.report-panel>header h3{margin:4px 0 0;font-size:17px}.report-panel>header>b{font-size:11px;color:var(--muted)}
.report-type-chart{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(190px,1fr);align-items:center;gap:25px;min-height:260px}
.report-donut{position:relative;width:min(220px,100%);aspect-ratio:1;margin:auto;border-radius:50%;background:conic-gradient(var(--segments));box-shadow:inset 0 0 0 1px rgba(0,0,0,.03)}
.report-donut:after{content:"";position:absolute;inset:24%;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #eee8e4}
.report-donut>span{position:absolute;inset:32%;z-index:1;display:grid;place-items:center;align-content:center;text-align:center}.report-donut b{font:700 28px Georgia,serif}.report-donut small{color:var(--muted);font-size:9px;font-weight:800}
.report-type-chart ul{display:grid;gap:8px;margin:0;padding:0;list-style:none;max-height:265px;overflow:auto}.report-type-chart li{display:grid;grid-template-columns:10px 1fr;gap:8px;align-items:center;padding:7px 8px;border-radius:9px;background:#faf8f6}.report-type-chart li>i{width:9px;height:9px;border-radius:50%;background:var(--chart-color)}.report-type-chart li span{display:flex;justify-content:space-between;gap:8px}.report-type-chart li b{font-size:11px}.report-type-chart li small{color:var(--muted);font-size:9px;white-space:nowrap}
.report-ranking{display:grid;gap:11px;min-height:260px;align-content:start}.report-ranking article{display:grid;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:9px}.report-ranking em{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#f4efec;color:#756862;font-size:10px;font-style:normal;font-weight:900}.report-ranking article:nth-child(1) em{background:#f6e8c9;color:#8b6414}.report-ranking article:nth-child(2) em{background:#eeeef0;color:#686a71}.report-ranking article:nth-child(3) em{background:#f2e2d9;color:#8a5a3d}
.report-ranking header{display:flex;justify-content:space-between;gap:8px;margin-bottom:5px}.report-ranking header b{font-size:11px}.report-ranking header span{color:var(--muted);font-size:9px;font-weight:800}.report-rank-track{height:7px;border-radius:999px;background:#f0ece9;overflow:hidden}.report-rank-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--red),#e06a6f)}
.report-detail-panel{padding-bottom:10px}.report-table-wrap{width:100%;overflow:auto}.report-table{width:100%;min-width:1120px;border-collapse:collapse}.report-table th{padding:10px 9px;border-bottom:2px solid #d8cec8;color:#756b66;font-size:9px;text-align:left;white-space:nowrap}.report-table td{padding:11px 9px;border-bottom:1px solid #eee8e4;font-size:10px;vertical-align:top}.report-table td b,.report-table td small{display:block}.report-table td small{max-width:300px;margin-top:3px;color:var(--muted);line-height:1.5}.report-table td strong{color:var(--red)}
.report-satisfaction-panel{margin-bottom:13px}.report-satisfaction-panel header p{margin:4px 0 0;color:var(--muted);font-size:9px}.satisfaction-table{min-width:820px}.satisfaction-table td,.satisfaction-table th{text-align:center}.satisfaction-table td:first-child,.satisfaction-table th:first-child{text-align:left}.satisfaction-score{display:inline-grid;place-items:center;min-width:39px;padding:6px 9px;border-radius:999px;background:#fff1f1;color:var(--red);font-weight:900}
.report-empty{display:grid;place-items:center;min-height:150px;padding:25px;border:1px dashed #d9d0ca;border-radius:12px;color:var(--muted);font-size:11px;text-align:center;background:#faf8f6}
@media(max-width:1100px){.report-filter{grid-template-columns:repeat(3,1fr)}.report-filter .search-box{grid-column:1/-1}.report-filter .date-sep{display:none}.report-filter button{grid-column:1/-1}.report-type-chart{grid-template-columns:1fr}.report-donut{width:185px}.report-type-chart ul{max-height:180px}}
@media(max-width:760px){.report-heading{display:block}.report-heading .report-export{display:block;margin-top:12px}.report-filter{grid-template-columns:1fr 1fr}.report-filter .search-box,.report-filter select,.report-filter button{grid-column:1/-1}.report-kpis{grid-template-columns:1fr 1fr}.report-kpis article{padding:15px}.report-kpis strong{font-size:25px}.report-visual-grid{grid-template-columns:1fr}.report-panel{padding:16px 13px}.report-type-chart{min-height:0}.report-ranking{min-height:0}.report-table{min-width:980px}}
.sales-linked{color:#28704d!important;font-weight:900}.job-sales-dialog{width:min(800px,calc(100vw - 28px))}.job-sales-search{display:grid;grid-template-columns:1fr auto;gap:8px;margin:14px 0}.job-sales-items{display:grid;gap:7px;max-height:55vh;overflow:auto}.job-sales-items>header{display:grid;gap:3px;padding:10px;border-radius:9px;background:#f4efec}.job-sales-items>header small{color:var(--muted)}.job-sales-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px;border:1px solid #e2dad5;border-radius:9px}.job-sales-item.is-excluded{border-color:#e5c7c4;background:#fff7f6}.job-sales-items input{width:18px;height:18px;accent-color:var(--red)}.job-sales-items span{display:grid;gap:2px}.job-sales-items small{color:var(--muted);font-size:9px}.job-sales-items em{font-style:normal;font-weight:900;white-space:nowrap}@media(max-width:650px){.job-sales-item{grid-template-columns:auto minmax(0,1fr) auto}.job-sales-item em{grid-column:2}.job-sales-item button{grid-column:3}}
