:root{--bg:#f4f6f8;--ink:#1f2937;--muted:#475569;--brand:#235b4e;--brand2:#e5f1ed;--line:#cdd7dd;--side:244px}
body{font:16px/1.6 system-ui,-apple-system,'Noto Sans TC','Microsoft JhengHei',sans-serif;color:var(--ink)}input,select,textarea,button{font-size:16px;line-height:1.5}input,select,textarea{color:#172b25;padding:10px 12px;border-color:#aebdc5}input::placeholder,textarea::placeholder{color:#586976;opacity:1}input[type=checkbox]{accent-color:#235b4e}input[type=file]{font-size:15px}input:disabled,select:disabled{color:#475569;background:#e9eef1}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #7aab98;outline-offset:2px}.field label{font-size:15px;color:#334155;font-weight:600}.muted,.help{font-size:14px;color:#475569}.error,.success{font-size:15px}.btn{font-size:16px;padding:10px 15px}.btn.small{font-size:14px;padding:7px 10px}.btn.secondary{color:#263746;background:#e9eef2}.pill{font-size:14px}.notice{font-size:15px}.panel{padding:22px}.panel>h2{font-size:23px;margin-bottom:15px}.panel h3{font-size:18px}th,td{font-size:16px;line-height:1.6;padding:12px 13px}th{color:#334155;background:#f0f4f5;white-space:nowrap}td{color:#1f2937}.thumb{height:58px;width:58px;object-fit:contain;border:1px solid #dbe2e8;background:white}.tablewrap{border-color:#cdd7dd}table input{min-width:90px;font-size:16px!important}table input[type=text]{min-width:150px}.stat span{font-size:15px;color:#475569}.stat strong{font-size:28px}.stats{gap:14px;margin-bottom:22px}.stat{padding:17px}.photo-tile small{font-size:14px;line-height:1.6}.photo-tile img{height:150px}.grid{gap:14px}.actions{gap:10px}.searchrow input{max-width:440px}.searchrow select{max-width:300px}.wrap{max-width:none;margin-left:var(--side);padding:25px 28px 35px}.cloud-original-header,#sessionBar{display:none!important}.cloud-version{border-color:#bad0c5;background:#eaf3ef;color:#234d41}#cloudSidebar{position:fixed;inset:0 auto 0 0;width:var(--side);background:#fff;border-right:1px solid #cdd7dd;display:flex;flex-direction:column;z-index:40}body:not(.authenticated) #cloudSidebar,body:not(.authenticated) #cloudTopbar,body:not(.authenticated) #cloudNavShade{display:none}.cloud-brand{display:flex;align-items:center;gap:12px;padding:23px 20px;color:#235b4e;white-space:nowrap}.cloud-brand>span{background:#235b4e;color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;width:42px;height:42px;font-size:24px;font-weight:700;flex-shrink:0}.cloud-brand strong{font-size:25px;letter-spacing:.08em}.cloud-brand small{display:block;font-size:14px;color:#475569}#cloudUser{margin:0 16px 15px;padding:13px 7px;border-block:1px solid #dbe2e8;white-space:nowrap}#cloudUser strong{font-size:17px;display:block;color:#20392f}#cloudUser>span{font-size:14px;color:#475569;display:block}#cloudNavSlot{flex:1;overflow:auto;padding:0 12px}.nav{display:flex;flex-direction:column;flex-wrap:nowrap;gap:5px;margin:0}.nav button{display:flex;align-items:center;gap:11px;min-height:46px;padding:10px 12px;flex-shrink:0;width:100%;white-space:nowrap;text-align:left;border-color:transparent;border-radius:8px;color:#334b40;font-size:16px;font-weight:500}.nav button:hover{background:#eff5f1}.nav button.active{color:#fff;background:#235b4e}.nav button svg,.cloud-side-foot svg{width:21px;height:21px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cloud-side-foot{padding:13px 14px 17px;border-top:1px solid #dbe2e8;margin-top:15px}.cloud-side-foot>span{font-size:14px;color:#475569;padding:0 9px;display:block;margin-bottom:8px}.cloud-side-foot button{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;border-radius:7px;padding:9px;color:#334b40;text-align:left;font-size:15px}.cloud-side-foot button:hover{background:#eef4f0}#cloudTopbar{min-height:68px;background:#fff;border-bottom:1px solid #cdd7dd;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 28px;margin-left:var(--side)}#cloudTopbar>strong{font-size:19px;color:#234d41}#cloudTopbar>div{display:flex;align-items:center;gap:15px}#cloudSync{font-size:14px;color:#34594a}#cloudRefresh{font-size:14px;color:#235b4e;background:#edf3f0;border:1px solid #bdcec3;border-radius:7px;padding:7px 10px}.cloud-private{font-size:14px;color:#475569;border-left:1px solid #dbe2e8;padding-left:14px}#cloudMobileMenu{display:none}#cloudNavShade{display:none}#cloudMessage{position:fixed;top:12px;left:50%;transform:translateX(-50%);background:#fff4e8;color:#832c19;border:2px solid #bf7a51;z-index:100;max-width:min(780px,94vw);padding:14px 20px;border-radius:10px;font-size:16px;box-shadow:0 8px 35px #0002}#cloudMessage[hidden]{display:none}#cloudMessage.success{background:#e9f3eb;color:#17452e;border-color:#78a48a}#cloudBoot{position:fixed;inset:0;background:#f4f6f8;display:flex;align-items:center;justify-content:center;z-index:110;color:#235b4e;font-size:21px}#cloudBoot[hidden]{display:none}#loginScreen{background:linear-gradient(150deg,#e3f0eb,#f4f6f8)}.login-card{width:min(470px,100%)}.login-card h1{font-size:26px}.login-card p{font-size:15px;color:#475569}.login-card .field label{font-size:16px}.login-card input,.login-card .btn{font-size:17px}.login-card .help{font-size:14px}#cloudProductImage img{height:120px;max-width:210px;object-fit:contain;margin-top:9px;border:1px solid #cdd7dd;border-radius:7px}.cloud-selected-product{background:#e5f1ed!important;box-shadow:inset 4px 0 #235b4e}#cloudDiagnosticsResult p{padding:8px;border-bottom:1px solid #dbe2e8}.cloud-collapsed{--side:78px}.cloud-collapsed .cloud-brand{padding:23px 17px}.cloud-collapsed .cloud-brand>div,.cloud-collapsed #cloudUser,.cloud-collapsed .nav button span,.cloud-collapsed .cloud-side-foot span{display:none}.cloud-collapsed .nav button{justify-content:center;padding:12px}.cloud-collapsed .cloud-side-foot button{justify-content:center}.cloud-collapsed #cloudNavSlot{padding-top:12px}body.cloud-saving:after{content:'儲存至雲端中…';position:fixed;right:20px;bottom:20px;background:#235b4e;color:white;padding:12px 18px;border-radius:9px;z-index:90;font-size:16px;box-shadow:0 3px 15px #0002}
@media(max-width:1100px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wrap{padding:22px}.searchrow select{max-width:260px}}
@media(max-width:760px){body,.cloud-collapsed{--side:0px}#cloudSidebar{width:260px;transform:translateX(-100%);transition:transform .15s}.cloud-nav-open #cloudSidebar{transform:translateX(0)}.cloud-nav-open #cloudNavShade{position:fixed;inset:0;display:block;background:#122a225e;border:0;z-index:39}.cloud-collapsed .cloud-brand>div,.cloud-collapsed #cloudUser,.cloud-collapsed .nav button span,.cloud-collapsed .cloud-side-foot span{display:block}.cloud-collapsed .nav button,.cloud-collapsed .cloud-side-foot button{justify-content:flex-start}.cloud-collapsed .cloud-brand{padding:23px 20px}#cloudCollapse{display:none!important}#cloudTopbar{padding:12px 14px;gap:9px;flex-wrap:wrap;justify-content:flex-start}#cloudTopbar>strong{font-size:18px;flex:1}#cloudTopbar>div{margin-left:auto;gap:10px}#cloudMobileMenu{display:block;background:none;border:0;font-size:23px;color:#235b4e;padding:0 5px 0 0}.cloud-private{display:none}#cloudSync{font-size:13px}#cloudRefresh{font-size:13px;padding:6px 8px}.wrap{margin-left:0;padding:16px 12px}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.panel{padding:17px 13px}.panel>h2{font-size:22px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field label{font-size:15px}.muted,.help{font-size:14px}.notice{font-size:14px}.searchrow input,.searchrow select{width:100%;max-width:none}.actions label{font-size:15px}.btn,.btn.small{font-size:15px}.tablewrap{margin-inline:0}th,td{font-size:16px}.nav button{font-size:16px}.sectionhead{gap:10px}.cloud-version{line-height:1.8}.photo-grid{grid-template-columns:repeat(2,1fr)}.cloud-side-foot>span{font-size:14px}}
@media(max-width:430px){.grid{grid-template-columns:1fr}#cloudTopbar>div{flex-basis:100%;justify-content:flex-end}.login-card{padding:25px}.login-card h1{font-size:24px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{#cloudSidebar,#cloudTopbar,#cloudMessage,.cloud-version{display:none!important}.wrap{margin:0;padding:0}.tablewrap{overflow:visible}}
body.cloud-saving button[type=submit],body.cloud-saving #saveProductBtn,body.cloud-saving #addStaff,body.cloud-saving #savePermissions,body.cloud-saving #commitCsv,body.cloud-saving #receiveSubmit{pointer-events:none;opacity:.6}
.nav button{flex:0 0 auto}
