:root{--bg:#f6f7fb;--panel:#fff;--text:#172033;--muted:#697386;--line:#e5e7ef;--primary:#2156d9;--primary2:#123a9c;--danger:#b42318;--ok:#067647;--soft:#edf2ff;--shadow:0 10px 30px rgba(18,35,75,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC","Microsoft JhengHei",Arial,sans-serif;line-height:1.55}.topbar{height:72px;background:#111827;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.brand{font-size:22px;font-weight:800;letter-spacing:.04em}.sub{font-size:12px;color:#b9c1d0}.user a{color:#fff}.nav{display:flex;gap:10px;align-items:center;padding:12px 24px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.nav label{font-size:13px;color:#4b5568;font-weight:800;white-space:nowrap}.nav select{width:min(520px,calc(100vw - 180px));max-width:520px;border:1px solid #cfd5e2;border-radius:12px;padding:10px 42px 10px 12px;font:inherit;background:#fff;color:#172033;font-weight:750}.nav .nav-home{padding:9px 13px;border-radius:12px;color:#26324a;text-decoration:none;white-space:nowrap;border:1px solid var(--line);background:#fff}.nav .nav-home:hover{background:var(--soft);color:var(--primary)}@media(max-width:640px){.nav{padding:10px 12px}.nav label{display:none}.nav select{width:100%;max-width:none}.nav .nav-home{display:none}}.container{max-width:1280px;margin:24px auto;padding:0 24px}.footer{max-width:1280px;margin:40px auto 20px;color:var(--muted);font-size:12px;padding:0 24px}.hero,.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.hero{padding:26px;border-radius:22px;background:linear-gradient(135deg,#0f276f,#2156d9);color:#fff;box-shadow:var(--shadow)}.hero h1,.page-head h1{margin:0;font-size:28px}.hero p,.page-head p{margin:6px 0 0}.muted,small{color:var(--muted)}.hero .muted,.hero p{color:#dbe5ff}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.card,.panel,.login-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.card{padding:22px}.card b{display:block;font-size:34px}.card span{color:var(--muted)}.panel{padding:20px;margin-bottom:18px}.panel h2{margin:0 0 14px;font-size:20px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#172033;text-decoration:none;cursor:pointer;font-weight:650}.btn:hover{border-color:#bcc6db;background:#f8faff}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary2)}table{width:100%;border-collapse:collapse}th,td{padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}th{font-size:13px;color:#4b5568;background:#f9fafc}tr:last-child td{border-bottom:0}.pill{display:inline-flex;padding:4px 9px;border-radius:999px;background:var(--soft);color:var(--primary);font-size:12px;font-weight:700}.bar{height:9px;background:#edf0f7;border-radius:999px;overflow:hidden;min-width:100px}.bar i{display:block;height:100%;background:var(--primary)}.form{display:block}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field span{font-size:13px;color:#4b5568;font-weight:700}input,select,textarea{width:100%;border:1px solid #cfd5e2;border-radius:12px;padding:10px 12px;font:inherit;background:#fff}textarea{min-height:110px;resize:vertical}.field.wide{grid-column:1/-1}.form .btn{margin-top:14px}.form.mini .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search{display:flex;gap:10px;align-items:center;margin-bottom:18px}.search input,.search select{max-width:280px}.search.multi{flex-wrap:wrap}.login-card{max-width:430px;margin:80px auto;padding:30px}.login-card h1{margin-top:0}.flash{padding:12px 16px;border-radius:12px;margin-bottom:14px;border:1px solid}.flash.ok{background:#ecfdf3;color:var(--ok);border-color:#abefc6}.flash.bad{background:#fef3f2;color:var(--danger);border-color:#fecdca}.thumb-list{display:flex;flex-direction:column;gap:10px}.thumb-item{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--text);padding:8px;border-radius:14px}.thumb-item:hover{background:#f7f9ff}.thumb-item img,.doc-icon{width:58px;height:58px;border-radius:12px;object-fit:cover;background:#edf0f7;display:flex;align-items:center;justify-content:center;font-weight:800;color:#536079}.thumb-item span{display:flex;flex-direction:column}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.file-card{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.file-card .preview{display:block;height:170px;background:#f2f4f8}.file-card img{width:100%;height:100%;object-fit:cover}.file-card div:not(.doc-icon){padding:12px}.file-card p{min-height:38px;margin:7px 0;color:#4b5568}.doc-icon.large{width:100%;height:170px;border-radius:0}.project-meta{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.project-meta div{padding:12px;border:1px solid var(--line);border-radius:14px;background:#fafbff}.project-meta b{display:block;font-size:12px;color:var(--muted)}.project-meta span{font-weight:700}.mt{margin-top:14px}.report-table th,.report-table td{border:1px solid #d9deeb}.report-img{max-width:220px;max-height:170px;object-fit:contain}.print-report{background:#fff;padding:30px;border-radius:18px}@media(max-width:900px){.cards,.grid2,.gallery,.project-meta,.form-grid{grid-template-columns:1fr}.hero,.page-head{align-items:flex-start;flex-direction:column}.search input,.search select{max-width:none}.search{align-items:stretch;flex-direction:column}.topbar{padding:0 16px}.container{padding:0 14px}}@media print{.topbar,.nav,.footer,.no-print,.flash{display:none!important}body{background:#fff}.container{max-width:none;margin:0;padding:0}.panel,.print-report{box-shadow:none;border:0;border-radius:0}.report-img{max-width:260px;max-height:210px}.report-table{font-size:12px}}

.btn.danger{border-color:#fecdca;color:var(--danger);background:#fff}
.btn.danger:hover{background:#fef3f2}
.inline-form{display:inline-flex;margin:0 0 0 6px;vertical-align:middle}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}

.num{text-align:right;white-space:nowrap}
.checkline{display:flex;align-items:center;gap:8px;border:1px solid #cfd5e2;border-radius:12px;padding:10px 12px;background:#fff}
.checkline input{width:auto}
.wage-cards .card b{font-size:28px}
@media print{.no-print{display:none!important}.wage-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}

.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:10px 0 14px}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.nav a{white-space:nowrap}

.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:10px 0 16px}
.calendar-grid{table-layout:fixed;width:100%}
.calendar-grid td{height:72px;vertical-align:top;background:#fff}
.calendar-grid td a{display:block;min-height:56px;text-decoration:none;color:inherit}
.calendar-grid td b{display:block;font-size:18px}
.calendar-grid td small{display:inline-block;margin-top:6px;background:#eef4ff;border-radius:999px;padding:2px 8px;color:#174ea6}
.calendar-grid .today-cell{outline:2px solid #2563eb;background:#f8fbff}

.detail-table th{width:120px;background:#f8fafc;color:var(--muted);text-align:left}
.detail-table td{vertical-align:top}

.pill.warn{background:#fff7ed;color:#b54708;border-color:#fed7aa}

.pill.overdue{background:#fef3f2;color:#b42318;border-color:#fecdca;margin-top:4px}

.dashboard-cards .card{display:block;text-decoration:none;color:inherit;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}
.dashboard-cards .card small{display:block;margin-top:6px;color:#8a94a6;font-size:12px}
.dashboard-cards .card-link{cursor:pointer}
.dashboard-cards .card-link:hover{transform:translateY(-2px);border-color:#b8c7ee;box-shadow:0 14px 34px rgba(18,35,75,.12)}
.dashboard-cards .card-link:hover span{color:var(--primary)}
.dashboard-cards .card-disabled{opacity:.55}

.dashboard-cards:empty::after{content:'目前帳號尚未開放任何總覽方塊，請聯絡管理員調整使用者權限。';display:block;color:#8a94a6;background:#fff;border:1px solid #e6eaf2;border-radius:16px;padding:18px}

.detail-table a{font-weight:700}

.hero-dispatch{align-items:center}
.hero-dispatch h1{margin:0;font-size:26px;letter-spacing:.08em}
.dashboard-cards .card-link:first-child b{font-size:34px;line-height:1}


.hero-dispatch{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}
.hero-dispatch h1{
    margin:0;
    font-size:26px;
    letter-spacing:.08em;
}
.hero-project-card{
    flex:0 0 auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
    width:128px;
    min-height:54px;
    padding:10px 14px;
    border-radius:14px;
    color:#fff;
    text-decoration:none;
    text-align:left;
    background:rgba(0,0,0,.10);
    border:1px solid rgba(255,255,255,.28);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 8px 18px rgba(5,18,45,.18);
    transition:background .12s ease,transform .12s ease,border-color .12s ease,box-shadow .12s ease;
}
.hero-project-card b{
    font-size:15px;
    line-height:1.2;
    white-space:nowrap;
}
.hero-project-card span{
    font-size:11px;
    opacity:.86;
    margin-top:3px;
    white-space:nowrap;
}
.hero-project-card:hover{
    background:rgba(0,0,0,.18);
    border-color:rgba(255,255,255,.48);
    transform:translateY(-1px);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 12px 24px rgba(5,18,45,.24);
}
@media(max-width:720px){
    .hero-dispatch{
        align-items:stretch;
        flex-direction:column;
    }
    .hero-project-card{
        width:auto;
        min-height:50px;
    }
}

.billing-cards .card b{font-size:26px}
.pill.cash{background:#ecfdf3;color:#027a48;border-color:#abefc6}
.pill.monthly{background:#eff8ff;color:#175cd3;border-color:#b2ddff}

.actions-inline{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.actions-inline .btn{padding:7px 10px}

.table-scroll{overflow-x:auto}
.schedule-labor-table input,.schedule-labor-table select{min-width:86px}
.schedule-labor-table td:nth-child(3){min-width:180px}
.schedule-labor-table td:last-child input{min-width:220px}

.worker-unit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:8px}
.worker-unit-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e5e7eb;border-radius:14px;background:#fff;padding:10px 12px}
.worker-unit-row .checkline{margin:0;flex:1}
.worker-unit-row select{min-width:92px}

.pill.log{background:#f4f3ff;color:#5925dc;border-color:#d9d6fe}
.calendar-grid td.log-cell{background:#fbfaff}
.calendar-grid .cal-log-badge{display:block;margin-top:3px;color:#5925dc;font-weight:800}

.actions .inline-form{display:inline-flex;margin-left:6px}

.labor-month-table td,.labor-month-table th{white-space:nowrap}
@media print{.labor-month-table{page-break-inside:avoid}}

.pill.history{background:#f1f5f9;color:#334155;border-color:#cbd5e1}
.pill.done{background:#ecfdf3;color:#027a48;border-color:#abefc6}
.calendar-grid td.history-cell{background:#f8fafc}
.calendar-grid .cal-history-badge{display:block;margin-top:3px;color:#334155;font-weight:800}

/* v0.4.11：行事曆「今天」與目前選取日分開標示 */
.calendar-grid td.actual-today-cell{
  background:#fff7ed !important;
  box-shadow:inset 0 0 0 2px #fb923c;
}
.calendar-grid td.selected-cell{
  outline:2px solid #2563eb;
  outline-offset:-3px;
}
.calendar-grid td.actual-today-cell.selected-cell{
  background:#ffedd5 !important;
  box-shadow:inset 0 0 0 2px #f97316, inset 0 0 0 4px rgba(37,99,235,.25);
}
.calendar-grid .cal-today-badge{
  display:block;
  margin-top:3px;
  color:#c2410c;
  font-weight:900;
}

.backup-cards .card.ok{border-color:#abefc6;background:#ecfdf3}
.backup-cards .card.warn{border-color:#fedf89;background:#fffaeb}
.backup-cards .card.bad{border-color:#fecdca;background:#fef3f2}
.backup-cards code{word-break:break-all}

.workflow{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px}
.workflow-step{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #e2e8f0;color:#475569;font-size:13px;font-weight:800}
.workflow-step.current{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8;box-shadow:0 8px 18px rgba(37,99,235,.12)}
.workflow-step.done{background:#dcfce7;border-color:#86efac;color:#166534}
.pill.ok{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.pill.warn{background:#fef3c7;color:#92400e;border-color:#fde68a}
.pill.bad{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.detail-table textarea{min-height:96px}
@media print{.no-print,.nav,.topbar,.footer,.actions,.search,details{display:none!important}.container{max-width:none}.panel{break-inside:avoid}}

.queue-cards .card.active{outline:3px solid #84caff;background:#eff8ff}
.health-cards .card{min-height:92px}.pill.ok{background:#ecfdf3;color:#027a48;border-color:#abefc6}.pill.warn{background:#fffaeb;color:#b54708;border-color:#fedf89}.pill.bad,.pill.overdue{background:#fef3f2;color:#b42318;border-color:#fecdca}
.device-label{max-width:420px;margin:18px auto;background:#fff;border:1px solid #d7deea;border-radius:18px;padding:22px;text-align:center;box-shadow:0 8px 28px rgba(18,35,75,.08)}.device-label img{width:260px;height:260px;image-rendering:pixelated}.device-label small{word-break:break-all;color:#667085}.signature-box{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}.signature-box div{height:86px;border:1px solid #98a2b3;border-radius:8px;padding:10px}.actions-inline{display:inline-flex;gap:8px;flex-wrap:wrap;align-items:center}
@media print{.topbar,.nav,.footer,.no-print,.btn,.actions,.actions-inline{display:none!important}.container{max-width:none;margin:0}.panel,.print-report,.device-label{box-shadow:none;border-color:#999}.print-report{font-size:14px}.signature-box div{height:110px}}


.form-grid .span-2{grid-column:1 / -1}
.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font:inherit;resize:vertical;background:#fff}
.field textarea:focus{outline:2px solid rgba(37,99,235,.15);border-color:#2563eb}


.company-doc-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:3px solid #111827;padding-bottom:14px;margin-bottom:18px}
.company-doc-brand{font-size:28px;font-weight:950;letter-spacing:.04em;color:#111827}
.company-doc-contact{font-size:12px;color:#475467;margin-top:5px;line-height:1.65}
.company-doc-title{text-align:right;min-width:210px}
.company-doc-title h1{margin:0;font-size:26px;color:#111827}
.company-doc-title p{margin:6px 0 0;color:#667085;font-weight:800}
.company-doc-note{border:1px solid #d0d5dd;border-radius:12px;padding:12px 14px;background:#f8fafc;margin-top:16px;line-height:1.7}
.company-doc-footer{border-top:1px solid #d0d5dd;margin-top:22px;padding-top:12px;color:#475467;font-size:12px;line-height:1.7}
.billing-print-head{margin-bottom:18px}
.billing-print-footer{margin-top:18px}
@media print{
  .company-doc-head{break-inside:avoid}
  .billing-print-head,.billing-print-footer{box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important}
}
@media(max-width:720px){
  .company-doc-head{flex-direction:column}
  .company-doc-title{text-align:left}
}


.company-doc-brandline{display:flex;align-items:flex-start;gap:14px}
.company-doc-logo{max-width:88px;max-height:58px;object-fit:contain}
.company-doc-seal{max-width:92px;max-height:92px;object-fit:contain;margin-right:16px;float:right;opacity:.95}
.actions-inline details{display:inline-block;vertical-align:top}
.actions-inline details summary{cursor:pointer;display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:800}
.file-card details,.panel details{margin-top:8px}
@media print{.company-doc-logo{max-height:52px}.company-doc-seal{max-height:78px}.actions-inline details{display:none}}


.print-signature{margin-top:18px;border:1px solid #d0d5dd;border-radius:12px;padding:12px;min-height:120px}
.print-signature img{max-width:360px;max-height:130px}
tr.warn td,.warn{background:#fffaeb}
tr.bad td,.bad{background:#fef3f2}


.signature-help{font-size:13px;color:#667085;margin:4px 0 8px}
.signature-pad{
  width:100%;
  max-width:900px;
  height:280px;
  min-height:220px;
  border:2px dashed #94a3b8;
  border-radius:16px;
  background:#fff;
  touch-action:none;
  display:block;
  margin:8px 0 10px;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.03);
}
.signature-pad:active{border-color:#2563eb}
.signature-preview{
  max-width:360px;
  max-height:150px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#fff;
  padding:6px;
}
@media(max-width:640px){
  .signature-pad{height:240px;min-height:220px}
}


.assignment-role-box{display:grid;gap:14px;margin:10px 0 18px}
.assignment-role-box h4{margin:4px 0 8px;color:#344054}
.assignment-role-box small{display:block;margin-top:6px;color:#667085;line-height:1.5}
.lead-worker-pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#eff6ff;color:#1d4ed8;padding:3px 9px;font-size:12px;font-weight:900}
.helper-worker-note{border:1px solid #d0d5dd;background:#f8fafc;border-radius:14px;padding:10px 12px;margin:10px 0;color:#475467;font-size:13px;line-height:1.6}


.warn-text{display:block;color:#b54708;background:#fffaeb;border:1px solid #fedf89;border-radius:10px;padding:7px 9px;margin-top:8px}


.product-thumb{width:88px;height:60px;object-fit:cover;border-radius:12px;border:1px solid #e5e7eb;background:#f8fafc}
.product-preview{margin-top:8px}
.product-preview img{max-width:180px;max-height:120px;object-fit:cover;border-radius:14px;border:1px solid #e5e7eb}


.product-doc-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.product-doc-links a{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;border-radius:999px;padding:7px 10px;text-decoration:none;font-weight:850;color:#1e3a8a;background:#eff6ff;font-size:13px}


.product-doc-upload-note{font-size:12px;color:#667085;line-height:1.5}


.sub-panel{border:1px solid #e5e7eb;background:#f8fafc;border-radius:18px;padding:16px;margin-bottom:16px}
.sub-panel h3{margin:0 0 6px;color:#172033}
.company-asset-preview{display:flex;align-items:center;justify-content:center;width:170px;height:100px;border:1px solid #d0d5dd;border-radius:16px;background:#fff;margin:8px 0;padding:8px}
.company-asset-preview img{max-width:100%;max-height:100%;object-fit:contain}
.company-asset-preview.seal{width:120px;height:100px}


.product-share-note{font-size:12px;color:#667085;line-height:1.5}


.project-worker-assignment{margin-top:18px}
.project-worker-assignment h3{margin:0 0 6px}
.project-worker-assignment .assignment-role-box{margin-top:10px}


.permission-help .hint-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.permission-help .hint-grid div{border:1px solid #e5e7eb;background:#f8fafc;border-radius:16px;padding:12px}
.permission-help .hint-grid b{display:block;color:#172033;margin-bottom:4px}
.permission-help .hint-grid span{display:block;color:#667085;line-height:1.5}
.calendar-sync-panel{border-color:#bfdbfe;background:linear-gradient(180deg,#eff6ff,#ffffff)}
.calendar-sync-panel .copy-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.calendar-sync-panel .copy-row input{flex:1;min-width:320px;border:1px solid #bfdbfe;border-radius:12px;padding:10px 12px;background:#fff;color:#172033;font-size:13px}
.calendar-sync-steps{margin-top:10px;line-height:1.8}


.pill.start{background:#e0f2fe;color:#075985;border-color:#7dd3fc}
.project-start-cell{background:linear-gradient(180deg,#f0f9ff,#ffffff)}
.cal-project-start-badge{display:inline-flex;margin-top:3px;border-radius:999px;background:#0284c7;color:#fff;padding:1px 6px;font-size:11px;font-weight:800}


.calendar-sync-panel code{background:#e2e8f0;border-radius:6px;padding:2px 5px}
.calendar-sync-panel .flash{margin:10px 0}


.calendar-sync-panel .btn.primary{white-space:nowrap}


.task-export-box{margin-top:14px;border:1px dashed #93c5fd;border-radius:16px;padding:12px;background:#f8fbff}
.task-export-box h3{margin:0 0 6px;color:#075985}


.bulk-user-box textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;min-height:150px}
.compact-table td{vertical-align:top}
.nowrap{white-space:nowrap}


.permission-action-table{overflow:auto;border:1px solid #e5e7eb;border-radius:14px;margin-top:10px}
.permission-action-table table{min-width:760px}
.permission-action-table th,.permission-action-table td{text-align:center}
.permission-action-table td:first-child,.permission-action-table th:first-child{text-align:left}
.project-task-panel .section-title,.todo-summary .section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.overdue-row{background:#fff1f2}
.danger-text{color:#b91c1c;font-weight:800}
.todo-summary .stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.todo-summary .stat-grid div{border:1px solid #e5e7eb;border-radius:16px;padding:14px;background:#f8fafc}
.todo-summary .stat-grid b{font-size:28px;color:#172033;display:block}


.calendar-shortcut{
    display:inline-flex;
    align-items:center;
    gap:6px;
    border-color:#93c5fd !important;
    background:#eff6ff !important;
    color:#0f3b8f !important;
    font-weight:800;
}
.calendar-shortcut:hover{
    background:#dbeafe !important;
    color:#0b2f73 !important;
}
.nav-dropdown .calendar-shortcut{
    margin-left:6px;
}


.calendar-sync-collapsed{
    padding:0;
    overflow:hidden;
}
.calendar-sync-collapsed details{
    display:block;
}
.calendar-sync-collapsed summary{
    list-style:none;
    cursor:pointer;
    padding:16px 18px;
    display:flex;
    align-items:center;
    gap:12px;
    border-radius:16px;
    background:linear-gradient(90deg,#eff6ff,#ffffff);
    border:1px solid #bfdbfe;
}
.calendar-sync-collapsed summary::-webkit-details-marker{
    display:none;
}
.calendar-sync-collapsed summary::before{
    content:'▶';
    color:#1d4ed8;
    font-weight:900;
    transition:transform .18s ease;
}
.calendar-sync-collapsed details[open] summary::before{
    transform:rotate(90deg);
}
.calendar-sync-collapsed .sync-title{
    font-size:18px;
    font-weight:900;
    color:#172033;
}
.calendar-sync-collapsed .sync-subtitle{
    color:#64748b;
    font-size:13px;
    flex:1;
}
.calendar-sync-collapsed .sync-open-hint{
    color:#1d4ed8;
    font-size:12px;
    font-weight:800;
    background:#dbeafe;
    border-radius:999px;
    padding:4px 10px;
}
.calendar-sync-collapsed details[open] .sync-open-hint{
    color:#64748b;
    background:#f1f5f9;
}
.calendar-sync-collapsed details[open] .sync-open-hint::after{
    content:'中';
}
.calendar-sync-collapsed .calendar-sync-body{
    padding:16px 18px 18px;
    border-top:1px solid #e5e7eb;
}
@media (max-width: 720px){
    .calendar-sync-collapsed summary{
        align-items:flex-start;
        flex-direction:column;
        gap:6px;
    }
    .calendar-sync-collapsed summary::before{
        position:absolute;
    }
    .calendar-sync-collapsed .sync-title{
        padding-left:22px;
    }
}


.visits-stat{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.visits-stat div{border:1px solid #e5e7eb;border-radius:16px;padding:14px;background:#f8fafc}
.visits-stat b{font-size:30px;color:#172033;display:block}
.visits-stat span{color:#667085}


.calendar-sync-panel .task-export-box .copy-row input{font-size:12px}
.calendar-sync-panel .inline-form{display:inline-flex}


.projects-table-panel{
    overflow-x:auto;
}
.projects-table{
    min-width:980px;
}
.nowrap{
    white-space:nowrap;
}
.projects-table .project-start-col{
    white-space:nowrap;
    width:108px;
}
.projects-table .project-owner-col{
    white-space:nowrap;
    min-width:90px;
}
.projects-table td,
.projects-table th{
    vertical-align:top;
}


.project-entry-history details>summary{
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:900;
    font-size:18px;
    list-style:none;
}
.project-entry-history details>summary::-webkit-details-marker{display:none}
.project-entry-history details>summary::before{
    content:'▶';
    color:#174EA6;
    font-weight:900;
    transition:transform .18s ease;
}
.project-entry-history details[open]>summary::before{
    transform:rotate(90deg);
}
.project-entry-history table{
    margin-top:12px;
}
.project-entry-history .compact-table td,
.project-entry-history .compact-table th{
    vertical-align:top;
}


.top-quick-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-weight:800;
    margin-left:6px;
    white-space:nowrap;
}
.projects-shortcut{
    border-color:#bbf7d0 !important;
    background:#f0fdf4 !important;
    color:#166534 !important;
}
.service-shortcut{
    border-color:#fed7aa !important;
    background:#fff7ed !important;
    color:#9a3412 !important;
}
.dailylog-shortcut{
    border-color:#ddd6fe !important;
    background:#f5f3ff !important;
    color:#5b21b6 !important;
}
.nav-dropdown{
    flex-wrap:wrap;
    gap:8px;
}
@media(max-width:720px){
    .top-quick-link{
        margin-left:0;
        font-size:13px;
        padding:6px 9px;
    }
}


.top-quick-link{
    line-height:1;
}
.top-quick-link{
    gap:5px;
}


.dashboard-card-with-icon .card-topline{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:4px;
}
.dashboard-card-with-icon .card-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:12px;
    background:#eef4ff;
    border:1px solid #dbeafe;
    font-size:17px;
    line-height:1;
    flex:0 0 auto;
}
.dashboard-card-with-icon b{
    margin:0;
}


.suppliers-table td,
.suppliers-table th{
    vertical-align:top;
}
.suppliers-table .nowrap{
    white-space:nowrap;
}


.purchase-profit-panel{
    overflow-x:auto;
}
.purchase-table{
    min-width:1060px;
}
.purchase-table .num{
    white-space:nowrap;
}
.purchase-table .profit-cell{
    font-weight:800;
    color:#0f5132;
}


.item-picker-field select{
    border-color:#bfdbfe;
    background:#eff6ff;
}
.item-picker-field small{
    margin-top:4px;
}
.project-equipment-panel details>summary{
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:900;
    font-size:18px;
    list-style:none;
}
.project-equipment-panel details>summary::-webkit-details-marker{display:none}
.project-equipment-panel details>summary::before{
    content:'▶';
    color:#174EA6;
    font-weight:900;
    transition:transform .18s ease;
}
.project-equipment-panel details[open]>summary::before{
    transform:rotate(90deg);
}
.project-equipment-form{
    margin-top:12px;
    margin-bottom:14px;
    border:1px solid #e5e7eb;
    border-radius:16px;
    padding:14px;
    background:#f8fafc;
}
.project-equipment-panel table{
    margin-top:12px;
}


.accounting-filter{
    margin-bottom:12px;
}
.accounting-card-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:12px;
    margin:14px 0;
}
.accounting-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:16px;
    box-shadow:0 10px 28px rgba(15,23,42,.06);
    display:flex;
    gap:12px;
    align-items:flex-start;
}
.accounting-card .card-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    border-radius:14px;
    background:#eef4ff;
    border:1px solid #dbeafe;
    font-size:20px;
    flex:0 0 auto;
}
.accounting-card b{
    display:block;
    font-size:26px;
    color:#111827;
    line-height:1.1;
}
.accounting-card span{
    display:block;
    font-weight:900;
    margin-top:5px;
}
.accounting-card small{
    color:#667085;
}
.accounting-check-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
    gap:10px;
    margin-bottom:10px;
}
.accounting-check-grid div{
    border:1px solid #e5e7eb;
    background:#f8fafc;
    border-radius:14px;
    padding:12px;
}
.accounting-check-grid b{
    font-size:28px;
    color:#172033;
    display:block;
}
.accounting-check-grid span{
    color:#667085;
}
.accounting-table-panel{
    overflow-x:auto;
}
.accounting-table-panel table{
    min-width:880px;
}
.accounting-table-panel .num{
    white-space:nowrap;
}


.accounting-report-actions .btn.primary{
    background:#174EA6;
    color:#fff;
    border-color:#174EA6;
}


.daily-worker-total-panel table{
    margin-top:10px;
}
.daily-worker-total-panel .num{
    text-align:right;
    white-space:nowrap;
}
.daily-worker-total-panel .status-text{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:4px 9px;
    font-weight:800;
    font-size:12px;
}
.daily-worker-total-panel .status-text.ok{
    background:#dcfce7;
    color:#166534;
}
.daily-worker-total-panel .status-text.warn{
    background:#ffedd5;
    color:#9a3412;
}
.worker-unit-row select{
    min-width:92px;
}


.calendar-sync-panel .copy-row form.inline-form{
    display:inline-flex;
    margin:0;
}
.calendar-sync-panel .flash b{
    font-weight:900;
}


.calendar-sync-panel .copy-row .btn{
    margin-top:4px;
}


.google-api-sync-box{
    border-color:#bfdbfe;
    background:#f8fbff;
}
.sync-status-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:10px;
    margin:10px 0;
}
.sync-status-grid div{
    border:1px solid #dbeafe;
    background:#fff;
    border-radius:14px;
    padding:10px;
}
.sync-status-grid b{
    display:block;
    color:#475569;
    font-size:12px;
    margin-bottom:4px;
}
.sync-status-grid span{
    font-weight:800;
    word-break:break-all;
}
.soft-sep{
    border:0;
    border-top:1px solid #e5e7eb;
    margin:14px 0;
}


.google-api-sync-box .flash.bad{
    margin-top:10px;
}

.ics-export-only-panel{
    border-color:#bbf7d0;
    background:#f7fff9;
}
.ics-export-only-panel .task-export-box{
    background:#fff;
}


.general-dispatch-panel{
    border-color:#bae6fd;
    background:#f8fcff;
}
.calendar-grid td.general-dispatch-cell{
    background:#eff6ff;
}
.cal-general-badge,
.pill.general{
    background:#dbeafe;
    color:#1d4ed8;
}


.page-head .actions a[href*="calendar_import_ics"]{
    white-space:nowrap;
}


.top-quick-link.general-dispatch-shortcut{
    background:#dbeafe;
    color:#1d4ed8;
    border-color:#bfdbfe;
}
.top-quick-link.ics-download-shortcut{
    background:#dcfce7;
    color:#166534;
    border-color:#bbf7d0;
}


/* v0.9.68：最上方快捷功能列彩色小圖塊 */
.nav .top-quick-link{
    display:inline-flex;
    align-items:center;
    gap:7px;
    font-weight:800;
    border-width:1px;
    box-shadow:0 1px 2px rgba(15,23,42,.06);
}
.nav .top-quick-link .quick-icon{
    width:24px;
    height:24px;
    min-width:24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:8px;
    font-size:14px;
    line-height:1;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
}
.nav .overview-shortcut{
    background:#eef2ff;
    color:#3730a3;
    border-color:#c7d2fe;
}
.nav .overview-shortcut .quick-icon{
    background:#c7d2fe;
}
.nav .calendar-shortcut{
    background:#eff6ff;
    color:#1d4ed8;
    border-color:#bfdbfe;
}
.nav .calendar-shortcut .quick-icon{
    background:#bfdbfe;
}
.nav .general-dispatch-shortcut{
    background:#fff7ed;
    color:#c2410c;
    border-color:#fed7aa;
}
.nav .general-dispatch-shortcut .quick-icon{
    background:#fed7aa;
}
.nav .ics-download-shortcut{
    background:#ecfdf5;
    color:#047857;
    border-color:#bbf7d0;
}
.nav .ics-download-shortcut .quick-icon{
    background:#bbf7d0;
}
.nav .projects-shortcut{
    background:#fefce8;
    color:#a16207;
    border-color:#fde68a;
}
.nav .projects-shortcut .quick-icon{
    background:#fde68a;
}
.nav .service-shortcut{
    background:#fff1f2;
    color:#be123c;
    border-color:#fecdd3;
}
.nav .service-shortcut .quick-icon{
    background:#fecdd3;
}
.nav .dailylog-shortcut{
    background:#f5f3ff;
    color:#6d28d9;
    border-color:#ddd6fe;
}
.nav .dailylog-shortcut .quick-icon{
    background:#ddd6fe;
}
@media (max-width: 720px){
    .nav .top-quick-link{
        padding:7px 9px;
        gap:5px;
    }
    .nav .top-quick-link .quick-icon{
        width:22px;
        height:22px;
        min-width:22px;
        font-size:13px;
    }
}

/* v0.9.70：一般叫修／一般排工／工程專案－預計下次到場日 */
.pill.next-visit{
    background:#f0fdfa;
    color:#0f766e;
    border-color:#99f6e4;
}
.calendar-grid td.next-visit-cell{
    background:linear-gradient(180deg,#ecfeff,#ffffff);
}
.calendar-grid .cal-next-visit-badge{
    display:block;
    margin-top:3px;
    color:#0f766e;
    font-weight:900;
}
.next-visit-row td{
    background:#f7fffe;
}

/* v0.9.71：下次到場日前歸類為已安排，不列入逾期 */
.pill.scheduled{
    background:#eff6ff;
    color:#1d4ed8;
    border-color:#bfdbfe;
}
tr.scheduled-row td{
    background:#f8fbff;
}
.queue-cards .card.active[href*="bucket=scheduled"]{
    outline-color:#93c5fd;
    background:#eff6ff;
}


/* v0.9.72：工作安排支援單日與日期區間 */
.pill.range{
    background:#fdf4ff;
    color:#86198f;
    border-color:#f0abfc;
    margin-top:4px;
}
.schedule-mode-select{
    border-color:#c4b5fd;
    background:#faf5ff;
    font-weight:800;
}
.calendar-grid td:has(.cal-general-badge),
.calendar-grid td:has(.cal-next-visit-badge){
    background-clip:padding-box;
}


/* v0.9.72：單日／日期區間排程欄位 */
.schedule-mode-select{font-weight:800}
.field.schedule-end-disabled{opacity:.55}
.field.schedule-end-disabled input{background:#f1f5f9;cursor:not-allowed}


/* v0.9.73：工程／排工／叫修 CRUD 操作流程 */
.record-scope-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.record-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;min-width:220px}
.record-actions .inline-form{margin:0}
.record-actions .btn{min-height:34px;padding:6px 10px;font-size:13px}
.archived-row{opacity:.72;background:#f8fafc}
.pill.archived{background:#e2e8f0;color:#475569;border-color:#cbd5e1}
.danger-zone{border-color:#fca5a5;background:#fffafa}
.delete-impact{border:1px solid #fecaca;background:#fff;border-radius:14px;padding:14px;margin:12px 0}
.delete-impact ul{margin:8px 0 0;padding-left:22px}
.table-scroll table{min-width:980px}
@media(max-width:720px){.record-actions{min-width:0}.record-actions .btn{flex:1}.record-scope-tabs .btn{flex:1}}
.bulk-action-bar{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    padding:10px 12px;
    margin:0 0 14px;
    border:1px solid #dbe3ef;
    border-radius:14px;
    background:#f8fafc;
}
.bulk-action-bar select{width:auto;min-width:150px}
.bulk-action-bar small{color:#667085}
.projects-table th:first-child,.projects-table td:first-child,
.bulk-enabled-table th:first-child,.bulk-enabled-table td:first-child{width:42px;text-align:center}
@media(max-width:720px){.bulk-action-bar{align-items:stretch}.bulk-action-bar select,.bulk-action-bar .btn{width:100%}}


/* v0.9.77：同客戶／同工程照片相簿連續瀏覽 */
.file-card .preview{position:relative;cursor:zoom-in}
.album-badge{
    position:absolute;
    right:9px;
    bottom:9px;
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:5px 9px;
    background:rgba(15,23,42,.82);
    color:#fff;
    font-size:12px;
    font-weight:900;
    backdrop-filter:blur(4px);
    box-shadow:0 4px 12px rgba(15,23,42,.24);
}
body.gallery-viewer-open{overflow:hidden}
.gallery-viewer[hidden]{display:none!important}
.gallery-viewer{
    position:fixed;
    inset:0;
    z-index:9999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:rgba(2,6,23,.88);
}
.gallery-viewer-dialog{
    position:relative;
    width:min(1180px,100%);
    height:min(92vh,900px);
    display:grid;
    grid-template-columns:64px minmax(0,1fr) 64px;
    align-items:center;
}
.gallery-viewer-figure{
    min-width:0;
    max-height:92vh;
    margin:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border-radius:18px;
    background:#fff;
    box-shadow:0 24px 70px rgba(0,0,0,.45);
}
.gallery-viewer-stage{
    min-height:260px;
    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:#0f172a;
    touch-action:pan-y;
}
.gallery-viewer-image{
    display:block;
    max-width:100%;
    max-height:calc(92vh - 155px);
    object-fit:contain;
    user-select:none;
    -webkit-user-drag:none;
}
.gallery-viewer-figure figcaption{padding:14px 16px;background:#fff}
.gallery-viewer-head,.gallery-viewer-foot{display:flex;align-items:center;justify-content:space-between;gap:14px}
.gallery-viewer-head b{display:block;font-size:17px}
.gallery-viewer-head small{display:block;margin-top:3px}
.gallery-viewer-counter{white-space:nowrap;font-weight:900;color:#334155}
.gallery-viewer-note{margin:8px 0 0;color:#475569;white-space:pre-wrap}
.gallery-viewer-foot{margin-top:10px}
.gallery-viewer-filename{font-size:12px;color:#667085;word-break:break-all}
.gallery-viewer-original{flex:0 0 auto}
.gallery-viewer-close,.gallery-viewer-nav{
    border:0;
    cursor:pointer;
    color:#fff;
    background:rgba(15,23,42,.72);
    box-shadow:0 8px 22px rgba(0,0,0,.25);
}
.gallery-viewer-close{
    position:absolute;
    z-index:2;
    top:10px;
    right:74px;
    width:42px;
    height:42px;
    border-radius:50%;
    font-size:28px;
    line-height:1;
}
.gallery-viewer-nav{
    width:48px;
    height:64px;
    justify-self:center;
    border-radius:14px;
    font-size:44px;
    line-height:1;
}
.gallery-viewer-nav:disabled{opacity:.28;cursor:default}
.gallery-viewer-close:hover,.gallery-viewer-nav:not(:disabled):hover{background:#1d4ed8}
@media(max-width:720px){
    .gallery-viewer{padding:0}
    .gallery-viewer-dialog{height:100dvh;grid-template-columns:44px minmax(0,1fr) 44px}
    .gallery-viewer-figure{max-height:100dvh;border-radius:0}
    .gallery-viewer-image{max-height:calc(100dvh - 170px)}
    .gallery-viewer-nav{width:38px;height:56px;border-radius:10px;font-size:36px}
    .gallery-viewer-close{top:8px;right:8px;background:rgba(15,23,42,.88)}
    .gallery-viewer-head,.gallery-viewer-foot{align-items:flex-start}
    .gallery-viewer-foot{flex-direction:column}
}


/* v0.9.78：照片卡片文字重疊修正 */
.file-card .preview{
    overflow:hidden;
}
.file-card > .file-card-body{
    padding:12px;
}
.file-card .file-card-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:8px;
    padding:0;
}
.file-card .file-card-title{
    min-width:0;
    display:block;
    line-height:1.4;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.file-card .album-count-chip{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:3px 7px;
    background:#eef2ff;
    color:#3730a3;
    border:1px solid #c7d2fe;
    font-size:11px;
    font-weight:900;
    line-height:1.25;
    white-space:nowrap;
}
.file-card .file-card-meta,
.file-card .file-card-filename{
    display:block;
    margin-top:3px;
    line-height:1.45;
    overflow-wrap:anywhere;
    word-break:break-word;
}
/* 舊版相簿標記若仍被快取或殘留，不再參與卡片排版。 */
.file-card .album-badge{display:none!important}
@media(max-width:900px){
    .file-card .file-card-heading{align-items:center}
}


/* v0.9.80：行事曆 ICS 說明縮排/收合、月曆月份切換 */
.calendar-filter-form .inline-field{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:6px 10px;
    border:1px solid #e5e7eb;
    background:#fff;
    border-radius:12px;
}
.calendar-filter-form .inline-field span{
    font-size:12px;
    color:#64748b;
    font-weight:800;
    white-space:nowrap;
}
.calendar-filter-form .inline-field input{
    border:0;
    padding:0;
    min-height:24px;
    background:transparent;
}
.compact-ics-panel{
    max-width:980px;
    margin-left:auto;
    margin-right:auto;
    padding:0;
    background:#f7fff9;
    border-color:#bbf7d0;
    overflow:hidden;
}
.compact-ics-panel details{
    padding:0;
}
.compact-ics-panel summary{
    cursor:pointer;
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 16px;
    font-weight:900;
    color:#0f172a;
}
.compact-ics-panel summary::-webkit-details-marker{
    display:none;
}
.compact-ics-panel summary::before{
    content:'▶';
    color:#16a34a;
    font-weight:900;
    transition:transform .18s ease;
}
.compact-ics-panel details[open] summary::before{
    transform:rotate(90deg);
}
.compact-ics-panel summary span{
    display:flex;
    align-items:center;
    gap:8px;
}
.compact-ics-panel summary small{
    color:#16a34a;
    font-weight:800;
}
.compact-ics-body{
    border-top:1px solid #dcfce7;
    padding:12px 18px 16px 34px;
}
.compact-ics-body .task-export-box{
    margin-top:8px;
}
.month-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:10px;
}
.month-head h2{
    margin:0;
}
.month-nav{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.month-jump{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin:0;
}
.month-jump input[type="month"]{
    border:1px solid #e5e7eb;
    border-radius:10px;
    padding:7px 9px;
    background:#fff;
}
@media (max-width:720px){
    .calendar-filter-form .inline-field{
        width:100%;
        justify-content:space-between;
    }
    .compact-ics-panel summary{
        align-items:flex-start;
        flex-direction:column;
        gap:4px;
    }
    .compact-ics-body{
        padding:12px 14px 14px 22px;
    }
    .month-nav,
    .month-jump{
        width:100%;
    }
    .month-nav .btn,
    .month-jump input[type="month"],
    .month-jump button{
        flex:1;
    }
}


/* v0.9.81：全系統專業化版面優化 */
:root{
    --bg:#f3f6fb;
    --panel:#ffffff;
    --text:#122033;
    --muted:#667085;
    --line:#dfe6f2;
    --primary:#1d4ed8;
    --primary2:#173ea8;
    --primary-soft:#eaf1ff;
    --danger:#b42318;
    --ok:#067647;
    --warning:#b45309;
    --soft:#eef4ff;
    --shadow:0 18px 48px rgba(15,23,42,.08);
    --shadow-sm:0 8px 22px rgba(15,23,42,.06);
    --radius:18px;
}
body.pro-ui{
    background:
        radial-gradient(circle at 18% -8%, rgba(29,78,216,.09), transparent 32%),
        linear-gradient(180deg,#f8fbff 0%,#f2f5fa 58%,#eef2f7 100%);
    color:var(--text);
}
.pro-topbar{
    min-height:76px;
    height:auto;
    padding:14px 28px;
    background:
        linear-gradient(135deg,#0f172a 0%,#111f3f 46%,#172554 100%);
    border-bottom:1px solid rgba(255,255,255,.08);
    box-shadow:0 12px 32px rgba(15,23,42,.22);
}
.brand-block{
    display:flex;
    align-items:center;
    gap:12px;
}
.brand-mark{
    width:42px;
    height:42px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#60a5fa,#2563eb);
    color:#fff;
    font-size:20px;
    font-weight:950;
    box-shadow:0 12px 28px rgba(37,99,235,.35);
}
.pro-topbar .brand{
    font-size:23px;
    letter-spacing:.08em;
    font-weight:950;
}
.pro-topbar .sub{
    color:#bfdbfe;
    letter-spacing:.02em;
}
.pro-user{
    display:flex;
    align-items:center;
    gap:9px;
    padding:8px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
}
.pro-user a{
    padding:5px 9px;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    text-decoration:none;
}
.user-dot{
    width:8px;
    height:8px;
    border-radius:999px;
    background:#22c55e;
    box-shadow:0 0 0 4px rgba(34,197,94,.14);
}
.nav{
    background:rgba(255,255,255,.88);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    box-shadow:0 10px 28px rgba(15,23,42,.06);
    border-bottom:1px solid rgba(148,163,184,.22);
    gap:9px;
    overflow-x:auto;
    scrollbar-width:thin;
}
.nav select{
    box-shadow:0 4px 14px rgba(15,23,42,.04);
    font-weight:850;
}
.nav .nav-home{
    border-radius:14px;
    font-weight:850;
    transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.nav .nav-home:hover{
    transform:translateY(-1px);
    box-shadow:0 8px 20px rgba(15,23,42,.08);
}
.nav .top-quick-link{
    display:inline-flex;
    align-items:center;
    gap:7px;
    border-width:1px;
    box-shadow:0 1px 2px rgba(15,23,42,.05);
}
.nav .top-quick-link .quick-icon{
    width:24px;
    height:24px;
    min-width:24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    font-size:14px;
    line-height:1;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
}
.pro-container{
    max-width:1220px;
}
.page-head{
    align-items:stretch;
    padding:18px 20px;
    border:1px solid rgba(203,213,225,.7);
    border-radius:22px;
    background:
        linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,251,255,.92)),
        radial-gradient(circle at 100% 0%,rgba(37,99,235,.11),transparent 32%);
    box-shadow:var(--shadow-sm);
}
.page-head h1{
    letter-spacing:.01em;
    font-weight:950;
}
.page-head .actions{
    display:flex;
    gap:8px;
    align-items:center;
    flex-wrap:wrap;
}
.hero{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 100% 0%,rgba(255,255,255,.2),transparent 30%),
        linear-gradient(135deg,#0f1d4e 0%,#1d4ed8 55%,#2563eb 100%);
}
.hero::after{
    content:'';
    position:absolute;
    width:240px;
    height:240px;
    right:-70px;
    bottom:-120px;
    border-radius:999px;
    background:rgba(255,255,255,.13);
}
.card,.panel,.login-card{
    border-color:rgba(203,213,225,.82);
    border-radius:var(--radius);
    box-shadow:var(--shadow-sm);
}
.panel{
    background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
}
.panel h2{
    font-weight:950;
    color:#0f172a;
}
.card{
    transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.card:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow);
    border-color:#c7d2fe;
}
.btn{
    border-radius:13px;
    font-weight:850;
    box-shadow:0 1px 2px rgba(15,23,42,.04);
    transition:transform .14s ease, box-shadow .14s ease, background .14s ease;
}
.btn:hover{
    transform:translateY(-1px);
    box-shadow:0 8px 18px rgba(15,23,42,.08);
}
.btn.primary{
    background:linear-gradient(135deg,#2563eb,#1d4ed8);
    border-color:#1d4ed8;
    box-shadow:0 10px 22px rgba(29,78,216,.18);
}
.btn.danger{
    background:#fff1f2;
    color:#be123c;
    border-color:#fecdd3;
}
input,select,textarea{
    border-color:#d4dce9;
    border-radius:13px;
    background:#fff;
    transition:border-color .14s ease, box-shadow .14s ease;
}
input:focus,select:focus,textarea:focus{
    outline:0;
    border-color:#93c5fd;
    box-shadow:0 0 0 4px rgba(59,130,246,.13);
}
table{
    border-collapse:separate;
    border-spacing:0;
}
th{
    background:#f3f6fb;
    color:#475569;
    font-weight:900;
    letter-spacing:.02em;
}
td,th{
    border-bottom:1px solid #e7edf6;
}
tr:hover td{
    background:#fafcff;
}
.pill{
    font-weight:850;
    border:1px solid rgba(29,78,216,.10);
}
.flash,.flash-bad,.error{
    border-radius:16px;
}
.search.multi{
    padding:12px;
    border:1px solid rgba(203,213,225,.75);
    border-radius:18px;
    background:rgba(255,255,255,.78);
    box-shadow:0 8px 22px rgba(15,23,42,.04);
}
.compact-ics-panel{
    border-left:5px solid #22c55e;
}
.month-head{
    padding-bottom:10px;
    border-bottom:1px solid #edf2f7;
}
.month-nav .btn,
.month-jump input[type="month"]{
    min-height:36px;
}
.calendar-grid td{
    background:#fff;
    transition:background .14s ease, transform .14s ease;
}
.calendar-grid td:not(.muted):hover{
    background:#f8fbff;
    transform:translateY(-1px);
}
.calendar-grid .selected-cell{
    outline:2px solid #2563eb;
    outline-offset:-2px;
    background:#fff7ed!important;
}
.calendar-grid .actual-today-cell{
    background:#eff6ff;
}
.form-grid .field span,
.field span{
    color:#334155;
    font-weight:850;
}
.actions-inline{
    gap:6px;
}
.pro-footer{
    text-align:center;
    padding-top:12px;
    border-top:1px solid #e5e7eb;
}
/* worker.php / customer_repair.php visible when same stylesheet is used */
.worker-pro-ui,
.customer-pro-ui{
    background:linear-gradient(180deg,#f8fbff 0%,#f1f5f9 100%);
}
@media(max-width:780px){
    .pro-topbar{
        padding:12px 14px;
    }
    .brand-mark{
        width:36px;
        height:36px;
        border-radius:12px;
        font-size:18px;
    }
    .pro-topbar .brand{
        font-size:19px;
    }
    .pro-user{
        width:100%;
        justify-content:space-between;
        margin-top:8px;
    }
    .nav{
        padding:10px 12px;
        align-items:center;
        overflow-x:auto;
    }
    .nav label{
        display:none;
    }
    .nav select{
        min-width:220px;
        width:260px;
        max-width:70vw;
    }
    .nav .nav-home{
        display:inline-flex;
    }
    .nav .top-quick-link{
        padding:8px 10px;
        flex:0 0 auto;
    }
    .nav .top-quick-link .quick-icon{
        width:22px;
        height:22px;
        min-width:22px;
    }
    .container,.pro-container{
        padding:0 12px;
        margin-top:14px;
    }
    .page-head{
        padding:14px;
        flex-direction:column;
    }
    .page-head h1{
        font-size:23px;
    }
    .panel{
        padding:15px;
    }
    .cards{
        grid-template-columns:1fr 1fr;
        gap:10px;
    }
    .grid2{
        grid-template-columns:1fr;
    }
    .search.multi{
        align-items:stretch;
    }
    .search input,
    .search select,
    .search .btn{
        max-width:none;
    }
}
@media(max-width:520px){
    .cards{
        grid-template-columns:1fr;
    }
    .table-wrap,
    table{
        font-size:14px;
    }
    th,td{
        padding:9px 8px;
    }
}


/* v0.9.82：重複工作檢查 */
.nav .duplicate-check-shortcut{
    background:#f0f9ff;
    color:#075985;
    border-color:#bae6fd;
}
.nav .duplicate-check-shortcut .quick-icon{
    background:#bae6fd;
}
.duplicate-summary-cards .duplicate-danger{
    border-color:#fecdd3;
    background:#fff5f5;
}
.duplicate-summary-cards .duplicate-warn{
    border-color:#fed7aa;
    background:#fff7ed;
}
.duplicate-summary-cards .duplicate-info{
    border-color:#bae6fd;
    background:#f0f9ff;
}
.duplicate-rules{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:12px;
}
.duplicate-rules div{
    border:1px solid #e5e7eb;
    border-radius:16px;
    background:#fff;
    padding:12px;
}
.duplicate-rules b{
    display:block;
    color:#0f172a;
    margin-bottom:4px;
}
.duplicate-rules span{
    color:#64748b;
    font-size:13px;
}
.duplicate-group{
    border:1px solid #e5e7eb;
    border-radius:18px;
    overflow:hidden;
    margin:14px 0;
    background:#fff;
}
.duplicate-group-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    padding:12px 14px;
    background:#f8fafc;
    border-bottom:1px solid #e5e7eb;
}
.duplicate-group-head span{
    border-radius:999px;
    padding:4px 10px;
    font-weight:900;
    background:#fff;
}
.duplicate-danger .duplicate-group-head{
    background:#fff1f2;
    color:#be123c;
}
.duplicate-warn .duplicate-group-head{
    background:#fff7ed;
    color:#c2410c;
}
.duplicate-info .duplicate-group-head{
    background:#eff6ff;
    color:#1d4ed8;
}


/* v0.9.83：重複工作檢查增加刪除選項 */
.duplicate-actions{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    align-items:center;
}
.duplicate-delete-form{
    display:inline-flex;
    margin:0;
}
.duplicate-check-panel .btn.danger{
    background:#fff1f2;
    border-color:#fecdd3;
    color:#be123c;
}
.duplicate-check-panel .btn.danger:hover{
    background:#ffe4e6;
    border-color:#fda4af;
}


/* v0.9.85：友善直覺介面優化 */
.ux-guide-panel{
    margin-top:16px;
    border-left:5px solid #2563eb;
    background:
        radial-gradient(circle at 100% 0%,rgba(37,99,235,.09),transparent 26%),
        linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.ux-guide-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:14px;
}
.ux-guide-head h2{
    margin:0 0 4px;
}
.ux-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    padding:6px 12px;
    background:#e0f2fe;
    color:#075985;
    font-size:13px;
    font-weight:900;
    white-space:nowrap;
}
.ux-steps{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:12px;
}
.ux-step{
    display:grid;
    grid-template-columns:38px 1fr;
    grid-template-areas:"no title" "no desc";
    gap:2px 10px;
    padding:13px;
    border:1px solid #e5e7eb;
    border-radius:17px;
    background:#fff;
    color:#0f172a;
    text-decoration:none;
    transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.ux-step:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 26px rgba(15,23,42,.08);
    border-color:#bfdbfe;
}
.ux-step-no{
    grid-area:no;
    width:34px;
    height:34px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#e0e7ff;
    color:#3730a3;
    font-weight:950;
}
.ux-step b{
    grid-area:title;
    font-size:15px;
}
.ux-step small{
    grid-area:desc;
    color:#64748b;
    line-height:1.45;
}
.ux-step.orange .ux-step-no{background:#ffedd5;color:#c2410c}
.ux-step.red .ux-step-no{background:#ffe4e6;color:#be123c}
.ux-step.purple .ux-step-no{background:#ede9fe;color:#6d28d9}
.ux-step.cyan .ux-step-no{background:#cffafe;color:#0e7490}
.ux-tip-box{
    margin:10px 0 14px;
    border:1px solid #dbeafe;
    border-radius:16px;
    background:#f8fbff;
    overflow:hidden;
}
.ux-tip-box summary{
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:8px;
    padding:11px 14px;
    font-weight:900;
    color:#1e3a8a;
    list-style:none;
}
.ux-tip-box summary::-webkit-details-marker{
    display:none;
}
.ux-tip-box summary::before{
    content:'💡';
}
.ux-tip-box ul{
    margin:0;
    padding:0 18px 13px 38px;
    color:#475569;
    line-height:1.75;
}
.ux-empty-state{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:140px;
    padding:24px;
    border:1px dashed #cbd5e1;
    border-radius:18px;
    background:#fbfdff;
    text-align:center;
    color:#475569;
}
.ux-empty-state b{
    color:#0f172a;
    font-size:18px;
}
.ux-empty-state p{
    margin:0 0 4px;
    max-width:460px;
}
.ux-empty-icon{
    width:42px;
    height:42px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#dcfce7;
    color:#047857;
    font-weight:950;
}
.hero-dispatch p{
    color:#dbeafe;
    margin:8px 0 0;
    max-width:760px;
}
.search.multi .btn{
    white-space:nowrap;
}
.panel h2 + .muted,
.page-head .muted{
    line-height:1.65;
}
@media(max-width:720px){
    .ux-guide-head{
        flex-direction:column;
    }
    .ux-steps{
        grid-template-columns:1fr;
    }
    .ux-step{
        grid-template-columns:34px 1fr;
    }
    .ux-tip-box summary{
        align-items:flex-start;
    }
}


/* v0.9.86：快捷列順序調整 */
.nav .ics-download-shortcut span:last-child{
    white-space:nowrap;
}


/* v0.9.87：ERP 風格操作介面 */
body.erp-ui{background:linear-gradient(180deg,#eef3fb 0%,#f6f8fb 42%,#eef2f7 100%);font-size:15px}
.erp-ui .pro-topbar{min-height:58px;padding:10px 24px;background:linear-gradient(180deg,#1e3a8a 0%,#1d4ed8 100%);box-shadow:0 8px 22px rgba(30,58,138,.20)}
.erp-ui .brand-mark{width:36px;height:36px;border-radius:8px;background:#fff;color:#1d4ed8;box-shadow:none}
.erp-ui .pro-topbar .brand{font-size:20px;letter-spacing:.05em}
.erp-ui .pro-topbar .sub{color:#dbeafe;font-size:12px}
.erp-ui .erp-module-bar{top:0;gap:6px;padding:9px 14px;background:#fff;border-bottom:1px solid #cbd5e1;box-shadow:0 3px 14px rgba(15,23,42,.08)}
.erp-ui .erp-module-bar label{color:#334155;font-weight:900}
.erp-ui .erp-module-bar select{height:36px;min-width:250px;border-radius:4px;border:1px solid #94a3b8;background:#f8fafc;font-weight:800}
.erp-ui .nav .nav-home,.erp-ui .nav .top-quick-link{min-height:34px;border-radius:6px;padding:6px 10px;box-shadow:none;border-color:#cbd5e1;font-size:14px}
.erp-ui .nav .top-quick-link:hover{transform:none;box-shadow:inset 0 -2px 0 rgba(29,78,216,.28)}
.erp-ui .nav .top-quick-link .quick-icon{width:20px;height:20px;min-width:20px;border-radius:4px;font-size:12px}
.erp-container{max-width:1360px}
.erp-workbench-strip{display:flex;align-items:center;gap:10px;margin:10px 0 14px;padding:9px 12px;background:#fff;border:1px solid #cbd5e1;border-left:5px solid #2563eb;border-radius:6px;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.erp-workbench-strip span{color:#475569;font-weight:900}.erp-workbench-strip b{color:#1e3a8a;font-weight:950}.erp-workbench-strip small{margin-left:auto;color:#64748b}
.erp-ui .page-head{border-radius:8px;padding:14px 16px;background:#fff;border:1px solid #cbd5e1;border-left:5px solid #1d4ed8;box-shadow:0 2px 10px rgba(15,23,42,.05)}
.erp-ui .page-head h1{font-size:24px}
.erp-ui .hero{border-radius:8px;background:linear-gradient(135deg,#1e3a8a,#2563eb);box-shadow:0 8px 20px rgba(37,99,235,.18)}
.erp-ui .hero h1{font-size:28px}
.erp-ui .panel,.erp-ui .card,.erp-ui .login-card{border-radius:8px;border:1px solid #cbd5e1;box-shadow:0 2px 9px rgba(15,23,42,.05);background:#fff}
.erp-ui .panel h2{padding-bottom:8px;border-bottom:1px solid #e2e8f0;color:#1e3a8a;font-size:19px}
.erp-ui .card{padding:14px}.erp-ui .card b{color:#1d4ed8}
.erp-ui .btn{border-radius:5px;min-height:34px;padding:7px 12px;box-shadow:none;font-weight:900}.erp-ui .btn:hover{transform:none;box-shadow:inset 0 -2px 0 rgba(15,23,42,.12)}
.erp-ui .btn.primary{background:#1d4ed8;border-color:#1d4ed8;box-shadow:none}
.erp-ui input,.erp-ui select,.erp-ui textarea{border-radius:5px;border:1px solid #b6c2d2;background:#fff;min-height:34px}
.erp-ui input:focus,.erp-ui select:focus,.erp-ui textarea:focus{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.14)}
.erp-ui .search.multi,.erp-ui .calendar-filter-form{border-radius:8px;border:1px solid #cbd5e1;background:#f8fafc;box-shadow:none;padding:10px}
.erp-ui .form-grid{gap:12px}.erp-ui .form-grid .field,.erp-ui .field{gap:5px}.erp-ui .form-grid .field span,.erp-ui .field span{color:#1e293b;font-size:13px}
.erp-ui table{width:100%;border:1px solid #cbd5e1;border-radius:6px;overflow:hidden;background:#fff;font-size:14px}
.erp-ui th{background:#eaf1fb;color:#1e3a8a;border-bottom:1px solid #cbd5e1;padding:9px 10px}.erp-ui td{padding:8px 10px;border-bottom:1px solid #e2e8f0}
.erp-ui tr:nth-child(even) td{background:#fbfdff}.erp-ui tr:hover td{background:#eff6ff}
.erp-ui .pill{border-radius:4px;padding:3px 7px;font-size:12px;font-weight:900}
.erp-ui .ux-guide-panel{border-radius:8px;border-left:5px solid #1d4ed8}.erp-ui .ux-step{border-radius:8px;grid-template-columns:30px 1fr;padding:10px}.erp-ui .ux-step-no{width:26px;height:26px;border-radius:4px}
.erp-ui .ux-tip-box{border-radius:8px;background:#f8fafc;border-color:#cbd5e1}
.erp-ui .compact-ics-panel{border-radius:8px;max-width:1120px}
.erp-ui .month-head{background:#f8fafc;margin:-4px -4px 10px;padding:8px;border-radius:6px}
.erp-ui .calendar-grid{table-layout:fixed}.erp-ui .calendar-grid td{height:92px;vertical-align:top}.erp-ui .calendar-grid .selected-cell{outline:2px solid #f97316;background:#fff7ed!important}
.erp-ui .duplicate-group{border-radius:8px}.erp-ui .footer.erp-footer{color:#64748b}
@media(max-width:780px){.erp-ui .erp-workbench-strip{align-items:flex-start;flex-direction:column}.erp-ui .erp-workbench-strip small{margin-left:0}.erp-ui .erp-module-bar{padding:8px 10px}.erp-ui .erp-module-bar select{min-width:200px}.erp-ui .page-head{padding:12px}.erp-ui .page-head h1{font-size:22px}.erp-ui .calendar-grid td{height:78px;padding:6px}}


/* v0.9.88：ERP 主檔與單據核心 */
.nav .erp-core-shortcut{
    background:#eef2ff;
    color:#3730a3;
    border-color:#c7d2fe;
}
.nav .erp-core-shortcut .quick-icon{
    background:#c7d2fe;
    font-size:10px;
    font-weight:950;
}
.erp-core-flow{
    border-left:5px solid #1d4ed8;
}
.erp-core-steps{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    padding:10px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:8px;
}
.erp-core-steps span{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:5px 10px;
    border-radius:6px;
    background:#ffffff;
    border:1px solid #cbd5e1;
    font-weight:900;
    color:#1e3a8a;
}
.erp-core-steps b{
    color:#94a3b8;
}
.erp-core-summary{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
    gap:12px;
    margin:14px 0;
}
.erp-core-card{
    background:#ffffff;
    border:1px solid #cbd5e1;
    border-radius:8px;
    padding:13px;
    box-shadow:0 2px 9px rgba(15,23,42,.05);
}
.erp-core-card div{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
}
.erp-core-card b{
    color:#1e3a8a;
    font-size:16px;
}
.erp-core-card span{
    color:#64748b;
    font-size:13px;
    font-weight:800;
}
.erp-core-card ul{
    margin:10px 0;
    padding-left:18px;
    color:#334155;
    line-height:1.7;
}
.erp-master-section,
.erp-document-section{
    border-left:5px solid #2563eb;
}
.erp-master-form{
    margin:10px 0 16px;
    padding:12px;
    border:1px solid #dbeafe;
    border-radius:8px;
    background:#f8fbff;
}
.erp-master-form h3{
    margin:0 0 10px;
    color:#1e3a8a;
}
.erp-document-section input,
.erp-document-section select{
    width:100%;
    min-width:84px;
}
.erp-doc-issue-form{
    border:1px solid #e2e8f0;
    border-radius:8px;
    background:#f8fafc;
    padding:12px;
}
@media(max-width:780px){
    .erp-core-summary{
        grid-template-columns:1fr;
    }
    .erp-core-steps{
        align-items:stretch;
        flex-direction:column;
    }
    .erp-core-steps b{
        display:none;
    }
}


/* v0.9.89：資料穩定與作業流程核心 */
.nav .erp-stability-shortcut{
    background:#ecfeff;
    color:#0e7490;
    border-color:#a5f3fc;
}
.nav .erp-stability-shortcut .quick-icon{
    background:#a5f3fc;
    font-size:10px;
    font-weight:950;
}
.erp-stability-cards .card{
    border-left:4px solid #2563eb;
}
.erp-workflow-six{
    border-left:5px solid #0e7490;
}
.erp-workflow-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
    gap:12px;
}
.erp-workflow-grid div{
    display:grid;
    grid-template-columns:42px 1fr;
    gap:5px 10px;
    padding:13px;
    border:1px solid #cbd5e1;
    border-radius:8px;
    background:#fff;
}
.erp-workflow-grid b{
    grid-row:1 / span 2;
    width:34px;
    height:34px;
    border-radius:6px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#cffafe;
    color:#0e7490;
    font-weight:950;
}
.erp-workflow-grid strong{
    color:#1e3a8a;
}
.erp-workflow-grid span{
    color:#64748b;
    line-height:1.55;
}
.erp-ui code{
    background:#f1f5f9;
    border:1px solid #e2e8f0;
    border-radius:4px;
    padding:2px 5px;
}
@media(max-width:780px){
    .erp-workflow-grid{
        grid-template-columns:1fr;
    }
}


/* v0.9.90：工程成本與庫存核心 */
.nav .cost-inventory-shortcut{
    background:#f0fdf4;
    color:#166534;
    border-color:#bbf7d0;
}
.nav .cost-inventory-shortcut .quick-icon{
    background:#bbf7d0;
    font-weight:950;
}
.cost-flow-panel{
    border-left:5px solid #16a34a;
}
.cost-flow-steps{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    padding:10px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:8px;
}
.cost-flow-steps span{
    padding:6px 10px;
    border-radius:6px;
    background:#fff;
    border:1px solid #cbd5e1;
    color:#166534;
    font-weight:900;
}
.cost-flow-steps b{
    color:#94a3b8;
}
.cost-inventory-cards .card{
    border-left:4px solid #16a34a;
}
.cost-line-items{
    display:grid;
    gap:8px;
    margin:10px 0;
}
.cost-line-row{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1.5fr;
    gap:8px;
    padding:8px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:8px;
}
.cost-line-row label{
    display:grid;
    gap:4px;
}
.cost-line-row label span{
    font-size:12px;
    color:#475569;
    font-weight:900;
}
.section-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
}
@media(max-width:780px){
    .cost-flow-steps{
        align-items:stretch;
        flex-direction:column;
    }
    .cost-flow-steps b{
        display:none;
    }
    .cost-line-row{
        grid-template-columns:1fr;
    }
}


/* v0.9.91：請款與財務管理核心 */
.nav .finance-billing-shortcut{
    background:#fff7ed;
    color:#c2410c;
    border-color:#fed7aa;
}
.nav .finance-billing-shortcut .quick-icon{
    background:#fed7aa;
    font-weight:950;
}
.finance-flow-panel{
    border-left:5px solid #f97316;
}
.finance-flow-steps{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    padding:10px;
    background:#fff7ed;
    border:1px solid #fed7aa;
    border-radius:8px;
}
.finance-flow-steps span{
    padding:6px 10px;
    border-radius:6px;
    background:#fff;
    border:1px solid #fed7aa;
    color:#c2410c;
    font-weight:900;
}
.finance-flow-steps b{
    color:#fdba74;
}
.finance-cards .card{
    border-left:4px solid #f97316;
}
.finance-cards .card b{
    color:#c2410c;
}
@media(max-width:780px){
    .finance-flow-steps{
        align-items:stretch;
        flex-direction:column;
    }
    .finance-flow-steps b{
        display:none;
    }
}


/* v0.9.92：智慧派工與管理報表核心 */
.nav .smart-dispatch-shortcut{
    background:#eef2ff;
    color:#4338ca;
    border-color:#c7d2fe;
}
.nav .management-report-shortcut{
    background:#fdf2f8;
    color:#be185d;
    border-color:#fbcfe8;
}
.nav .smart-dispatch-shortcut .quick-icon,
.nav .management-report-shortcut .quick-icon{
    font-weight:950;
}
.smart-flow-panel{
    border-left:5px solid #4f46e5;
}
.smart-flow-steps{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    padding:10px;
    background:#eef2ff;
    border:1px solid #c7d2fe;
    border-radius:8px;
}
.smart-flow-steps span{
    padding:6px 10px;
    border-radius:6px;
    background:#fff;
    border:1px solid #c7d2fe;
    color:#4338ca;
    font-weight:900;
}
.smart-flow-steps b{
    color:#a5b4fc;
}
.boss-cards .card{
    border-left:4px solid #be185d;
}
.boss-cards .card b{
    color:#be185d;
}
.print-report{
    background:#fff;
    padding:24px;
}
.print-report table{
    width:100%;
    border-collapse:collapse;
}
.print-report th,.print-report td{
    border:1px solid #cbd5e1;
    padding:8px;
}
@media print{
    .topbar,.nav,.footer,.erp-workbench-strip,.page-head .actions{
        display:none!important;
    }
    .container{
        max-width:none!important;
        padding:0!important;
    }
}
@media(max-width:780px){
    .smart-flow-steps{
        align-items:stretch;
        flex-direction:column;
    }
    .smart-flow-steps b{
        display:none;
    }
}


/* v0.9.93：快捷列收斂與 ERP 完善評估 */
.erp-gap-summary{
    border-left:5px solid #7c3aed;
}
.erp-gap-summary p{
    line-height:1.8;
    color:#334155;
}
.erp-gap-next{
    line-height:1.9;
}
.erp-gap-next b{
    color:#1e3a8a;
}


/* v0.9.94：AI 報價防呆與產品規格理解核心 */
.ai-flow-panel{
    border-left:5px solid #7c3aed;
}
.ai-flow-steps{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    padding:10px;
    background:#f5f3ff;
    border:1px solid #ddd6fe;
    border-radius:8px;
}
.ai-flow-steps span{
    padding:6px 10px;
    border-radius:6px;
    background:#fff;
    border:1px solid #ddd6fe;
    color:#6d28d9;
    font-weight:900;
}
.ai-flow-steps b{
    color:#a78bfa;
}
.ai-quote-cards .card{
    border-left:4px solid #7c3aed;
}
.ai-quote-cards .card b{
    color:#6d28d9;
}
.ai-scan-result{
    border-left:5px solid #f97316;
}
@media(max-width:780px){
    .ai-flow-steps{
        align-items:stretch;
        flex-direction:column;
    }
    .ai-flow-steps b{
        display:none;
    }
}


/* v0.9.95：AI 預估報價草稿 */
.ai-estimator-flow{
    border-left:5px solid #0ea5e9;
}
.ai-estimator-steps{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    padding:10px;
    background:#f0f9ff;
    border:1px solid #bae6fd;
    border-radius:8px;
}
.ai-estimator-steps span{
    padding:6px 10px;
    border-radius:6px;
    background:#fff;
    border:1px solid #bae6fd;
    color:#0369a1;
    font-weight:900;
}
.ai-estimator-steps b{
    color:#7dd3fc;
}
.ai-estimate-result{
    border-left:5px solid #0ea5e9;
}
.ai-estimate-result table input{
    min-width:90px;
}
@media(max-width:780px){
    .ai-estimator-steps{
        align-items:stretch;
        flex-direction:column;
    }
    .ai-estimator-steps b{
        display:none;
    }
}


/* v0.9.96：報價單刪除 / 作廢功能 */
.quote-panel{
    border-left:5px solid #dc2626;
}
.quote-delete-box{
    display:inline-block;
}
.quote-delete-box summary{
    list-style:none;
    cursor:pointer;
}
.quote-delete-box summary::-webkit-details-marker{
    display:none;
}
.quote-delete-box[open]{
    display:block;
    margin-top:8px;
    padding:10px;
    border:1px solid #fecaca;
    background:#fff7f7;
    border-radius:8px;
}
.quote-delete-box[open] summary{
    margin-bottom:8px;
}


/* v0.9.97：AI 預估報價刪除 / 作廢功能 */
.ai-estimate-delete-box{
    display:inline-block;
}
.ai-estimate-delete-box summary{
    list-style:none;
    cursor:pointer;
}
.ai-estimate-delete-box summary::-webkit-details-marker{
    display:none;
}
.ai-estimate-delete-box[open]{
    display:block;
    margin-top:8px;
    padding:10px;
    border:1px solid #fecaca;
    background:#fff7f7;
    border-radius:8px;
}
.ai-estimate-delete-box[open] summary{
    margin-bottom:8px;
}
.ai-estimate-delete-box.compact[open]{
    position:relative;
    min-width:240px;
}


/* v0.9.98：全系統 QA 修正 / 失效連結補齊 */


/* v0.9.99：JSON → MariaDB 遷移準備 */
.mariadb-flow-panel{
    border-left:5px solid #0f766e;
}
.mariadb-flow-steps{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    padding:10px;
    background:#f0fdfa;
    border:1px solid #99f6e4;
    border-radius:8px;
}
.mariadb-flow-steps span{
    padding:6px 10px;
    border-radius:6px;
    background:#fff;
    border:1px solid #99f6e4;
    color:#0f766e;
    font-weight:900;
}
.mariadb-flow-steps b{
    color:#5eead4;
}
.mariadb-cards .card{
    border-left:4px solid #0f766e;
}
.mariadb-group-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:10px;
}
.mariadb-group{
    padding:12px;
    border:1px solid #ccfbf1;
    background:#f8fffd;
    border-radius:10px;
}
.mariadb-group b{
    color:#0f766e;
}
.mariadb-group p{
    line-height:1.7;
    color:#334155;
}
.mariadb-plan{
    line-height:1.9;
}
@media(max-width:780px){
    .mariadb-flow-steps{
        align-items:stretch;
        flex-direction:column;
    }
    .mariadb-flow-steps b{
        display:none;
    }
}


/* v1.0.0：MariaDB 遷移問題自動修復 */
.mariadb-repair-highlight{
    border-left:5px solid #16a34a;
}


/* v1.0.1：全台地址選單 / 地址資料核心 */
.tw-address-picker{
    display:grid;
    grid-template-columns:1fr 1fr 110px auto;
    gap:8px;
    margin:6px 0 8px;
    align-items:center;
}
.tw-address-picker select,
.tw-address-picker input{
    min-height:38px;
}
.tw-address-picker .tw-address-hint{
    grid-column:1 / -1;
    color:#64748b;
}
.address-helper-panel{
    border-left:5px solid #2563eb;
}
.address-cards .card{
    border-left:4px solid #2563eb;
}
@media(max-width:780px){
    .tw-address-picker{
        grid-template-columns:1fr;
    }
}


/* v1.0.2：一般排工 Email 通知修正 */


/* v1.0.3：手動派工通知功能 */
.manual-notify-panel{
    border-left:5px solid #f59e0b;
}
.manual-notify-btn{
    border-color:#f59e0b;
    color:#92400e;
    background:#fffbeb;
}
.manual-notify-form{
    display:inline-block;
    margin:0 4px 4px 0;
}

/* v1.0.4：地址選單誤判修正 */

/* v1.0.5：一般排工刪除功能 */

/* v1.0.6：總覽線上叫修卡片與快捷列重複修正 */


/* v1.0.7：線上叫修快捷列 */
.online-repair-shortcut{
    background:linear-gradient(135deg,#ecfeff,#e0f2fe);
    border-color:#67e8f9;
}
.online-repair-shortcut .quick-icon{
    color:#0369a1;
}

/* v1.0.8：總覽卡片與快捷列去重 */


/* v1.0.9：待辦事項 / 未安排事件紀錄 */
.todo-form-panel{
    border-left:5px solid #22c55e;
}
.todo-filter-panel{
    border-left:5px solid #94a3b8;
}


/* v1.0.10：待辦事項快捷列 */
.todo-shortcut{
    background:linear-gradient(135deg,#f0fdf4,#dcfce7);
    border-color:#86efac;
}
.todo-shortcut .quick-icon{
    color:#15803d;
}


/* v1.0.11：待辦完成動作修正 */
.todo-complete-note{
    color:#15803d;
    font-weight:600;
}

/* v1.0.12：首頁品牌名稱修正 */

/* v1.0.13：首頁簡介文案修正 */

/* v1.0.14：首頁營業項目修正 */

/* v1.0.15：DL 公開下載資料夾 */

/* v1.0.16：DL 下載區密碼保護 */


/* v1.0.17：下載區密碼後台設定 */
.dl-password-panel{border-left:5px solid #2563eb}
.dl-password-panel code{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:2px 6px}


/* v1.0.18：工務案件整合入口 */
.work-order-form-panel{border-left:5px solid #2563eb}
.work-order-filter-panel{border-left:5px solid #14b8a6}
.work-order-type-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.work-order-shortcut{background:linear-gradient(135deg,#eef2ff,#dbeafe);border-color:#93c5fd}
.work-order-shortcut .quick-icon{color:#1d4ed8}

/* v1.0.19：首頁參考弱電通架構優化 */


/* v1.0.20：秸鑫通信行專屬 LOGO */
.logo-brand-mark{
    overflow:hidden;
    background:linear-gradient(135deg,#0f4c81,#19a7ce);
    padding:0;
}
.logo-brand-mark img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.brand-mark.logo-brand-mark{
    border-radius:16px;
    box-shadow:0 12px 30px rgba(15,76,129,.28);
}


/* v1.0.21：秸鑫中文 LOGO 修正 */
.logo-brand-mark img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.logo-box .logo-mark img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}


/* v1.0.22：科技圖形 LOGO */
.logo-brand-mark,
.logo-box .logo-mark{
    overflow:hidden;
}
.logo-brand-mark img,
.logo-box .logo-mark img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.logo-box .logo-mark{
    background:transparent;
    padding:0;
}


/* v1.0.23：高科技感 LOGO 強化 */
.logo-brand-mark,
.logo-box .logo-mark{overflow:hidden;background:transparent;padding:0}
.logo-brand-mark img,
.logo-box .logo-mark img{width:100%;height:100%;display:block;object-fit:cover}
.logo-box .logo-mark{box-shadow:0 14px 34px rgba(6,182,212,.28),0 0 0 1px rgba(125,211,252,.18)}
.brand-mark.logo-brand-mark{box-shadow:0 14px 34px rgba(6,182,212,.22),0 0 0 1px rgba(125,211,252,.15)}

/* v1.0.24：首頁紅框區塊移除 */

/* v1.0.25：首頁產品介紹恢復 */


/* v1.0.26：今日工作台 / 快捷建立優化 */
.today-hero{
    background:linear-gradient(135deg,#07111f,#0f4c81 58%,#0891b2);
}
.today-workbench{
    border-left:6px solid #0891b2;
}
.workbench-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:16px;
}
.workbench-head h2{margin:0 0 6px}
.workbench-date{
    min-width:112px;
    text-align:center;
    border:1px solid #bae6fd;
    background:linear-gradient(135deg,#eff6ff,#ecfeff);
    color:#0f4c81;
    border-radius:18px;
    padding:10px 12px;
    font-size:20px;
    font-weight:950;
}
.workbench-date small{
    display:block;
    color:#0369a1;
    font-size:12px;
    margin-top:2px;
}
.workbench-metrics{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:10px;
    margin:14px 0 16px;
}
.workbench-metric{
    display:block;
    text-decoration:none;
    color:#0f172a;
    border:1px solid #dbeafe;
    border-radius:20px;
    padding:14px;
    background:#fff;
    box-shadow:0 10px 26px rgba(15,23,42,.06);
}
.workbench-metric span{
    display:inline-grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:12px;
    background:#eff6ff;
}
.workbench-metric b{
    display:block;
    font-size:28px;
    margin-top:8px;
    color:#0f4c81;
}
.workbench-metric small{
    display:block;
    color:#64748b;
    font-weight:850;
}
.workbench-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin:14px 0 18px;
}
.workbench-action{
    display:inline-flex;
    align-items:center;
    gap:8px;
    text-decoration:none;
    border:1px solid #cbd5e1;
    background:#fff;
    color:#0f172a;
    border-radius:999px;
    padding:10px 14px;
    font-weight:950;
}
.workbench-action.primary{
    background:#0f4c81;
    color:#fff;
    border-color:#0f4c81;
}
.workbench-grid{
    display:grid;
    grid-template-columns:1.25fr .75fr;
    gap:14px;
}
.workbench-box{
    border:1px solid #e2e8f0;
    border-radius:22px;
    background:#f8fafc;
    padding:16px;
}
.workbench-box h3{
    margin:0 0 12px;
    font-size:18px;
}
.compact-table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    border-radius:16px;
    overflow:hidden;
}
.compact-table th,.compact-table td{
    padding:10px 12px;
    border-bottom:1px solid #e2e8f0;
    vertical-align:top;
}
.compact-table th{
    background:#f1f5f9;
    color:#475569;
    font-size:13px;
}
.mini-empty{
    border:1px dashed #cbd5e1;
    border-radius:16px;
    background:#fff;
    color:#64748b;
    padding:18px;
    line-height:1.7;
}
.reminder-list{
    display:grid;
    gap:9px;
}
.reminder-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:16px;
    padding:12px 14px;
    text-decoration:none;
    color:#0f172a;
    font-weight:900;
}
.reminder-row b{
    min-width:42px;
    text-align:center;
    border-radius:999px;
    background:#eff6ff;
    color:#0f4c81;
    padding:5px 9px;
}
.reminder-row b.warn{
    background:#fff7ed;
    color:#c2410c;
}
@media(max-width:1100px){
    .workbench-metrics{grid-template-columns:repeat(3,1fr)}
    .workbench-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
    .workbench-head{display:block}
    .workbench-date{margin-top:12px;text-align:left}
    .workbench-metrics{grid-template-columns:repeat(2,1fr)}
}


/* v1.0.27：後台功能合併 / 簡約版型 */
.backend-simple-nav{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    padding:10px 18px;
    background:rgba(255,255,255,.96);
    border-bottom:1px solid #e2e8f0;
    box-shadow:0 10px 30px rgba(15,23,42,.05);
}
.backend-simple-nav label{
    font-weight:950;
    color:#0f172a;
    white-space:nowrap;
}
.backend-simple-nav select{
    min-width:260px;
    max-width:460px;
    border:1px solid #cbd5e1;
    background:#fff;
    border-radius:999px;
    padding:9px 14px;
    font-weight:850;
}
.backend-quickline{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.backend-simple-nav .top-quick-link{
    border-radius:999px;
    padding:8px 12px;
    min-height:38px;
    box-shadow:none;
}
.quote-shortcut{
    background:linear-gradient(135deg,#fff7ed,#ffedd5);
    border-color:#fdba74;
}
.billing-shortcut{
    background:linear-gradient(135deg,#f0fdf4,#dcfce7);
    border-color:#86efac;
}
.customer-shortcut{
    background:linear-gradient(135deg,#f8fafc,#e0f2fe);
    border-color:#bae6fd;
}
.dashboard-cards{
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
}
.dashboard-card-with-icon{
    border-radius:22px;
}
.erp-workbench-strip{
    background:#ffffff;
    border:1px solid #e2e8f0;
    box-shadow:0 10px 30px rgba(15,23,42,.05);
}
@media(max-width:760px){
    .backend-simple-nav{display:block}
    .backend-simple-nav label{display:block;margin-bottom:6px}
    .backend-simple-nav select{width:100%;max-width:none}
    .backend-quickline{margin-top:10px}
    .backend-simple-nav .top-quick-link{flex:1 1 auto}
}


/* v1.0.28：下載 ICS 入口恢復 */
.ics-download-shortcut{
    background:linear-gradient(135deg,#f0f9ff,#e0f2fe);
    border-color:#7dd3fc;
}
.ics-download-shortcut .quick-icon{
    color:#0369a1;
}


/* v1.0.29：簽核中心基礎版 */
.approval-panel{border-left:5px solid #f59e0b}
.approval-cards .card b{color:#92400e}
.inline-form input[name="decision_note"]{max-width:160px}


/* v1.0.30：自訂欄位基礎版 */
.custom-field-panel{border-left:5px solid #2563eb}
.custom-field-panel code, .panel code{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:2px 6px}
.check-row{display:flex;gap:8px;align-items:center;font-weight:800}


/* v1.0.31：報表中心強化版 */
.report-center-pro{border-left:6px solid #0f4c81}
.report-pro-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.report-pro-cards .card b{color:#0f4c81}
.mini-report{box-shadow:none}
.report-kpi-row{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin-top:14px;
}
.report-kpi-row div{
    border:1px solid #dbeafe;
    background:linear-gradient(135deg,#f8fafc,#eff6ff);
    border-radius:18px;
    padding:14px;
}
.report-kpi-row b{
    display:block;
    font-size:26px;
    color:#0f4c81;
}
.report-kpi-row span{
    color:#64748b;
    font-weight:850;
}
@media(max-width:680px){.report-kpi-row{grid-template-columns:1fr}}


/* v1.0.32：首頁 AI 小助手基礎版 */
.ai-assistant-admin{border-left:5px solid #06b6d4}


/* v1.0.33：AI 小助手 FAQ 回答擴充 */
.ai-quick{
    max-height:96px;
    overflow:auto;
}
.ai-chat-body{
    max-height:360px;
}


/* v1.0.34：AI 小助手對話 FAQ 蒐整版 */
.ai-quick{
    max-height:126px;
    overflow:auto;
}
.ai-chat-body{
    max-height:380px;
}


/* v1.0.35：收費方式新增現場報價收費 */


/* v1.0.36：工務輸入頁面分開 */
.separate-work-input-panel{border-left:5px solid #0f4c81}
.work-input-tabs{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin:12px 0 18px;
}
.work-input-tabs a{
    text-decoration:none;
    border:1px solid #cbd5e1;
    background:#fff;
    color:#0f172a;
    border-radius:999px;
    padding:9px 13px;
    font-weight:950;
}
.work-input-tabs a.active{
    background:#0f4c81;
    color:#fff;
    border-color:#0f4c81;
}
.work-input-tabs.large a{
    padding:12px 16px;
    border-radius:18px;
}
.readonly-chip{
    display:inline-flex;
    align-items:center;
    min-height:42px;
    border:1px solid #bae6fd;
    background:#f0f9ff;
    color:#075985;
    border-radius:14px;
    padding:9px 12px;
    font-weight:950;
}
.work-input-launcher{
    border-left:5px solid #06b6d4;
}
.work-order-new-shortcut{
    background:linear-gradient(135deg,#ecfeff,#cffafe);
    border-color:#67e8f9;
}


/* v1.0.37：師傅外勤任務流程強化 */
.field-flow-actions label{background:#eef6ff;border-color:#bfdbfe}


/* v1.0.38：異常回報與二次到場 */
.exception-box{border-left:4px solid #f97316;background:#fff7ed}


/* v1.0.39：客戶案件查詢碼 */
.status-card{border:1px solid #dbeafe;background:#f8fafc;border-radius:18px;padding:14px;margin-top:14px}


/* v1.0.40：完工存證強化 */
.signature-box{border:1px solid #dbeafe;background:#f8fafc;border-radius:16px;padding:12px;margin:12px 0}


/* v1.0.41：存證拍照系統提示 */
.evidence-system-prompt{
    border:2px solid #f59e0b;
    background:linear-gradient(135deg,#fffbeb,#fff7ed);
    border-radius:18px;
    padding:14px;
    margin:14px 0;
    box-shadow:0 12px 28px rgba(245,158,11,.12);
}
.evidence-system-prompt .prompt-title{
    font-size:18px;
    font-weight:950;
    color:#92400e;
    margin-bottom:6px;
}
.evidence-system-prompt ul{margin:8px 0 10px 18px;padding:0}
.evidence-system-prompt li{margin:4px 0;color:#7c2d12;font-weight:750}
.evidence-system-prompt .prompt-hint{
    border:1px dashed #f59e0b;
    background:#fff;
    border-radius:14px;
    padding:10px;
    color:#92400e;
    font-weight:900;
}
