:root{color:#202632;background:#f5f6f8;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #1677ff;outline-offset:2px}.login-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(135deg,rgba(22,119,255,.12),transparent 34%),#f5f6f8}.login-panel{width:min(420px,100%);padding:34px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;box-shadow:0 18px 45px #1118271a}.login-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:8px;color:#1677ff;background:#eaf3ff}.login-panel h1{margin:22px 0 0;font-size:26px}.login-panel p{margin:8px 0 0;color:#667085}.login-form{display:grid;gap:16px;margin-top:28px}.login-form label{display:grid;gap:7px;color:#344054;font-size:13px;font-weight:600}.login-form input{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d8dde6;border-radius:8px;color:#202632;background:#fff;font-weight:400}.password-field{position:relative}.password-field input{padding-right:44px}.password-toggle{position:absolute;top:50%;right:5px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:8px;color:#667085;background:transparent;cursor:pointer;transform:translateY(-50%)}.password-toggle:hover{color:#1677ff;background:#f2f4f7}.session-page{display:grid;place-items:center;min-height:100vh;background:#f5f6f8}.session-spinner{width:34px;height:34px;border:3px solid #d8dde6;border-top-color:#1677ff;border-radius:50%;animation:spin .8s linear infinite}.login-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:0;border-radius:8px;color:#fff;background:#1677ff;cursor:pointer}.login-btn:hover{background:#0958d9}.login-btn:disabled{color:#8a93a3;background:#eef0f4;cursor:not-allowed}.login-error{padding:10px 12px;border-radius:8px;color:#b42318;background:#fff1f0}.app-shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;z-index:20;display:flex;flex-direction:column;height:100vh;overflow-y:auto;padding:16px 12px 12px;background:#181b20;color:#fff}.brand{display:flex;align-items:center;gap:12px;min-height:64px;padding:6px 8px 14px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:#1677ff;font-weight:700}.brand-title{font-weight:700}.brand-copy{min-width:0}.brand-subtitle{margin-top:4px;color:#9ca3af;font-size:12px}.sidebar-close,.mobile-menu-btn{display:none;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:0;border-radius:8px;cursor:pointer}.sidebar-close{margin-left:auto;color:#d1d5db;background:transparent}.sidebar-close:hover{color:#fff;background:#ffffff14}.sidebar-backdrop{display:none}.nav{display:grid;gap:18px;margin-top:14px;padding-bottom:18px}.nav-group{display:grid;gap:3px}.nav-group-label{padding:0 12px 6px;color:#7f8794;font-size:11px;font-weight:700;line-height:1.4;text-transform:uppercase}.nav-item{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 12px;border:0;border-radius:8px;color:#d1d5db;background:transparent;cursor:pointer;text-align:left}.nav-item:hover{background:#ffffff14}.nav-item.active{color:#fff;background:#1769e0;box-shadow:inset 3px 0 #7fb2ff}.nav-item span{flex:1}.nav-arrow{opacity:0;transition:opacity .15s ease,transform .15s ease}.nav-item:hover .nav-arrow,.nav-item.active .nav-arrow{opacity:.8;transform:translate(2px)}.sidebar-foot{display:flex;align-items:center;gap:7px;margin-top:auto;padding:12px 10px 4px;border-top:1px solid rgba(255,255,255,.1);color:#9ca3af;font-size:11px}.environment-dot{width:7px;height:7px;border-radius:50%;background:#38b26f;box-shadow:0 0 0 3px #38b26f1f}.api-address{min-width:0;margin-left:auto;overflow:hidden;color:#6f7783;text-overflow:ellipsis;white-space:nowrap}.main{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px;padding:17px 28px;background:#fff;border-bottom:1px solid #e5e7eb}.topbar-title{min-width:0}.topbar h1{margin:0;font-size:22px}.topbar p{margin:6px 0 0;color:#667085}.account-box{display:flex;align-items:center;gap:10px;color:#667085}.account-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#1769e0;background:#edf4ff;font-size:12px;font-weight:700}.account-name{max-width:160px;overflow:hidden;color:#344054;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.logout-button{gap:6px}.content{padding:24px 28px 40px}.operation-guide-page{display:grid;grid-template-columns:238px minmax(0,1fr);gap:18px;align-items:start}.guide-toc{position:sticky;top:92px;max-height:calc(100vh - 116px);overflow:auto}.guide-toc-head{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid #eef0f4;color:#28776c}.guide-toc-head div{min-width:0}.guide-toc-head strong,.guide-toc-head span{display:block}.guide-toc-head strong{color:#202632;font-size:14px}.guide-toc-head span{margin-top:3px;overflow:hidden;color:#8a93a3;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.guide-toc-list{display:grid;padding:8px}.guide-toc-list button,.guide-back-top{width:100%;border:0;border-radius:6px;color:#475467;background:transparent;font-size:13px;text-align:left}.guide-toc-list button{min-height:36px;padding:8px 10px;line-height:1.4}.guide-toc-list button:hover,.guide-toc-list button:focus-visible,.guide-back-top:hover,.guide-back-top:focus-visible{color:#28776c;background:#edf7f5}.guide-back-top{padding:12px 18px;border-top:1px solid #eef0f4;border-radius:0;color:#28776c;font-weight:700;text-align:center}.guide-article{max-width:1080px;padding:34px 42px 52px;overflow:visible;color:#344054;font-size:14px;line-height:1.8}.guide-article h1,.guide-article h2,.guide-article h3,.guide-article h4{scroll-margin-top:98px;color:#181c22;letter-spacing:0}.guide-article h1{margin:0 0 8px;font-size:30px;line-height:1.3}.guide-article h2{margin:42px 0 18px;padding-bottom:9px;border-bottom:1px solid #e8ebef;font-size:22px;line-height:1.4}.guide-article h3{margin:30px 0 12px;font-size:18px;line-height:1.45}.guide-article h4{margin:24px 0 10px;font-size:15px}.guide-article p{margin:10px 0}.guide-article ul,.guide-article ol{margin:10px 0;padding-left:24px}.guide-article li+li{margin-top:5px}.guide-article strong{color:#202632}.guide-article a{color:#1769e0;text-decoration:none}.guide-article a:hover{text-decoration:underline}.guide-article code{padding:2px 6px;border-radius:4px;color:#bf4a35;background:#f7f3f1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.guide-article pre{margin:16px 0;padding:16px 18px;overflow:auto;border-radius:8px;color:#e5e7eb;background:#202632;line-height:1.65}.guide-article pre code{padding:0;color:inherit;background:transparent}.guide-article blockquote{margin:16px 0;padding:10px 16px;border-left:4px solid #28776c;color:#596273;background:#f4f8f7}.guide-table-scroll{width:100%;margin:16px 0 22px;overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px}.guide-table-scroll:focus-visible{outline:2px solid #1769e0;outline-offset:2px}.guide-article table{width:100%;min-width:620px;border-collapse:collapse}.guide-article th,.guide-article td{padding:10px 12px;border-right:1px solid #eef0f4;border-bottom:1px solid #eef0f4;text-align:left;vertical-align:top}.guide-article th:last-child,.guide-article td:last-child{border-right:0}.guide-article tr:last-child td{border-bottom:0}.guide-article th{color:#344054;background:#f7f8fa;font-size:12px;white-space:nowrap}.guide-article input[type=checkbox]{margin-right:7px;accent-color:#28776c}.grid-page{display:grid;gap:18px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat-card,.panel{border:1px solid #e5e7eb;border-radius:8px;background:#fff}.stat-card{display:flex;align-items:center;gap:14px;padding:18px}.stat-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;color:#1677ff;background:#eaf3ff}.stat-value{font-size:26px;font-weight:700}.stat-label{margin-top:4px;color:#667085}.panel{overflow:hidden}.table-scroll{width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable}.table-scroll:focus-visible{outline:2px solid #1677ff;outline-offset:-2px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #eef0f4}.panel-head h2,.placeholder h2{margin:0;font-size:18px}.filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:14px 20px;border-bottom:1px solid #eef0f4;background:#fafbfc}.filter-bar label{display:grid;gap:6px;min-width:140px;color:#667085;font-size:12px;font-weight:600}.filter-bar input,.filter-bar select{min-height:34px;padding:7px 10px;border:1px solid #d8dde6;border-radius:8px;color:#202632;background:#fff;font-weight:400}.filter-bar input{min-width:180px}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:18px;min-height:60px;padding:10px 20px;border-top:1px solid #eef0f4;color:#667085;background:#fff;font-size:13px}.pagination-size,.pagination-actions{display:inline-flex;align-items:center;gap:8px}.pagination-size select{min-height:32px;padding:4px 8px;border:1px solid #d8dde6;border-radius:8px;color:#344054;background:#fff}.list-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:220px;padding:32px 20px;color:#667085;text-align:center}.list-state strong{color:#344054;font-size:15px}.list-state.error{color:#b42318}.list-state.error span{max-width:560px;line-height:1.6}.list-warning,.list-refresh{display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 20px;border-bottom:1px solid #eef0f4;font-size:12px}.list-warning{color:#b42318;background:#fff7f6}.list-warning span{flex:1}.list-warning button{padding:0;border:0;color:#b42318;background:transparent;cursor:pointer;font-weight:600}.list-refresh{color:#667085;background:#fafbfc}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.placeholder{padding:28px}.placeholder p{max-width:560px;color:#667085;line-height:1.7}.primary-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:96px;min-height:36px;padding:0 14px;border:0;border-radius:8px;color:#fff;background:#1677ff;cursor:pointer}.primary-btn:hover{background:#0958d9}.primary-btn:disabled{color:#8a93a3;background:#eef0f4;cursor:not-allowed}.ghost-btn,.icon-btn,.action-btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border:1px solid #d8dde6;border-radius:8px;color:#344054;background:#fff;cursor:pointer}.ghost-btn{padding:0 12px}.icon-btn{width:34px;padding:0}.action-btn{min-width:54px;padding:0 10px}.ghost-btn:hover,.icon-btn:hover,.action-btn:hover{border-color:#1677ff;color:#1677ff}.action-btn.success{border-color:#bdebd3;color:#1b9a59;background:#e9f8f0}.action-btn.danger,.icon-btn.danger{border-color:#ffd0cc;color:#b42318;background:#fff1f0}.action-btn:disabled,.icon-btn:disabled{opacity:.55;cursor:not-allowed}table{width:100%;border-collapse:collapse}th,td{padding:14px 20px;border-bottom:1px solid #eef0f4;text-align:left;vertical-align:top}th{color:#667085;background:#fafbfc;font-size:12px;font-weight:600}tr:last-child td{border-bottom:0}.strong{font-weight:600}.home-cell{min-width:180px;max-width:280px}.mini-tag{display:inline-flex;align-items:center;min-height:22px;margin-bottom:6px;padding:0 8px;border-radius:6px;color:#1677ff;background:#eaf3ff;font-size:12px;font-weight:600}.muted{max-width:520px;margin-top:6px;color:#8a93a3;font-size:12px;line-height:1.5}.status-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;color:#1677ff;background:#eaf3ff;font-size:12px}.status-badge.off,.status-badge.closed,.status-badge.canceled,.status-badge.rejected,.status-badge.pending{color:#8a93a3;background:#eef0f4}.status-badge.draft{color:#8a5a00;background:#fff8e6}.status-badge.on,.status-badge.open,.status-badge.active,.status-badge.paid,.status-badge.completed,.status-badge.approved{color:#1b9a59;background:#e9f8f0}.status-badge.absent,.status-badge.consume{color:#b42318;background:#fff1f0}.status-badge.leave,.status-badge.unfreeze,.status-badge.freeze{color:#8a5a00;background:#fff8e6}.empty{padding:64px 20px;color:#8a93a3;text-align:center}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;justify-content:flex-end;background:#11182757}.edit-panel{width:min(620px,calc(100vw - 32px));height:100vh;overflow:auto;border-left:1px solid #d8dde6;background:#fff;box-shadow:-12px 0 30px #11182729}.edit-panel-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid #eef0f4;background:#fff}.edit-panel-head h3{margin:0;font-size:16px}.edit-panel fieldset{min-width:0;margin:0;padding:22px;border:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label{display:grid;gap:7px;color:#344054;font-size:13px;font-weight:600}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:38px;padding:8px 10px;border:1px solid #d8dde6;border-radius:8px;color:#202632;background:#fff;font-weight:400}.form-grid textarea{resize:vertical}.wide,.form-actions{grid-column:1 / -1}.form-actions{display:flex;justify-content:flex-end}.form-error{margin:16px 20px 0;padding:10px 12px;border-radius:8px;color:#b42318;background:#fff1f0}.list-error{margin:12px 0;padding:10px 12px;border:1px solid #fecdca;border-radius:8px;color:#b42318;background:#fff1f0}.form-note{padding:10px 12px;border-radius:8px;color:#667085;background:#f5f7fb;line-height:1.6}.service-toggle{padding:12px;border:1px solid #e5e7eb;border-radius:10px;background:#fbfcff}.switch-line{display:inline-flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important;width:fit-content;font-weight:500!important}.switch-line input{width:auto;min-height:auto;padding:0}.user-picker{display:grid;gap:10px}.user-combobox{position:relative}.user-combobox-input{width:100%}.user-combobox-menu{position:absolute;z-index:30;top:calc(100% + 6px);right:0;left:0;max-height:260px;overflow-y:auto;padding:6px;border:1px solid #d8dde6;border-radius:8px;background:#fff;box-shadow:0 14px 34px #10182824}.user-combobox-option{display:grid;width:100%;gap:4px;padding:10px 12px;border:0;border-radius:8px;color:#202632;background:transparent;text-align:left;cursor:pointer}.user-combobox-option:hover,.user-combobox-option.selected{background:#f3f8ff}.user-combobox-option:disabled{color:#98a2b3;cursor:not-allowed;background:transparent}.user-option-title,.user-option-meta{display:block}.user-option-title{font-weight:600}.user-option-meta,.user-combobox-empty{color:#667085;font-size:13px}.user-combobox-empty{padding:14px 12px}.inline-error{color:#b42318;font-size:13px}.row-actions{display:flex;flex-wrap:wrap;gap:8px}.detail-actions{margin-top:10px}.delta-negative{color:#b42318;font-weight:700}.delta-positive{color:#1b9a59;font-weight:700}.tag-list,.check-grid{display:flex;flex-wrap:wrap;gap:8px}.tag{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;color:#344054;background:#eef0f4;font-size:12px}.check-item{display:inline-flex!important;grid-template-columns:none!important;align-items:center;gap:6px!important;min-height:32px;padding:0 10px;border:1px solid #d8dde6;border-radius:8px;background:#fff;font-weight:400!important}.check-item input{width:auto;min-height:auto;padding:0}.image-strip{display:flex;align-items:center;gap:6px}.image-strip.editable{margin-top:8px}.image-strip img{width:38px;height:38px;border-radius:8px;object-fit:cover;border:1px solid #e5e7eb}.image-chip{position:relative;display:inline-flex}.image-chip button{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;width:20px;height:20px;padding:0;border:1px solid #ffd0cc;border-radius:999px;color:#b42318;background:#fff;cursor:pointer}.product-cell,.order-item-line{display:flex;align-items:center;gap:10px}.product-cell img,.product-cell>span,.order-item-line img,.order-item-line>span{display:grid;place-items:center;flex:none;width:48px;height:48px;border:1px solid #e5e7eb;border-radius:8px;color:#1677ff;background:#eaf3ff;font-size:12px;font-weight:700;object-fit:cover}.order-items{display:grid;gap:10px}.user-cell,.user-profile{display:flex;align-items:center;gap:12px}.user-cell img,.user-cell>span,.user-profile img,.user-profile>span{display:grid;place-items:center;flex:none;border:1px solid #e5e7eb;border-radius:8px;color:#1677ff;background:#eaf3ff;font-weight:700;object-fit:cover}.user-cell img,.user-cell>span{width:38px;height:38px}.user-profile img,.user-profile>span{width:64px;height:64px}.user-profile h4,.detail-section h4{margin:0;font-size:15px}.user-profile p{margin:6px 0 8px;color:#8a93a3}.wide-panel{width:min(960px,calc(100vw - 32px))}.detail-body{display:grid;gap:16px;padding:18px}.detail-section{display:grid;gap:14px;padding:16px;border:1px solid #eef0f4;border-radius:8px;background:#fff}.detail-section table{border:1px solid #eef0f4;border-radius:8px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric-grid div{min-height:78px;padding:12px;border:1px solid #eef0f4;border-radius:8px;background:#fafbfc}.metric-grid span,.info-grid span{color:#667085;font-size:12px}.metric-grid strong{display:block;margin-top:8px;font-size:24px}.info-grid{display:grid;grid-template-columns:88px 1fr 88px 1fr;gap:10px 14px;align-items:center}.image-uploader{display:flex;align-items:center;gap:12px}.image-uploader img,.upload-placeholder{width:92px;height:70px;border:1px solid #d8dde6;border-radius:8px}.image-uploader img{object-fit:cover}.upload-placeholder{display:grid;place-items:center;color:#8a93a3;background:#fafbfc;font-size:12px;font-weight:400}.upload-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.repair-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:20px}.repair-card{min-height:132px;padding:16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.repair-card span{color:#667085;font-size:13px}.repair-card strong{display:block;margin-top:12px;color:#202632;font-size:32px}.repair-card p{margin:10px 0 0;color:#8a93a3;font-size:12px;line-height:1.6}@media (max-width: 920px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:min(290px,calc(100vw - 48px));height:100vh;padding-bottom:12px;overflow-y:auto;box-shadow:18px 0 40px #1118273d;transform:translate(-102%);visibility:hidden;transition:transform .18s ease,visibility .18s ease}.sidebar.open{transform:translate(0);visibility:visible}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:19;display:block;width:100%;height:100%;padding:0;border:0;background:#1118276b;cursor:default}.sidebar-close,.mobile-menu-btn{display:inline-flex}.mobile-menu-btn{flex:0 0 auto;color:#344054;background:#f2f4f7}.nav{display:grid;gap:18px;overflow:visible}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.repair-summary,.metric-grid,.info-grid{grid-template-columns:1fr}.topbar,.token-box{align-items:center}.topbar{min-height:auto;padding:16px}.topbar-title{flex:1}.topbar h1{font-size:19px}.topbar p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{padding:16px 14px 28px}.operation-guide-page{grid-template-columns:1fr}.guide-toc{position:static;max-height:none}.guide-toc-list{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-article{max-width:none;padding:28px 26px 40px}.filter-bar label,.filter-bar input{min-width:0;width:100%}.filter-bar label{flex:1 1 140px}.pagination{flex-wrap:wrap;justify-content:space-between;gap:10px 14px;padding:12px 14px}.pagination-summary{flex:1 1 100%}.token-box,.form-grid{grid-template-columns:1fr}.edit-panel{width:100vw}}@media (max-width: 600px){.topbar{gap:10px;padding:12px 14px}.topbar p,.account-name,.logout-label{display:none}.account-box{gap:7px}.logout-button{width:34px;padding:0}.content{padding:12px 10px 24px}.guide-toc-list{grid-template-columns:1fr}.guide-article{padding:24px 16px 34px;font-size:13px}.guide-article h1{font-size:25px}.guide-article h2{margin-top:34px;font-size:20px}.panel-head,.filter-bar{padding-right:14px;padding-left:14px}.stats-grid{grid-template-columns:1fr}}
