﻿/* ==========================================================
   SENPAI 共用樣式
   來源：原系統 app/globals.css 全文（選擇器與數值未變更）
   調整：1. 開頭補上原系統 Tailwind Preflight 會用到的基礎重設
         2. 圖片路徑 /landing-factory.jpg → ../Images/landing-factory.jpg（支援 IIS 虛擬目錄）
         3. 檔尾「WebForms 補充」：隱藏 .aspNetHidden；
            原系統的 <button>／<form> 在 WebForms 改為 <a>／<div> 的元素，複製同樣規則（原規則不動）
   ========================================================== */

/* ---------- 基礎重設（對應 Tailwind Preflight） ---------- */
*,::after,::before{margin:0;padding:0;border:0 solid}
html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
ol,ul,menu{list-style:none}
img,svg,video{display:block;vertical-align:middle}
img,video{max-width:100%;height:auto}
button,input,select,optgroup,textarea{font:inherit;color:inherit;letter-spacing:inherit;background-color:transparent;border-radius:0;opacity:1}
button{cursor:default}
::placeholder{opacity:1;color:color-mix(in oklab,currentColor 50%,transparent)}
table{text-indent:0;border-color:inherit;border-collapse:collapse}

/* ---------- 原系統樣式 ---------- */
:root{--paper:#f5f3ee;--surface:#fff;--ink:#202724;--muted:#727873;--line:#dedbd3;--navy:#25384a;--navy-soft:#e8edf0;--red:#a84a3f;--green:#527568}
.landing-page{position:relative;isolation:isolate;min-height:100vh;display:grid;place-items:center;padding:40px 24px 76px;overflow:hidden;background:#101a24}.landing-backdrop{z-index:-3;object-fit:cover;object-position:center;filter:blur(7px) saturate(.8);transform:scale(1.035)}.landing-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(135deg,rgba(9,20,31,.42),rgba(13,26,39,.18) 48%,rgba(9,20,31,.48)),rgba(18,31,43,.12)}.landing-focus{width:min(88vw,680px);display:grid;justify-items:center;gap:22px;padding:38px 48px 31px;background:rgba(248,249,250,.88);border:1px solid rgba(255,255,255,.7);border-radius:10px;box-shadow:0 22px 80px rgba(4,12,20,.32);backdrop-filter:blur(14px)}.landing-official-logo{display:block;width:min(100%,590px);height:auto;object-fit:contain}.landing-title{margin:-2px 0 2px;color:#1a2c42;font-size:20px;font-weight:700;letter-spacing:.12em}.landing-enter{display:flex;align-items:center;justify-content:space-between;width:min(100%,360px);padding:13px 17px;background:#1a2c42;border-radius:6px;color:#fff;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.04em;transition:background .2s ease,transform .2s ease}.landing-enter:hover{background:#132234;transform:translateY(-1px)}.landing-enter:focus-visible{outline:3px solid rgba(230,57,70,.45);outline-offset:3px}.landing-enter span{font-size:18px}.landing-copyright{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);margin:0;color:rgba(255,255,255,.82);font-size:10px;letter-spacing:.08em;text-shadow:0 1px 8px rgba(0,0,0,.4);white-space:nowrap}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",Arial,sans-serif}.app-shell{min-height:100vh;display:grid;grid-template-columns:232px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:28px 20px 22px;background:#f0eee8;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{display:flex;align-items:center;width:100%;height:50px;color:var(--ink);text-decoration:none;margin:0 0 42px;padding:0 4px}.brand-logo{display:block;object-fit:contain}.brand-logo-full{width:180px;height:50px}.brand-logo-mark{display:none;width:42px;height:42px}.sidebar nav{display:grid;gap:8px}.nav-link{display:flex;align-items:center;gap:12px;padding:11px 12px;color:#606661;border-radius:8px;text-decoration:none;font-size:13px;font-weight:600}.nav-link span{font-family:serif;color:#8a8e89}.nav-link:hover,.nav-link.active{background:var(--surface);color:var(--navy);box-shadow:0 1px 0 rgba(28,35,32,.04)}.nav-link.active span{color:var(--red)}.sidebar-foot{margin-top:auto;display:flex;align-items:center;gap:10px;padding:14px 8px 0;border-top:1px solid var(--line)}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#ddd8ce;font-size:12px}.sidebar-foot strong,.sidebar-foot small{display:block;font-size:12px}.sidebar-foot small{margin-top:2px;color:var(--muted);font-size:10px}.workspace{min-width:0;min-height:100vh;display:flex;flex-direction:column}.topbar{height:108px;padding:24px 44px;display:flex;align-items:center;border-bottom:1px solid var(--line);background:rgba(245,243,238,.9);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.topbar h1{margin:3px 0 0;font-family:Georgia,"Noto Serif TC",serif;font-size:24px;font-weight:500;letter-spacing:.04em}.eyebrow{margin:0;color:#8a8e88;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.top-actions{margin-left:auto;display:flex;gap:10px}.ghost-button,.primary-button,.text-button,.task-list button{border:0;font:inherit;cursor:pointer}.ghost-button,.primary-button{padding:10px 17px;border-radius:6px;font-size:12px;font-weight:700}.ghost-button{background:transparent;border:1px solid #cbc7bd}.primary-button{background:var(--navy);color:#fff}.menu-button{display:none;border:0;background:transparent;font-size:20px;margin-right:12px}.content{width:100%;max-width:1280px;margin:auto;padding:34px 44px 60px;flex:1}.status-banner{display:grid;grid-template-columns:auto 1fr 210px;align-items:center;gap:34px;padding:22px 26px;background:var(--navy);color:white;border-radius:10px}.status-banner>div:first-child{position:relative;padding-left:19px}.status-banner h2{margin:4px 0 0;font-family:Georgia,"Noto Serif TC",serif;font-size:20px;font-weight:500}.status-banner .eyebrow{color:#afbbc3}.status-banner>p{margin:0;color:#dce2e6;font-size:13px}.status-dot{position:absolute;left:0;top:4px;width:7px;height:7px;border-radius:50%;background:#e63946}.progress{height:4px;background:#506170;border-radius:9px;overflow:hidden}.progress span{display:block;height:100%;background:#e2b784}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);margin:30px 0}.metric-grid article{padding:24px 25px;border-right:1px solid var(--line)}.metric-grid article:first-child{padding-left:0}.metric-grid article:last-child{border:0}.metric-grid p{margin:0 0 10px;color:var(--muted);font-size:11px}.metric-grid strong{display:block;font-family:Georgia,serif;font-size:30px;font-weight:500}.metric-grid small{display:block;margin-top:5px;color:#8a8e88;font-size:10px}.metric-grid .positive{color:var(--green)}.two-column{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:20px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:25px}.panel-head{display:flex;align-items:center;margin-bottom:20px}.panel-head h2{margin:5px 0 0;font-family:Georgia,"Noto Serif TC",serif;font-size:20px;font-weight:500}.panel-head .text-button{margin-left:auto;background:transparent;color:var(--navy);font-size:11px}.count{margin-left:auto;width:28px;height:28px;display:grid;place-items:center;background:#eeeae2;border-radius:50%;font-size:11px}.table-row{display:grid;grid-template-columns:1fr 100px 100px 28px;align-items:center;min-height:55px;border-top:1px solid #ebe8e1;font-size:12px}.table-row.table-head{min-height:34px;border:0;color:#8a8e88;font-size:10px}.table-row b{font-family:Georgia,serif;font-size:17px;font-weight:500}.table-row button{border:0;background:transparent;color:#999;font-size:22px}.tag{justify-self:start;padding:5px 8px;border-radius:3px;font-size:10px}.tag.good{background:#e9f0ec;color:#47695c}.tag.calm{background:var(--navy-soft);color:#4d6372}.tag.warn{background:#f5e9de;color:#9b5738}.task-list{list-style:none;margin:0;padding:0}.task-list li{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:11px;padding:14px 0;border-top:1px solid #ebe8e1}.task-list li:first-child{border-top:0}.task-icon{width:30px;height:30px;display:grid;place-items:center;background:#edf0ee;color:var(--green);border-radius:50%;font-size:10px;font-weight:700}.task-icon.warn{background:#f5e7df;color:var(--red)}.task-list strong,.task-list small{display:block}.task-list strong{font-size:12px}.task-list small{margin-top:4px;color:#8a8e88;font-size:10px}.task-list button{background:transparent;color:var(--navy);font-size:11px;font-weight:700}
@media(max-width:980px){.app-shell{grid-template-columns:76px 1fr}.sidebar{padding-inline:12px}.brand{justify-content:center;margin-inline:auto}.brand-logo-full{display:none}.brand-logo-mark{display:block}.nav-link:not(.active){font-size:0}.nav-link{justify-content:center}.nav-link span{font-size:13px}.sidebar-foot div{display:none}.two-column{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.metric-grid article:nth-child(2){border-right:0}.metric-grid article:nth-child(3){padding-left:0}}
@media(max-width:640px){.app-shell{display:block}.sidebar{display:none}.topbar{height:88px;padding:18px 20px}.menu-button{display:block}.top-actions .ghost-button{display:none}.content{padding:22px 18px 44px}.status-banner{grid-template-columns:1fr;gap:12px}.status-banner>p{padding-left:19px}.progress{margin-left:19px}.metric-grid{margin:22px 0}.metric-grid article{padding:18px 14px}.metric-grid strong{font-size:25px}.panel{padding:20px 16px}.table-row{grid-template-columns:1fr 64px 82px 18px}.topbar h1{font-size:20px}}
.brand,.nav-link{border:0;font:inherit;text-align:left;cursor:pointer}.top-actions a{text-decoration:none}.mobile-close{display:none}.notice{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:11px 14px;border:1px solid #cad7d1;background:#edf3f0;color:#46665a;border-radius:7px;font-size:12px}.notice button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:17px}.error-state{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding:16px 18px;border:1px solid #e0c0ba;background:#f8eae6;border-radius:8px}.error-state strong{font-size:13px}.error-state p{margin:4px 0 0;color:#915046;font-size:11px}.error-state button{border:1px solid #c7897f;background:#fff6f3;color:#85483f;padding:8px 12px;border-radius:5px;cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skeleton{position:relative;overflow:hidden;background:#e7e3da;border-radius:9px}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:shimmer 1.2s infinite}.skeleton.hero{height:92px}.skeleton-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:28px 0;border-block:1px solid var(--line)}.skeleton.card{height:112px;border-radius:0}.skeleton-columns{display:grid;grid-template-columns:1.35fr .65fr;gap:20px}.panel-skeleton{height:330px}.empty-state{text-align:center;padding:100px 20px}.empty-state>span{display:grid;place-items:center;margin:auto;width:54px;height:54px;border:1px solid var(--line);border-radius:50%;font-family:serif;color:#888}.empty-state h2{margin:20px 0 7px;font-family:Georgia,"Noto Serif TC",serif;font-weight:500}.empty-state p{color:var(--muted);font-size:12px;margin:0 0 20px}.wide-panel{min-height:500px}.formula-note{display:flex;align-items:center;gap:20px;margin-bottom:18px;padding:15px 18px;border-left:3px solid var(--navy);background:#ebeef0}.formula-note strong{font-size:12px;white-space:nowrap}.formula-note p{margin:0;color:#66716f;font-size:11px}.formula-note.danger{border-color:var(--red);background:#f5eae6}.data-table{width:100%}.data-head,.data-row{display:grid;align-items:center;column-gap:14px}.data-head{min-height:36px;color:#8a8e88;font-size:10px;border-bottom:1px solid var(--line)}.data-row{min-height:62px;border-bottom:1px solid #ebe8e1;font-size:12px}.data-row:last-child{border-bottom:0}.data-row b,.data-row small{display:block}.data-row small{margin-top:4px;color:#8a8e88;font-size:10px}.data-row i{font-style:normal}.people-table .data-head,.people-table .data-row{grid-template-columns:1.4fr 70px 90px 110px}.people-table.detailed .data-head,.people-table.detailed .data-row{grid-template-columns:1.4fr 90px 90px 70px 90px 110px}.score-value{font-family:Georgia,serif;font-size:18px}.daily-table .data-head,.daily-table .data-row{grid-template-columns:120px 120px minmax(180px,1.2fr) 110px minmax(160px,1fr)}.event-table .data-head,.event-table .data-row{grid-template-columns:100px 130px minmax(200px,1fr) 70px 90px}.bonus-table .data-head,.bonus-table .data-row{grid-template-columns:55px 1.2fr 85px 95px 110px 120px}.data-row select,.filter-row select,.filter-row input{width:100%;border:1px solid #d8d3c9;background:#faf9f6;border-radius:5px;padding:8px;color:var(--ink);font:inherit}.muted{color:#999}.negative{color:var(--red);font-weight:700}.filter-row{display:grid;grid-template-columns:160px 150px 1fr;align-items:end;gap:12px;margin:0 0 18px;padding:14px 16px;background:#f7f5f1;border-radius:7px}.filter-row label{display:grid;gap:5px;color:#777;font-size:10px}.filter-row p{margin:0 0 8px;text-align:right;color:#888;font-size:10px}.weight-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:16px}.weight-grid article{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;background:#ece9e2;border-radius:7px}.weight-grid b{font-size:10px}.weight-grid strong{font-family:Georgia,serif;font-size:19px;color:var(--navy)}.review-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.review-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0;border-top:1px solid #ebe8e1}.review-card:first-of-type{border-top:0}.review-card h3{margin:11px 0 5px;font-size:13px}.review-card p{margin:0;color:#888;font-size:10px}.review-actions{display:flex;gap:8px}.timeline{list-style:none;padding:0;margin:0}.timeline li{position:relative;display:flex;align-items:center;gap:12px;padding:10px 0}.timeline li:before{content:"";position:absolute;left:14px;top:39px;width:1px;height:16px;background:#d9d5cc}.timeline li:last-child:before{display:none}.timeline li>span{position:relative;z-index:1;width:29px;height:29px;display:grid;place-items:center;border:1px solid #d3cec4;border-radius:50%;background:white;color:#999;font-size:10px}.timeline li.done>span{background:var(--green);border-color:var(--green);color:white}.timeline li.current>span{border-color:var(--red);color:var(--red)}.timeline strong,.timeline small{display:block;font-size:11px}.timeline small{margin-top:3px;color:#999;font-size:9px}.bonus-hero{display:grid;grid-template-columns:1fr 260px;align-items:center;gap:30px;margin-bottom:20px;padding:28px 30px;background:var(--navy);color:white;border-radius:10px}.bonus-hero h2{margin:6px 0 0;font-family:Georgia,serif;font-size:30px;font-weight:500}.bonus-hero h2 small{color:#b8c2c9;font-size:14px}.bonus-hero>div:last-child>strong{display:block;text-align:right;font-family:Georgia,serif;font-size:22px;margin-bottom:8px}.bonus-hero.over{background:var(--red)}.calculation{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line);color:#777;font-size:10px}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.setting-block{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-top:1px solid #ebe8e1;font-size:11px}.setting-block span{color:#777}.accent-panel{border-top:3px solid var(--red)}.accent-panel h3{margin:18px 0 8px;font-size:16px}.accent-panel p{color:#707671;font-size:11px;line-height:1.8;margin:0 0 18px}.role-panel{grid-column:1/-1}.role-panel ul{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;list-style:none;padding:0;margin:0}.role-panel li{padding:13px;background:#f5f3ee;border-radius:6px;font-size:11px}.role-panel li span{color:var(--green);margin-right:8px}.audit-list article{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:10px;padding:15px 0;border-bottom:1px solid #ebe8e1}.audit-mark{width:7px;height:7px;border-radius:50%;background:var(--green)}.audit-list strong{font-size:12px}.audit-list p{margin:4px 0 0;color:#888;font-size:10px}.audit-list time{color:#999;font-size:10px}
.upload-panel{grid-column:1/-1}.upload-target{display:flex;align-items:center;gap:14px;padding:20px;border:1px dashed #c9c3b8;border-radius:7px;background:#faf9f6;cursor:pointer}.upload-target input{position:absolute;width:1px;height:1px;opacity:0}.upload-target>span{padding:9px 14px;background:var(--navy);color:white;border-radius:5px;font-size:11px;font-weight:700}.upload-target small{color:#777;font-size:10px}.upload-progress{height:5px;margin-top:12px;background:#e3dfd7;border-radius:10px;overflow:hidden}.upload-progress span{display:block;height:100%;background:var(--green);transition:width .18s ease}
.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(29,35,33,.35);backdrop-filter:blur(3px)}.modal{width:min(460px,100%);padding:26px;background:white;border-radius:10px;box-shadow:0 22px 70px rgba(0,0,0,.18)}.modal h2{margin:6px 0 4px;font-family:Georgia,"Noto Serif TC",serif;font-size:22px;font-weight:500}.modal>p:not(.eyebrow){margin:0 0 20px;color:#777;font-size:11px}.modal label{display:grid;gap:7px;color:#555;font-size:11px}.modal textarea{min-height:110px;resize:vertical;border:1px solid #d5d0c7;border-radius:6px;padding:11px;font:inherit;line-height:1.6}.modal textarea:focus{outline:2px solid #9aabb7;outline-offset:1px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.import-confirm{display:flex;align-items:center;justify-content:space-between;margin-top:13px;padding:12px 14px;background:#edf3f0;border-radius:6px;color:#4f6a60;font-size:11px}.import-errors{margin:12px 0 0;padding:12px 12px 12px 30px;background:#f8eae6;color:#904e45;border-radius:6px;font-size:10px;line-height:1.8}
.panel,.two-column,.data-table{min-width:0}.data-table{max-width:100%}
.site-footer{display:flex;justify-content:space-between;gap:16px;padding:18px 44px;border-top:1px solid var(--line);color:#7d837f;font-size:10px;letter-spacing:.04em}.site-footer span:last-child{letter-spacing:.12em;text-transform:uppercase}
@keyframes shimmer{100%{transform:translateX(100%)}}
@media(max-width:980px){.skeleton-columns,.review-grid{grid-template-columns:1fr}.weight-grid{grid-template-columns:repeat(3,1fr)}.settings-grid{grid-template-columns:1fr}.role-panel{grid-column:auto}.role-panel ul{grid-template-columns:repeat(2,1fr)}.data-table{overflow-x:auto;display:block}.data-head,.data-row{min-width:760px}.people-table:not(.detailed) .data-head,.people-table:not(.detailed) .data-row{min-width:560px}}
@media(max-width:640px){.mobile-close{display:block;position:absolute;right:15px;top:15px;border:0;background:transparent;font-size:22px}.sidebar.open{display:flex;position:fixed;inset:0 auto 0 0;width:260px;z-index:50;box-shadow:20px 0 60px rgba(0,0,0,.18)}.sidebar.open .brand{justify-content:flex-start;margin-left:0}.sidebar.open .brand-logo-full{display:block}.sidebar.open .brand-logo-mark{display:none}.sidebar.open .nav-link{justify-content:flex-start;font-size:13px}.top-actions .primary-button{padding:9px 11px}.skeleton-grid{grid-template-columns:repeat(2,1fr)}.skeleton-columns{grid-template-columns:1fr}.weight-grid{grid-template-columns:repeat(2,1fr)}.filter-row{grid-template-columns:1fr 1fr}.filter-row p{grid-column:1/-1;text-align:left}.bonus-hero{grid-template-columns:1fr;padding:22px}.bonus-hero>div:last-child>strong{text-align:left}.role-panel ul{grid-template-columns:1fr}.review-card{align-items:flex-start;flex-direction:column}.topbar .eyebrow{max-width:130px;overflow:hidden;white-space:nowrap}.site-footer{padding:16px 18px;flex-direction:column;gap:5px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.skeleton:after{animation:none}}
@media(max-width:480px){.landing-page{padding:28px 16px 68px}.landing-backdrop{object-position:53% center;filter:blur(6px) saturate(.78);transform:scale(1.06)}.landing-shade{background:rgba(9,20,31,.4)}.landing-focus{width:100%;gap:18px;padding:28px 20px 24px;background:rgba(248,249,250,.9)}.landing-official-logo{width:min(100%,430px)}.landing-title{font-size:17px}.landing-enter{width:100%;padding:13px 15px}.landing-copyright{bottom:20px}}

/* Full front-office / administration architecture */
.sidebar{overflow:hidden}.sidebar nav{overflow-y:auto;padding-right:3px}.nav-section{margin:18px 10px 4px;color:#929790;font-size:9px;font-weight:800;letter-spacing:.18em}.nav-section:first-child{margin-top:0}.mobile-module,.mobile-bottom-nav{display:none}.admin-context{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;margin-bottom:20px;padding:19px 22px;border-radius:10px;background:#172f46;color:#fff}.admin-context span,.admin-context strong{display:block}.admin-context span{font-size:9px;letter-spacing:.17em;color:#b5c2cd}.admin-context strong{margin-top:4px;font-size:21px}.admin-context p{margin:0;color:#d7e0e6;font-size:12px}.admin-context i{font-style:normal;font-size:10px;color:#fff;padding:7px 10px;border:1px solid #657789;border-radius:999px}.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.admin-metrics article{padding:19px 20px;border:1px solid var(--line);border-radius:9px;background:#fff}.admin-metrics span,.admin-metrics strong,.admin-metrics small{display:block}.admin-metrics span{color:#747d77;font-size:10px}.admin-metrics strong{margin:7px 0 5px;color:var(--navy);font:500 28px Georgia,serif}.admin-metrics small{color:#929791;font-size:9px}.admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-span{grid-column:1/-1}.panel-count{margin-left:auto;min-width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#eeeae2;font-size:10px}.architecture{display:grid;gap:9px}.architecture>div{padding:14px 16px;border:1px solid #dfe3e4;border-radius:7px;background:#f8fafb}.architecture b,.architecture span{display:block}.architecture b{font-size:12px}.architecture span{margin-top:5px;color:#6e7773;font-size:10px}.architecture>i{text-align:center;color:#a7ada8;font-style:normal}.health-list{list-style:none;margin:0;padding:0}.health-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid #ebe8e1;font-size:11px}.health-list li:first-child{border:0}.health-list b,.health-list small{display:block}.health-list small{margin-top:4px;color:#8a8e88}.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.admin-form label,.admin-record label,.admin-add label,.workflow-row label{display:grid;gap:5px;color:#6f7772;font-size:10px}.admin-form input,.admin-form select,.admin-record input,.admin-record select,.admin-add input,.admin-add select,.workflow-row input,.workflow-row select,.admin-form-row input,.access-row select,.admin-toolbar select{min-width:0;min-height:42px;padding:9px 10px;border:1px solid #d6d2c9;border-radius:6px;background:#fff;color:var(--ink);font:inherit}.admin-form .primary-button{grid-column:1/-1;min-height:44px}.admin-form-row{display:grid;grid-template-columns:1.2fr 90px 90px 64px;gap:8px;padding:9px 0;border-top:1px solid #ebe8e1}.admin-form-row button,.admin-record button,.admin-add button,.workflow-row button,.access-row button,.integration-grid button,.permission-row button{min-height:40px;padding:8px 11px;border:1px solid #c8c4bb;border-radius:6px;background:#fff;color:var(--navy);font-weight:700;cursor:pointer}.admin-card-list{display:grid;gap:10px}.admin-record{display:grid;grid-template-columns:1.15fr 1fr 120px 120px 80px 64px;align-items:end;gap:9px;padding:13px;border:1px solid #e2ded6;border-radius:8px;background:#faf9f6}.admin-record>div small{display:block;margin-bottom:5px;color:#929791;font-size:9px}.admin-record>div input{width:100%}.check-label{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:7px!important;min-height:42px}.check-label input{min-height:auto!important;width:18px;height:18px}.kpi-record{grid-template-columns:110px 1fr minmax(220px,1.6fr) 80px 100px 90px 90px 70px 64px}.wide-field{min-width:0}.admin-add{display:grid;grid-template-columns:90px 110px 1fr 76px 100px 90px 90px 72px;align-items:center;gap:8px;margin-top:16px;padding:14px;border:1px dashed #bfc7cb;border-radius:8px;background:#f1f5f6}.admin-add strong{font-size:11px}.admin-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;align-items:end;gap:14px;margin-bottom:18px;padding:16px 18px;border:1px solid var(--line);border-radius:9px;background:#fff}.admin-toolbar label{display:grid;gap:5px;color:#717a75;font-size:10px}.admin-toolbar div span,.admin-toolbar div strong{display:block}.admin-toolbar div span{font-size:9px;color:#8a8e88}.admin-toolbar div strong{margin-top:5px;font-size:20px}.ok-text{color:var(--green)}.bad-text{color:var(--red)}.admin-help{margin:-8px 0 18px;color:#737b76;font-size:11px;line-height:1.7}.workflow-list{display:grid;gap:10px}.workflow-row{display:grid;grid-template-columns:38px minmax(170px,1fr) 150px 100px 90px 64px;align-items:end;gap:10px;padding:13px;border:1px solid #e2ded6;border-radius:8px}.workflow-row>i{align-self:center;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-style:normal}.access-row{display:grid;grid-template-columns:minmax(200px,1fr) 160px 140px 64px;align-items:center;gap:10px;padding:12px;border:1px solid #e2ded6;border-radius:8px}.access-row b,.access-row small{display:block}.access-row small{margin-top:4px;color:#8a8e88;font-size:9px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.permission-head{display:none}.permission-row{display:grid;grid-template-columns:minmax(140px,1fr) 42px 42px 42px 58px;align-items:center;gap:6px;padding:10px 11px;border:1px solid #e2ded6;border-radius:7px}.permission-row b{font-size:10px}.permission-row small{display:block;margin-top:3px;color:#8a8e88}.permission-row input{width:18px;height:18px}.integration-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.integration-grid article{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:10px;padding:15px;border:1px solid #e2ded6;border-radius:8px}.integration-grid article>button{grid-column:2/-1}.integration-grid h3{margin:4px 0;font-size:13px}.integration-grid p,.integration-grid small{margin:0;color:#808782;font-size:9px}.status-light{width:9px;height:9px;border-radius:50%;background:#c08b3d}.status-light.ok{background:#3d8768}.admin-error{padding:50px;text-align:center}.admin-error p{color:#777}.admin-error h2{font-family:Georgia,serif}.primary-button:disabled,.admin-record button:disabled,.workflow-row button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:1100px){.admin-record,.kpi-record{grid-template-columns:repeat(3,1fr)}.admin-record>div,.kpi-record .wide-field{grid-column:span 2}.permission-grid{grid-template-columns:1fr}.admin-add{grid-template-columns:repeat(3,1fr)}.admin-add input:nth-of-type(3){grid-column:span 2}.admin-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){body{padding-bottom:76px}.topbar{height:auto;min-height:112px;display:grid;grid-template-columns:1fr;gap:9px;padding:11px 13px;background:#fff;border-bottom:2px solid #cbd2d8}.topbar>div:first-child{display:flex;align-items:center;justify-content:space-between}.topbar .eyebrow{display:none}.topbar h1{font-family:inherit;font-size:20px;font-weight:900}.top-actions{display:none}.mobile-module{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;color:#263b4a;font-size:14px;font-weight:900}.mobile-module select{min-height:48px;padding:9px 38px 9px 12px;border:2px solid var(--navy);border-radius:8px;background:#fff;color:var(--navy);font-size:16px;font-weight:900}.mobile-bottom-nav{position:fixed;z-index:70;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,1fr);padding:6px 5px calc(6px + env(safe-area-inset-bottom));background:#fff;border-top:2px solid #aeb9c2;box-shadow:0 -4px 14px #1725361f}.mobile-bottom-nav button{display:grid;place-items:center;gap:2px;min-height:58px;border:0;border-radius:8px;background:transparent;color:#4a5963;font-size:11px;font-weight:800}.mobile-bottom-nav i{font-size:18px;font-style:normal}.mobile-bottom-nav button.active{background:#dfe8ee;color:#10283f}.mobile-bottom-nav button.active i{color:var(--red)}.content{padding:14px 10px 28px}.admin-context{grid-template-columns:1fr auto;gap:9px;padding:16px}.admin-context p{grid-column:1/-1;font-size:11px;line-height:1.6}.admin-context i{font-size:9px}.admin-metrics{grid-template-columns:1fr 1fr;gap:8px}.admin-metrics article{padding:14px}.admin-metrics strong{font-size:23px}.admin-columns{grid-template-columns:1fr;gap:12px}.admin-span{grid-column:auto}.panel{padding:16px 13px}.admin-form{grid-template-columns:1fr}.admin-form .primary-button{grid-column:auto}.admin-form-row{grid-template-columns:1fr 1fr}.admin-form-row input:first-child{grid-column:1/-1}.admin-record,.kpi-record{grid-template-columns:1fr 1fr;padding:13px}.admin-record>div,.kpi-record .wide-field{grid-column:1/-1}.admin-record input,.admin-record select,.admin-add input,.admin-add select,.workflow-row input,.workflow-row select,.access-row select{min-height:48px;font-size:16px}.admin-add{grid-template-columns:1fr 1fr}.admin-add strong,.admin-add input:nth-of-type(3){grid-column:1/-1}.admin-toolbar{grid-template-columns:1fr}.workflow-row{grid-template-columns:38px 1fr}.workflow-row label,.workflow-row button{grid-column:2}.access-row{grid-template-columns:1fr}.access-row select,.access-row button{min-height:48px}.integration-grid{grid-template-columns:1fr}.permission-row{grid-template-columns:minmax(120px,1fr) 38px 38px 38px 58px}.site-footer{padding-bottom:20px}}
.assessment-editor{display:grid;gap:10px}.assessment-editor form{display:grid;grid-template-columns:minmax(150px,1.2fr) 105px 105px 105px 90px 92px;align-items:end;gap:10px;padding:13px;border:1px solid #e2ded6;border-radius:8px}.assessment-editor b,.assessment-editor small{display:block}.assessment-editor small{margin-top:4px;color:#818883;font-size:9px}.assessment-editor label,.event-create label{display:grid;gap:5px;color:#707873;font-size:10px}.assessment-editor input,.event-create input,.event-create select{min-height:42px;padding:9px;border:1px solid #d6d2c9;border-radius:6px;background:#fff;font:inherit}.assessment-editor form>span strong{font:500 20px Georgia,serif}.event-create{margin-bottom:18px}.event-create form{display:grid;grid-template-columns:1.1fr 140px 140px 100px minmax(220px,1.5fr) 130px 130px;align-items:end;gap:10px}.event-description{min-width:0}
@media(max-width:900px){.assessment-editor form{grid-template-columns:repeat(3,1fr)}.assessment-editor form>div{grid-column:1/-1}.event-create form{grid-template-columns:repeat(2,1fr)}.event-description{grid-column:1/-1}}
@media(max-width:640px){.assessment-editor form{grid-template-columns:1fr 1fr}.assessment-editor form>div{grid-column:1/-1}.assessment-editor input,.event-create input,.event-create select{min-height:48px;font-size:16px}.assessment-editor form>button{grid-column:1/-1;min-height:50px}.event-create form{grid-template-columns:1fr}.event-description{grid-column:auto}.event-create .check-label{min-height:48px}}
@media(max-width:640px){.daily-table{display:block;overflow:visible}.daily-table .data-head{display:none}.daily-table .data-row{display:grid;grid-template-columns:1fr 1fr;gap:13px;min-width:0;min-height:0;margin-bottom:12px;padding:15px;border:2px solid #c2ccd3;border-radius:9px;background:#fff}.daily-table .data-row>span{min-width:0}.daily-table .data-row>span::before{display:block;margin-bottom:6px;color:#65727b;font-size:11px;font-weight:900}.daily-table .data-row>span:nth-child(1)::before{content:"日期／單位"}.daily-table .data-row>span:nth-child(2)::before{content:"主管"}.daily-table .data-row>span:nth-child(3){grid-column:1/-1}.daily-table .data-row>span:nth-child(3)::before{content:"檢核項目"}.daily-table .data-row>span:nth-child(4)::before{content:"結果"}.daily-table .data-row>span:nth-child(5)::before{content:"說明"}.daily-table .data-row b{font-size:17px}.daily-table .data-row small{font-size:12px}.daily-table .data-row select{min-height:54px;width:100%;font-size:17px;font-weight:900;border:2px solid var(--navy);background:#fff}.filter-row{padding:14px}.filter-row input,.filter-row select{min-height:48px;font-size:16px}}

/* AI task remote / quick-entry experience */
.quick-shell{min-height:100vh;background:#f6f4ef;color:var(--ink)}
.quick-header{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:190px 1fr auto;align-items:center;gap:20px;min-height:78px;padding:12px max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid #dedbd3;background:rgba(250,249,246,.96);backdrop-filter:blur(12px)}
.quick-brand{width:180px;height:52px;padding:0;border:0;background:transparent;cursor:pointer}.quick-brand img{width:180px;height:52px;object-fit:contain}
.quick-mode{padding-left:20px;border-left:1px solid #d7d4cc}.quick-mode span,.quick-mode small{display:block}.quick-mode span{font-size:13px;font-weight:900;color:var(--navy)}.quick-mode small{margin-top:3px;color:#8b918c;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.system-switch,.quick-return,.sidebar-mode-switch{border:0;cursor:pointer}.system-switch{display:flex;align-items:center;gap:24px;min-height:48px;padding:0 16px;border:1px solid #c9c5bb;border-radius:8px;background:#fff;color:var(--navy);font-size:12px;font-weight:800}.system-switch i{font-style:normal;font-size:18px}
.quick-content{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:42px 0 64px}.quick-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.quick-welcome p{margin:0 0 7px;color:var(--red);font-size:10px;font-weight:900;letter-spacing:.12em}.quick-welcome h1{margin:0;color:#172f46;font:500 clamp(27px,3vw,40px) Georgia,"Noto Serif TC",serif}.quick-welcome span{display:block;margin-top:10px;color:#727b76;font-size:13px}.quick-welcome>i{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#e7e2d8;color:#172f46;font:500 22px Georgia,serif}
.ai-remote{padding:28px;border-radius:16px;background:#172f46;color:#fff;box-shadow:0 14px 40px rgba(23,47,70,.14)}.ai-label{display:flex;align-items:center;gap:14px}.ai-label>b{width:43px;height:43px;display:grid;place-items:center;border:1px solid #718393;border-radius:11px;background:#243f58;color:#fff;font-size:13px}.ai-label h2{margin:0;font-size:18px}.ai-label p{margin:5px 0 0;color:#c5d0d7;font-size:11px}.ai-input{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin-top:22px}.ai-input input{min-width:0;min-height:58px;padding:0 18px;border:2px solid transparent;border-radius:9px;background:#fff;color:#1f2d38;font:inherit;font-size:16px}.ai-input input:focus{outline:0;border-color:#efb1a9}.voice-button,.guide-button{min-height:58px;padding:0 18px;border:0;border-radius:9px;font:inherit;font-size:13px;font-weight:900;cursor:pointer}.voice-button{background:#dfe7eb;color:#173047}.voice-button.listening{background:#f4d9d5;color:#9b3f35}.guide-button{background:#e63946;color:#fff}.prompt-chips{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:13px}.prompt-chips span{color:#aebcc6;font-size:9px}.prompt-chips button{padding:7px 10px;border:1px solid #506579;border-radius:999px;background:transparent;color:#e4eaee;font-size:10px;cursor:pointer}
.ai-answer{display:grid;grid-template-columns:42px 1fr auto;align-items:start;gap:15px;margin-top:20px;padding:20px;border-radius:11px;background:#fff;color:#26332f}.ai-answer-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:9px;background:#f0e5df;color:#b34b40;font-family:serif;font-weight:900}.ai-answer small{color:#9a5048;font-size:9px;font-weight:900;letter-spacing:.1em}.ai-answer h3{margin:4px 0 6px;font-size:18px}.ai-answer p{margin:0;color:#68716c;font-size:11px}.ai-answer ol{display:flex;flex-wrap:wrap;gap:18px;margin:12px 0 0;padding:0;list-style:none;counter-reset:steps}.ai-answer li{color:#4d5c56;font-size:10px;counter-increment:steps}.ai-answer li:before{content:counter(steps);display:inline-grid;place-items:center;width:18px;height:18px;margin-right:6px;border-radius:50%;background:#e8ece9;color:#38534a;font-size:9px}.ai-answer>button{align-self:center;min-height:48px;padding:0 16px;border:0;border-radius:7px;background:#172f46;color:#fff;font-weight:900;cursor:pointer}.ai-answer>button span{margin-left:12px}
.quick-section{margin-top:34px}.quick-section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:15px}.quick-section-head p{margin:0 0 5px;color:#a24c42;font-size:9px;font-weight:900;letter-spacing:.17em}.quick-section-head h2{margin:0;color:#172f46;font:500 24px Georgia,"Noto Serif TC",serif}.quick-section-head>span{padding:6px 10px;border-radius:999px;background:#e7e3da;color:#59625d;font-size:10px}
.quick-task-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-task-grid>button{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;min-height:112px;padding:18px;border:1px solid #d9d5cc;border-radius:12px;background:#fff;color:inherit;text-align:left;cursor:pointer;transition:transform .15s ease,border-color .15s ease}.quick-task-grid>button:hover,.remote-grid>button:hover{transform:translateY(-2px);border-color:#9eabb4}.quick-task-grid>button>i{width:48px;height:48px;display:grid;place-items:center;border-radius:10px;background:#e8edf0;color:#173047;font-style:normal;font-weight:900}.quick-task-grid em,.quick-task-grid strong,.quick-task-grid small{display:block}.quick-task-grid em{margin-bottom:5px;color:#a44b40;font-size:9px;font-style:normal;font-weight:900}.quick-task-grid strong{font-size:14px}.quick-task-grid small{margin-top:5px;color:#7c837f;font-size:10px}.quick-task-grid>button>b{color:#8a949b;font-size:18px}
.remote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.remote-grid>button{position:relative;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;min-height:88px;padding:15px;border:1px solid #d9d5cc;border-radius:11px;background:#fff;color:inherit;text-align:left;cursor:pointer;transition:transform .15s ease,border-color .15s ease}.remote-grid i{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#f0ede6;color:#172f46;font-style:normal;font-weight:900}.remote-grid strong,.remote-grid small{display:block}.remote-grid strong{font-size:13px}.remote-grid small{margin-top:4px;color:#7e8580;font-size:9px}.remote-grid>button>span{color:#9da39f}.quick-trust{margin-top:28px;padding:18px 20px;border-left:4px solid #527568;background:#e9efeb}.quick-trust strong{font-size:12px}.quick-trust p{margin:5px 0 0;color:#63716a;font-size:10px;line-height:1.7}.quick-footer{display:flex;justify-content:space-between;align-items:center;width:min(1180px,calc(100% - 48px));margin:0 auto;padding:20px 0 30px;border-top:1px solid #d9d5cc;color:#7d837f;font-size:10px}.quick-footer button{border:0;background:transparent;color:#172f46;font-size:10px;font-weight:900;cursor:pointer}
.sidebar-mode-switch{display:flex;align-items:center;gap:9px;width:100%;margin:-26px 0 18px;padding:9px;border-radius:8px;background:#172f46;color:#fff;text-align:left}.sidebar-mode-switch>span{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;background:#e63946;font-family:serif;font-weight:900}.sidebar-mode-switch b,.sidebar-mode-switch small{display:block}.sidebar-mode-switch b{font-size:11px}.sidebar-mode-switch small{margin-top:2px;color:#b8c5cf;font-size:8px}.quick-return{min-height:38px;padding:0 13px;border-radius:6px;background:#dfe8ee;color:#173047;font-size:11px;font-weight:900}.guide-strip{display:grid;grid-template-columns:minmax(200px,.8fr) minmax(420px,1.5fr) auto;align-items:center;gap:22px;margin-bottom:18px;padding:16px 18px;border:2px solid #91a6b5;border-radius:10px;background:#edf3f6}.guide-strip span,.guide-strip strong,.guide-strip p{display:block}.guide-strip span{color:#a54a40;font-size:9px;font-weight:900;letter-spacing:.1em}.guide-strip strong{margin-top:4px;font-size:16px}.guide-strip p{margin:4px 0 0;color:#68756e;font-size:10px}.guide-strip ol{display:flex;gap:14px;margin:0;padding:0;list-style:none}.guide-strip li{display:flex;align-items:center;gap:6px;font-size:10px}.guide-strip li i{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#172f46;color:#fff;font-style:normal;font-size:9px}.guide-strip>button{padding:8px 10px;border:1px solid #a7b2b9;border-radius:6px;background:#fff;color:#172f46;font-size:10px;font-weight:900;cursor:pointer}
@media(max-width:980px){.quick-header{padding-inline:24px}.quick-content,.quick-footer{width:calc(100% - 40px)}.remote-grid{grid-template-columns:repeat(2,1fr)}.guide-strip{grid-template-columns:1fr auto}.guide-strip ol{grid-column:1/-1;order:3}.sidebar-mode-switch{justify-content:center}.sidebar-mode-switch div{display:none}.sidebar-mode-switch>span{width:34px;height:34px}.top-actions .quick-return{display:none}}
@media(max-width:640px){.quick-shell{margin-bottom:-76px;padding-bottom:76px}.quick-header{grid-template-columns:118px 1fr auto;gap:8px;min-height:68px;padding:8px 12px}.quick-brand,.quick-brand img{width:116px;height:44px}.quick-mode{padding-left:9px}.quick-mode span{font-size:11px}.quick-mode small{display:none}.system-switch{min-height:44px;padding:0 11px}.system-switch span{display:none}.system-switch i{font-size:20px}.quick-content{width:100%;padding:20px 12px 35px}.quick-welcome{align-items:flex-start;margin-bottom:17px}.quick-welcome h1{font-family:inherit;font-size:24px;font-weight:900}.quick-welcome span{font-size:13px;line-height:1.55}.quick-welcome>i{display:none}.ai-remote{padding:18px 14px;border-radius:12px}.ai-label h2{font-size:17px}.ai-label p{font-size:11px;line-height:1.55}.ai-input{grid-template-columns:1fr 72px}.ai-input input{grid-column:1/-1;min-height:58px;font-size:16px}.voice-button,.guide-button{min-height:54px;padding:0 10px}.guide-button{grid-column:auto}.prompt-chips{margin-top:12px}.prompt-chips span{width:100%}.prompt-chips button{min-height:38px;font-size:11px}.ai-answer{grid-template-columns:36px 1fr;padding:15px;gap:10px}.ai-answer-mark{width:34px;height:34px}.ai-answer>button{grid-column:1/-1;min-height:54px;font-size:15px}.ai-answer ol{display:grid;gap:8px}.quick-section{margin-top:25px}.quick-section-head h2{font-family:inherit;font-size:20px;font-weight:900}.quick-task-grid,.remote-grid{grid-template-columns:1fr}.quick-task-grid>button{min-height:104px;padding:15px}.remote-grid>button{min-height:82px}.quick-trust{margin-top:22px}.quick-trust strong{font-size:13px}.quick-trust p{font-size:11px}.quick-footer{width:calc(100% - 24px);padding-bottom:22px}.guide-strip{grid-template-columns:1fr;margin-bottom:12px;padding:14px}.guide-strip ol{display:grid;grid-column:auto;order:initial;gap:8px}.guide-strip>button{min-height:42px}.mobile-bottom-nav .quick-nav{background:#172f46;color:#fff}.mobile-bottom-nav .quick-nav i{color:#fff}}

/* Quick-entry visual redesign: factory context, compact hierarchy, lighter AI console */
.quick-content{padding-top:24px}.quick-hero{position:relative;isolation:isolate;min-height:310px;display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:center;gap:40px;padding:38px 42px 70px;overflow:hidden;border-radius:18px;background:#14283a;color:#fff;box-shadow:0 18px 50px rgba(22,39,53,.16)}
.quick-hero-image{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(90deg,rgba(15,32,47,.97) 0%,rgba(15,32,47,.88) 44%,rgba(15,32,47,.38) 76%,rgba(15,32,47,.62) 100%),url('../Images/landing-factory.jpg');background-size:cover;background-position:center 54%;filter:saturate(.75)}.quick-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 50%,rgba(230,57,70,.12))}
.quick-hero-copy{max-width:650px}.quick-hero-copy>p{margin:0 0 16px;color:#f0a79f;font-size:10px;font-weight:900;letter-spacing:.16em}.quick-hero-copy h1{margin:0;font:500 clamp(30px,3.2vw,46px) Georgia,"Noto Serif TC",serif;line-height:1.25;letter-spacing:.02em}.quick-hero-copy h1 span{color:#fff}.quick-hero-copy>b{display:block;max-width:560px;margin-top:14px;color:#d2dce3;font-size:13px;font-weight:500;line-height:1.8}.hero-status{display:flex;gap:8px;margin-top:21px}.hero-status>span{position:relative;padding:7px 11px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.08);color:#e5ebef;font-size:9px}.hero-status .status-dot{position:static;display:inline-block;margin-right:7px;background:#6ac594;box-shadow:0 0 0 4px rgba(106,197,148,.12)}
.shift-summary{align-self:stretch;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12px;padding:20px;border:1px solid rgba(255,255,255,.3);border-radius:14px;background:rgba(248,249,250,.92);color:#172f46;backdrop-filter:blur(14px);box-shadow:0 12px 35px rgba(0,0,0,.14)}.summary-title{grid-column:1/-1}.summary-title span,.summary-title strong{display:block}.summary-title span{color:#b54d43;font-size:9px;font-weight:900;letter-spacing:.18em}.summary-title strong{margin-top:4px;font-size:14px}.progress-ring{--progress:0deg;width:108px;height:108px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#e63946 var(--progress),#dfe4e5 0)}.progress-ring:before{content:"";grid-area:1/1;width:82px;height:82px;border-radius:50%;background:#f8f9fa}.progress-ring>div{grid-area:1/1;position:relative;text-align:center}.progress-ring strong,.progress-ring small{display:block}.progress-ring strong{font:500 23px Georgia,serif}.progress-ring small{margin-top:2px;color:#79827d;font-size:8px}.summary-counts{display:grid;gap:7px}.summary-counts p{display:flex;align-items:center;justify-content:space-between;margin:0;padding:7px 9px;border-bottom:1px solid #e2e4e2}.summary-counts p:last-child{border:0}.summary-counts strong{font:500 18px Georgia,serif}.summary-counts span{color:#747e78;font-size:9px}
.quick-hero+.ai-remote{position:relative;z-index:2;width:calc(100% - 60px);margin:-48px auto 0;padding:21px 24px 18px;border:1px solid #dedbd3;border-radius:14px;background:#fff;color:#1f2d38;box-shadow:0 16px 45px rgba(25,42,56,.13)}.quick-hero+.ai-remote .ai-label{display:grid;grid-template-columns:40px 1fr auto;gap:12px}.quick-hero+.ai-remote .ai-label>b{width:40px;height:40px;border:0;background:#172f46}.quick-hero+.ai-remote .ai-label p{margin:0 0 3px;color:#ad4a40;font-size:8px;font-weight:900;letter-spacing:.16em}.quick-hero+.ai-remote .ai-label h2{font-size:15px}.quick-hero+.ai-remote .ai-label>span{align-self:center;padding:6px 9px;border-radius:999px;background:#edf2ef;color:#527568;font-size:8px;font-weight:800}.quick-hero+.ai-remote .ai-input{grid-template-columns:1fr 86px 112px;margin-top:14px}.quick-hero+.ai-remote .ai-input input{min-height:54px;border:1px solid #cfd5d7;background:#f8fafb}.quick-hero+.ai-remote .voice-button,.quick-hero+.ai-remote .guide-button{min-height:54px}.quick-hero+.ai-remote .voice-button{background:#e8edef}.quick-hero+.ai-remote .prompt-chips{margin-top:10px}.quick-hero+.ai-remote .prompt-chips>span{color:#8c948f}.quick-hero+.ai-remote .prompt-chips button{display:flex;align-items:center;gap:7px;padding:6px 9px;border-color:#d5d9da;color:#50605a}.quick-hero+.ai-remote .prompt-chips button i{color:#b54b41;font-style:normal}.quick-hero+.ai-remote .ai-answer{border:1px solid #d8e0e2;background:#f7fafb}
.quick-hero~.quick-section,.quick-hero~.quick-trust{margin-right:30px;margin-left:30px}.quick-task-grid>button:first-child{border-left:4px solid #e63946}.remote-grid>button{box-shadow:0 4px 14px rgba(38,48,43,.035)}
@media(max-width:980px){.quick-hero{grid-template-columns:1fr 280px;padding-inline:28px}.shift-summary{padding:16px}.quick-hero-copy h1{font-size:33px}.quick-hero+.ai-remote{width:calc(100% - 32px)}}
@media(max-width:640px){.quick-content{padding:0 0 35px}.quick-hero{min-height:370px;grid-template-columns:1fr;align-content:start;gap:20px;padding:28px 16px 62px;border-radius:0}.quick-hero-image{background-image:linear-gradient(180deg,rgba(15,32,47,.95) 0%,rgba(15,32,47,.77) 58%,rgba(15,32,47,.92) 100%),url('../Images/landing-factory.jpg');background-position:58% center}.quick-hero-copy>p{margin-bottom:12px;font-size:9px}.quick-hero-copy h1{font-family:inherit;font-size:27px;font-weight:900;line-height:1.35}.quick-hero-copy>b{margin-top:10px;font-size:12px}.hero-status{margin-top:14px}.shift-summary{grid-template-columns:1fr 78px;align-self:auto;padding:14px 15px;background:rgba(250,251,252,.94)}.summary-title{grid-column:auto}.summary-title strong{font-size:13px}.progress-ring{grid-column:2;grid-row:1/3;width:72px;height:72px}.progress-ring:before{width:55px;height:55px}.progress-ring strong{font-size:17px}.summary-counts{grid-column:1;grid-row:2;grid-template-columns:repeat(3,1fr);gap:5px}.summary-counts p{display:grid;justify-items:start;gap:2px;padding:5px 7px;border:0;border-radius:6px;background:#edf0f0}.summary-counts strong{font-size:16px}.quick-hero+.ai-remote{width:calc(100% - 24px);margin:-38px auto 0;padding:16px 13px}.quick-hero+.ai-remote .ai-label{grid-template-columns:36px 1fr}.quick-hero+.ai-remote .ai-label>b{width:36px;height:36px}.quick-hero+.ai-remote .ai-label>span{display:none}.quick-hero+.ai-remote .ai-label h2{font-size:15px}.quick-hero+.ai-remote .ai-input{grid-template-columns:1fr 72px;margin-top:12px}.quick-hero+.ai-remote .ai-input input{grid-column:1/-1}.quick-hero+.ai-remote .guide-button{grid-column:auto}.quick-hero~.quick-section,.quick-hero~.quick-trust{margin-right:12px;margin-left:12px}}

/* Friendly mode chooser */
.mode-page{min-height:100vh;padding:0 max(28px,calc((100vw - 1160px)/2));overflow:hidden;background:radial-gradient(circle at 14% 18%,rgba(230,57,70,.07),transparent 26%),radial-gradient(circle at 85% 12%,rgba(37,56,74,.09),transparent 30%),#f6f4ef;color:#172f46}.mode-header{height:84px;display:flex;align-items:center;gap:22px;border-bottom:1px solid #ddd9d0}.mode-header img{width:164px;height:54px;object-fit:contain}.mode-header>div{padding-left:22px;border-left:1px solid #d2cec5}.mode-header span,.mode-header b{display:block}.mode-header span{color:#a54a40;font-size:8px;font-weight:900;letter-spacing:.18em}.mode-header b{margin-top:4px;font-size:11px}.mode-intro{padding:37px 0 25px;text-align:center}.mode-intro p{margin:0 0 10px;color:#a84a3f;font-size:9px;font-weight:900;letter-spacing:.16em}.mode-intro h1{margin:0;font:500 clamp(30px,4vw,44px) Georgia,"Noto Serif TC",serif}.mode-intro>span{display:block;margin-top:10px;color:#737d77;font-size:12px}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mode-card{position:relative;isolation:isolate;min-height:440px;display:flex;flex-direction:column;padding:26px;overflow:hidden;border:1px solid #d7d4cc;border-radius:18px;background:#fff;color:#172f46;text-align:left;cursor:pointer;box-shadow:0 12px 38px rgba(27,42,54,.08);transition:transform .18s ease,box-shadow .18s ease}.mode-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(27,42,54,.14)}.mode-card:focus-visible{outline:4px solid rgba(230,57,70,.3);outline-offset:3px}.mode-card.smart{color:#fff;background:#172f46}.mode-image{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(180deg,rgba(15,32,47,.38),rgba(15,32,47,.96) 76%),url('../Images/landing-factory.jpg');background-size:cover;background-position:center;filter:saturate(.72)}.mode-card.smart:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,rgba(230,57,70,.09),transparent 55%)}.manage-pattern{position:absolute;inset:0;z-index:-2;background:linear-gradient(rgba(37,56,74,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(37,56,74,.045) 1px,transparent 1px),linear-gradient(145deg,#fff,#f0eee8);background-size:58px 58px,58px 58px,100% 100%}.mode-card-top{display:flex;align-items:center;justify-content:space-between}.mode-card-top>span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.14);font-size:9px;font-weight:900}.manage .mode-card-top>span{background:#e7ecee;color:#415b6c}.mode-card-top>i{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:12px;background:rgba(255,255,255,.11);font-style:normal;font-size:12px;font-weight:900}.manage .mode-card-top>i{border-color:#c9d0d3;background:#fff;color:#172f46}.mode-card-copy{margin-top:auto}.mode-card-copy>p{margin:0 0 8px;color:#f1a69d;font-size:9px;font-weight:900;letter-spacing:.16em}.manage .mode-card-copy>p{color:#a64c42}.mode-card-copy h2{margin:0;font:500 34px Georgia,"Noto Serif TC",serif}.mode-card-copy>strong{display:block;max-width:460px;margin-top:10px;color:#d6dfe4;font-size:12px;line-height:1.7}.manage .mode-card-copy>strong{color:#5e6a64}.mode-card-copy ul{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 0;padding:0;list-style:none}.mode-card-copy li{padding:7px 9px;border:1px solid rgba(255,255,255,.22);border-radius:6px;background:rgba(255,255,255,.08);font-size:9px}.manage .mode-card-copy li{border-color:#d3d5d1;background:rgba(255,255,255,.65);color:#59635e}.mode-card-action{display:flex;align-items:center;justify-content:space-between;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.25);font-size:12px;font-weight:900}.manage .mode-card-action{border-color:#d4d3ce}.mode-card-action i{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#e63946;color:#fff;font-style:normal;font-size:18px}.mode-help{display:flex;align-items:center;justify-content:center;gap:10px;margin:18px auto 0;color:#717a75;font-size:10px}.mode-help b{color:#172f46}.mode-footer{display:flex;justify-content:space-between;padding:22px 0;color:#7d837f;font-size:9px;letter-spacing:.05em}.mode-reselect{min-height:38px;padding:0 12px;border:1px solid #c9c5bb;border-radius:6px;background:transparent;color:#59655f;font-size:10px;font-weight:800;cursor:pointer}
@media(max-width:760px){.mode-page{margin-bottom:-76px;padding:0 14px 76px}.mode-header{height:68px}.mode-header img{width:122px;height:46px}.mode-header>div{padding-left:13px}.mode-header b{font-size:9px}.mode-intro{padding:25px 0 19px;text-align:left}.mode-intro h1{font-family:inherit;font-size:27px;font-weight:900;line-height:1.35}.mode-intro>span{font-size:11px;line-height:1.6}.mode-grid{grid-template-columns:1fr;gap:12px}.mode-card{min-height:320px;padding:19px;border-radius:14px}.mode-card-copy h2{font-family:inherit;font-size:27px;font-weight:900}.mode-card-copy ul{display:grid;gap:5px;margin-top:13px}.mode-card-copy li{padding:5px 8px}.mode-card-action{margin-top:15px;padding-top:13px}.mode-help{align-items:flex-start;justify-content:flex-start;padding:13px;border-radius:8px;background:#ebe8e1;line-height:1.5}.mode-footer{flex-direction:column;gap:5px}.top-actions .mode-reselect{display:none}}

/* Test identity sign-in */
.test-login-page{position:relative;min-height:100vh;display:grid;place-items:center;padding:38px 20px 58px;overflow:hidden;background:#162b3e url('../Images/landing-factory.jpg') center/cover fixed;color:#172f46}.test-login-shade{position:absolute;inset:0;background:linear-gradient(115deg,rgba(12,28,42,.94),rgba(18,41,59,.72) 50%,rgba(12,28,42,.9));backdrop-filter:blur(7px)}.test-login-card{position:relative;z-index:1;width:min(920px,100%);padding:28px 32px 24px;border:1px solid rgba(255,255,255,.65);border-radius:20px;background:rgba(248,249,250,.96);box-shadow:0 30px 80px rgba(0,0,0,.3)}.test-login-card>header{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid #dadbd7}.test-login-card>header img{width:170px;height:58px;object-fit:contain}.test-login-card>header div{text-align:right}.test-login-card>header span,.test-login-card>header b{display:block}.test-login-card>header span{color:#b64c43;font-size:9px;font-weight:900;letter-spacing:.16em}.test-login-card>header b{margin-top:4px;font-size:11px}.test-login-copy{padding:24px 0 18px}.test-login-copy p{margin:0 0 7px;color:#b44a41;font-size:9px;font-weight:900;letter-spacing:.15em}.test-login-copy h1{margin:0;font:500 31px Georgia,"Noto Serif TC",serif}.test-login-copy span{display:block;margin-top:8px;color:#6f7974;font-size:11px}.test-account-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.test-account-grid button{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:9px;min-height:67px;padding:9px;border:1px solid #d7d7d2;border-radius:9px;background:#fff;color:#172f46;text-align:left;cursor:pointer}.test-account-grid button.active{border-color:#e63946;box-shadow:0 0 0 2px rgba(230,57,70,.1)}.test-account-grid i{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#e9edef;font-style:normal;font-size:12px;font-weight:900}.test-account-grid button.active i{background:#e63946;color:#fff}.test-account-grid b,.test-account-grid small{display:block}.test-account-grid b{font-size:11px}.test-account-grid small{margin-top:3px;overflow:hidden;color:#808984;font-size:8px;text-overflow:ellipsis}.test-account-grid em{display:none}.test-login-card form{display:grid;grid-template-columns:1fr 1fr 180px;align-items:end;gap:10px;margin-top:18px;padding:18px;border-radius:11px;background:#e9eceb}.test-login-card form label{display:grid;gap:6px;color:#5d6863;font-size:9px;font-weight:800}.test-login-card form input{width:100%;height:48px;padding:0 13px;border:1px solid #cbd0cd;border-radius:7px;background:#fff;color:#172f46;font:inherit;font-size:13px}.test-login-submit{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border:0;border-radius:7px;background:#172f46;color:#fff;font-size:12px;font-weight:900;cursor:pointer}.test-login-submit:disabled{opacity:.6}.test-login-error{grid-column:1/-1;margin:0;padding:9px;border-radius:6px;background:#f6e3e0;color:#9a3f37;font-size:10px}.test-login-card>footer{display:flex;align-items:center;justify-content:space-between;margin-top:18px;color:#717a75;font-size:10px}.test-login-card>footer a{color:#172f46;font-weight:900}.test-login-copyright{position:absolute;z-index:1;bottom:17px;margin:0;color:#d3dce2;font-size:10px;letter-spacing:.08em}.sign-out{margin-left:auto;padding:6px 8px;border:1px solid #d0ccc3;border-radius:5px;color:#6c746f;font-size:9px;text-decoration:none}.sign-out:hover{border-color:#e63946;color:#a43f39}
@media(max-width:760px){.test-login-page{display:block;padding:0;background-attachment:scroll}.test-login-card{min-height:calc(100vh - 38px);padding:18px 14px 24px;border:0;border-radius:0;background:#f8f9fa}.test-login-card>header{padding-bottom:14px}.test-login-card>header img{width:132px;height:48px}.test-login-card>header b{font-size:9px}.test-login-copy{padding:20px 2px 15px}.test-login-copy h1{font-family:inherit;font-size:24px;font-weight:900}.test-login-copy span{line-height:1.6}.test-account-grid{grid-template-columns:1fr 1fr;gap:7px}.test-account-grid button{min-height:62px}.test-account-grid small{font-size:7px}.test-login-card form{grid-template-columns:1fr;margin-top:14px;padding:13px}.test-login-card form input,.test-login-submit{height:52px;font-size:16px}.test-login-card>footer{align-items:flex-start;flex-direction:column;gap:10px}.test-login-copyright{position:relative;z-index:1;padding:12px;text-align:center}.sidebar-foot{gap:8px}.sign-out{padding:8px}}
.normal-login-card{max-width:620px}.normal-login-card .test-login-copy{padding-top:34px}.normal-login-card form{grid-template-columns:1fr;margin-top:12px;padding:22px}.normal-login-card .test-login-submit{margin-top:4px}.normal-login-card>footer{padding-top:2px}
@media(max-width:760px){.normal-login-card{max-width:none}.normal-login-card .test-login-copy{padding-top:34px}.normal-login-card form{margin-top:20px}}

/* ---------- WebForms 補充 ---------- */
.aspNetHidden{display:none}
.primary-button[disabled],.ghost-button[disabled]{opacity:.55;cursor:not-allowed}
/* <button> 預設為 inline-block 且內容置中；改用 <a> 時補上對應的顯示方式 */
a.quick-brand{display:block}
.ai-answer>a{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.guide-strip>a,.prompt-chips a{display:inline-flex;align-items:center;justify-content:center}
.quick-footer a{display:inline-block}
.task-list a{border:0;font:inherit;cursor:pointer}
.task-list a{background:transparent;color:var(--navy);font-size:11px;font-weight:700}
.assessment-editor .assessment-form{display:grid;grid-template-columns:minmax(150px,1.2fr) 105px 105px 105px 90px 92px;align-items:end;gap:10px;padding:13px;border:1px solid #e2ded6;border-radius:8px}
.assessment-editor .assessment-form>span strong{font:500 20px Georgia,serif}
.event-create .event-form{display:grid;grid-template-columns:1.1fr 140px 140px 100px minmax(220px,1.5fr) 130px 130px;align-items:end;gap:10px}
.prompt-chips a{padding:7px 10px;border:1px solid #506579;border-radius:999px;background:transparent;color:#e4eaee;font-size:10px;cursor:pointer}
.ai-answer>a{align-self:center;min-height:48px;padding:0 16px;border:0;border-radius:7px;background:#172f46;color:#fff;font-weight:900;cursor:pointer}
.ai-answer>a span{margin-left:12px}
.quick-task-grid>a{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;min-height:112px;padding:18px;border:1px solid #d9d5cc;border-radius:12px;background:#fff;color:inherit;text-align:left;cursor:pointer;transition:transform .15s ease,border-color .15s ease}
.quick-task-grid>a:hover,.remote-grid>a:hover{transform:translateY(-2px);border-color:#9eabb4}
.quick-task-grid>a>i{width:48px;height:48px;display:grid;place-items:center;border-radius:10px;background:#e8edf0;color:#173047;font-style:normal;font-weight:900}
.quick-task-grid>a>b{color:#8a949b;font-size:18px}
.remote-grid>a{position:relative;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;min-height:88px;padding:15px;border:1px solid #d9d5cc;border-radius:11px;background:#fff;color:inherit;text-align:left;cursor:pointer;transition:transform .15s ease,border-color .15s ease}
.remote-grid>a>span{color:#9da39f}
.quick-footer a{border:0;background:transparent;color:#172f46;font-size:10px;font-weight:900;cursor:pointer}
.guide-strip>a{padding:8px 10px;border:1px solid #a7b2b9;border-radius:6px;background:#fff;color:#172f46;font-size:10px;font-weight:900;cursor:pointer}
.quick-hero+.ai-remote .prompt-chips a{display:flex;align-items:center;gap:7px;padding:6px 9px;border-color:#d5d9da;color:#50605a}
.quick-hero+.ai-remote .prompt-chips a i{color:#b54b41;font-style:normal}
.quick-task-grid>a:first-child{border-left:4px solid #e63946}
.remote-grid>a{box-shadow:0 4px 14px rgba(38,48,43,.035)}
@media(max-width:640px){.mobile-bottom-nav a{display:grid;place-items:center;gap:2px;min-height:58px;border:0;border-radius:8px;background:transparent;color:#4a5963;font-size:11px;font-weight:800}.mobile-bottom-nav a.active{background:#dfe8ee;color:#10283f}.mobile-bottom-nav a.active i{color:var(--red)}}
@media(max-width:900px){.assessment-editor .assessment-form{grid-template-columns:repeat(3,1fr)}.assessment-editor .assessment-form>div{grid-column:1/-1}.event-create .event-form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.assessment-editor .assessment-form{grid-template-columns:1fr 1fr}.assessment-editor .assessment-form>div{grid-column:1/-1}.assessment-editor .assessment-form>.primary-button{grid-column:1/-1;min-height:50px}.event-create .event-form{grid-template-columns:1fr}}
@media(max-width:640px){.prompt-chips a{min-height:38px;font-size:11px}.ai-answer>a{grid-column:1/-1;min-height:54px;font-size:15px}.quick-task-grid>a{min-height:104px;padding:15px}.remote-grid>a{min-height:82px}.guide-strip>a{min-height:42px}}
