:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;color:#263343;background:#f5f6f8;font-synthesis:none;--sidebar: #202c3a;--accent: #5e5ce6;--border: #e4e8ef;--muted: #788392}*{box-sizing:border-box}body{margin:0;font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}button{border:0;background:none;color:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:25px;line-height:1.4;margin-bottom:7px;font-weight:700;letter-spacing:.01em}h2{font-size:20px;margin-bottom:0}h3{font-size:15px}p{line-height:1.7}small,.muted{color:var(--muted)}.muted{font-size:13px}.sidebar{width:232px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;background:var(--sidebar);color:#ccd3dd;z-index:20}.brand{display:flex;gap:11px;align-items:center;padding:24px 22px 20px;font-weight:700;letter-spacing:.03em;color:#f3f5f8}.brand small{display:block;font-size:8px;letter-spacing:1.6px;color:#8795a7;margin-top:6px}.brand-mark{width:31px;height:34px;border:1px solid #8291a4;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:22px;font-weight:500;transform:skew(-5deg);color:#f6f7ff}.sidebar nav{overflow:auto;scrollbar-width:thin;scrollbar-color:#445063 transparent;padding:0 10px 8px;flex:1}.sidebar nav a{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:600;padding:10px 12px;min-height:39px;border-radius:5px;margin:1px 0;color:#cad0da}.sidebar nav a svg{color:#99a5b5;flex-shrink:0}.sidebar nav a:hover{background:#2a394b;color:#fff}.sidebar nav a.active{background:#344359;color:#fff}.sidebar nav a.active svg{color:#c3c0ff}.nav-arrow{margin-left:auto}.sidebar-bottom{padding:12px 20px;border-top:1px solid #344051}.sidebar-bottom button{display:flex;gap:12px;align-items:center;font-size:13px;font-weight:600;padding:6px 3px}.workspace{margin-left:232px;min-width:0}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:12px}.breadcrumb{display:flex;gap:10px;align-items:center;font-size:12px;color:#8993a0}.account-label{display:flex;gap:9px;align-items:center;font-size:12px;color:#657080}.local-dot{width:6px;height:6px;background:#52a78a;border-radius:50%}.separator{width:1px;height:18px;background:var(--border);margin:0 9px}main#main-content{padding:34px;max-width:1850px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.page-heading p{margin:0}.page-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;justify-content:flex-end}.primary,.secondary,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 15px;min-height:39px;border-radius:6px;font-size:13px;font-weight:600;white-space:nowrap;line-height:1.2;border:1px solid transparent}.primary{background:var(--accent);color:#fff}.primary:hover{background:#514bd1}.secondary{background:#fff;border-color:#dce1e8;color:#5f6c7e}.secondary:hover{background:#f8f9fc;border-color:#b9c3d0}.small{font-size:12px;min-height:32px;padding:7px 10px}.danger-button{background:#c94250;color:#fff}.text-button{font-size:12px;color:#6560d9;padding:5px 0;white-space:nowrap}.text-button:hover{text-decoration:underline}.danger,.danger-text{color:#bf5260}.danger-text{display:inline-flex;gap:5px;align-items:center;font-size:12px}.icon-button{display:inline-flex;align-items:center;justify-content:center;padding:7px;border-radius:5px;color:#798598}.icon-button:hover{background:#f0f2f6}.data-panel{background:#fff;border:1px solid var(--border);border-radius:9px;overflow:hidden;box-shadow:0 2px 5px #26334303}.toolbar{display:flex;align-items:center;gap:10px;padding:19px 22px;border-bottom:1px solid var(--border)}.search-box{display:flex;align-items:center;border:1px solid #dfe4ec;border-radius:6px;padding-left:12px;width:320px;max-width:45vw;color:#96a0af}.search-box input{border:0;width:100%;min-width:0;background:transparent}.toolbar>select{max-width:160px}.refresh{margin-left:auto}input:not([type=checkbox]):not([type=file]),select,textarea{border:1px solid #dce2ea;background:#fff;border-radius:5px;padding:10px 11px;min-height:39px;color:#3d4a5c;width:100%;font-size:13px}input::placeholder,textarea::placeholder{color:#a4adb9}input:focus,textarea:focus,select:focus{outline:2px solid #cfceff;outline-offset:0;border-color:#9895ed}input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;flex-shrink:0}.search-box input{border:0!important}.table-scroll{overflow:auto;width:100%}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}thead{background:#f7f8fa;color:#7c8795}th{font-weight:600;white-space:nowrap;font-size:11px;padding:15px 16px;letter-spacing:.03em;border-bottom:1px solid var(--border)}td{padding:16px;border-bottom:1px solid #edf0f4;vertical-align:middle;color:#596677;line-height:1.6;max-width:310px}td>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}tbody tr:hover{background:#fbfbfd}tbody tr:last-child td{border-bottom:0}.row-number{width:42px;color:#9aa4b0;font-variant-numeric:tabular-nums}.numeric{font-variant-numeric:tabular-nums;white-space:nowrap}.row-actions{white-space:nowrap}.row-actions>button{margin-right:12px}.row-actions>button:last-child{margin-right:0}.actions-heading{min-width:100px}.badge{display:inline-flex!important;white-space:nowrap;background:#f0f1f5;color:#768194;border-radius:4px;font-size:10px;padding:3px 8px}.badge.positive{background:#ebf6f0;color:#458169}.pagination{display:flex;gap:10px;align-items:center;padding:16px 22px;border-top:1px solid var(--border);font-size:12px;color:#8a94a2}.pagination>span{margin-right:auto}.pagination label{display:flex;gap:7px;align-items:center;white-space:nowrap;margin:0 10px 0 0;font-size:12px}.pagination select{min-height:30px;width:64px;padding:5px}.empty-state{text-align:center;padding:75px 20px;color:#a0a9b5}.empty-state svg{margin-bottom:16px}.empty-state h3{color:#5d6a7b}.empty-state p{font-size:12px;margin-bottom:0}.loading{text-align:center;padding:75px;color:#8992a0}.info-panel,.error-panel{padding:13px 16px;border-radius:6px;line-height:1.7;font-size:12px;margin-bottom:18px}.info-panel{border:1px solid #e1e5ed;background:#f0f3f8;color:#758094}.error-panel{background:#fff1f2;border:1px solid #f1c8cf;color:#a23b4b}.data-panel>.error-panel{margin:18px}.toast{position:fixed;right:26px;bottom:26px;max-width:min(450px,90vw);border-radius:7px;padding:15px 22px;color:#fff;background:#315e4e;z-index:100;box-shadow:0 8px 35px #10233725;font-size:13px;line-height:1.6}.toast.error{background:#a74150}.editor-dialog{border:0;border-radius:10px;max-width:min(920px,95vw);width:920px;padding:0;max-height:92vh;color:var(--text);box-shadow:0 24px 90px #17253633;overflow:auto}.editor-dialog::backdrop{background:#18233380;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;padding:23px 27px;border-bottom:1px solid var(--border);background:#fff;position:sticky;top:0;z-index:3}.dialog-heading small{font-size:11px;display:block;margin-bottom:7px}.dialog-body{padding:25px 27px}.dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:17px 27px;background:#fafbfc;border-top:1px solid var(--border);position:sticky;bottom:0;z-index:2}.dialog-footer>.muted{margin-right:auto;font-size:11px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 20px}.field{min-width:0}.field.wide{grid-column:1/-1}.field-label,label{display:block;font-size:12px;font-weight:500;color:#616d7e;margin-bottom:8px}.field-label .required{color:#b85465}.check label{display:flex;align-items:center;gap:9px;margin:28px 0 0}.check input{margin:0}.field-hint{display:block;font-size:11px;color:#939cac;line-height:1.6;margin-top:7px}.lookup{display:flex;flex-direction:column;gap:7px}.lookup input{background:#fafbfc!important}.row-editor{border:1px solid var(--border);border-radius:6px;padding:15px;background:#fcfcfe}.repeat-row{padding:14px;background:#fff;border:1px solid var(--border);border-radius:6px;margin-bottom:12px}.repeat-row .repeat-row{background:#fafbfc}.repeat-heading{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#8590a0;margin-bottom:14px}.empty-inline{margin:6px 0 14px}.row-editor .form-grid{gap:13px}.tabs{display:flex;gap:3px;border-bottom:1px solid var(--border);padding:0 20px;overflow:auto;background:#fff}.tabs button{padding:15px 13px;white-space:nowrap;font-size:12px;color:#85909f;border-bottom:2px solid transparent}.tabs button.selected{color:var(--accent);border-color:var(--accent);font-weight:600}.upload-button{cursor:pointer;display:inline-flex;gap:7px;align-items:center;position:relative;margin:0;font-size:12px}.upload-button input[type=file]{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.file-field>.upload-button{border:1px dashed #bcc5d5;padding:12px 18px;border-radius:6px;background:#fafbff}.file-chip{display:inline-flex;align-items:center;gap:9px;padding:7px 10px;border:1px solid var(--border);border-radius:5px;margin:0 8px 10px 0;font-size:12px;max-width:100%}.file-chip .text-button{overflow:hidden;text-overflow:ellipsis;max-width:280px}.error-text{font-size:12px;color:#b14356}.order-detail{margin-bottom:25px;padding-bottom:25px;border-bottom:1px solid var(--border)}dl{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:12px}dt{color:#8b95a3;margin-bottom:5px}dd{margin:0;color:#526072}.order-detail .table-scroll{border:1px solid var(--border);border-radius:6px}.order-detail details{padding:15px 0;font-size:12px}.history-list{max-height:260px;overflow:auto;margin-bottom:24px}.history-list article{display:grid;grid-template-columns:1fr 90px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);font-size:12px}.history-list+.form-grid{margin-top:20px}.dialog-body>label{margin-top:17px}.dialog-body>label input,.dialog-body>label textarea{margin-top:9px}.check-line{display:flex;gap:8px;align-items:center}.notification-preview{padding:25px;border:1px solid var(--border);border-radius:8px}.notification-preview h3{margin-top:14px}.modal-backdrop{position:fixed;inset:0;background:#18233380;z-index:30;display:grid;place-items:center;padding:20px}.confirm-dialog{width:min(440px,100%);background:#fff;border-radius:10px;padding:28px;box-shadow:0 20px 60px #0002}.confirm-dialog p{margin-top:18px;color:#7b8594;font-size:13px}.confirm-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.login-page{min-height:100vh;background:#202c3a;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px}.login-brand{display:flex;align-items:center;gap:14px;color:#fff;font-size:18px;font-weight:600;margin-bottom:28px}.login-card{background:#fff;padding:35px;border-radius:12px;width:390px;max-width:100%;box-shadow:0 25px 60px #0002}.login-card h1{font-size:22px}.login-card .muted{margin-bottom:27px}.login-card label{margin-bottom:21px}.login-card input{margin-top:9px}.login-card>.primary{width:100%;margin-top:4px}.mobile-menu,.sidebar-backdrop{display:none}@media(min-height:950px){.sidebar nav a{min-height:41px}}@media(max-width:1150px){main#main-content{padding:25px}.page-heading{align-items:flex-start}.page-actions{max-width:55%}.account-label .separator{margin:0 3px}.topbar{padding:0 25px}.row-actions{min-width:120px}.page-actions .secondary,.page-actions .primary{padding:9px 11px;font-size:12px}}@media(max-width:760px){.sidebar{transform:translate(-100%);transition:transform .18s}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;background:#17253680;z-index:19}.workspace{margin-left:0}.mobile-menu{display:flex}.topbar{padding:0 16px;height:57px}.breadcrumb{margin-right:auto}.account-label{font-size:11px}.account-label .separator,.account-label .local-dot,.account-label>span:nth-child(2){display:none}main#main-content{padding:23px 16px}.page-heading{display:block;margin-bottom:20px}h1{font-size:23px}.page-actions{margin-top:16px;max-width:none;justify-content:flex-start}.toolbar{padding:14px;flex-wrap:wrap;gap:8px}.search-box{width:auto;max-width:none;flex:1;min-width:160px}.toolbar>select{max-width:140px}.pagination{padding:14px;flex-wrap:wrap;font-size:11px;gap:8px}.pagination label{margin-left:auto;margin-right:0}.pagination>span{margin-right:0}.pagination .secondary{flex:1}.table-scroll th,.table-scroll td{padding:13px 12px;min-width:105px}.table-scroll .row-number{min-width:35px}.editor-dialog{max-width:100vw;width:100vw;max-height:100dvh;height:100dvh;margin:0;border-radius:0}.dialog-heading{padding:18px}.dialog-body{padding:20px 18px}.dialog-footer{padding:14px 18px}.dialog-footer .muted{display:none}.form-grid{grid-template-columns:1fr;gap:17px}.check label{margin-top:0}.tabs{padding:0 5px}.tabs button{padding:13px 11px}.history-list article{grid-template-columns:1fr 60px}.history-list article>span:last-child{grid-column:1/-1}dl{grid-template-columns:1fr}.toast{bottom:15px;right:15px;left:15px;max-width:none}.login-card{padding:28px}.page-actions .upload-button{max-width:100%}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
