.attendance-page[data-v-d8c7e249]{padding:16px;max-width:1100px;margin:0 auto}.page-header[data-v-d8c7e249]{margin-bottom:16px}.page-header h2[data-v-d8c7e249]{margin:0 0 6px;font-size:22px}.config-bar[data-v-d8c7e249]{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px}.date-label[data-v-d8c7e249]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#666}.date-label input[data-v-d8c7e249]{padding:6px 8px;border:1px solid #ddd;border-radius:6px;font-size:13px}.panel[data-v-d8c7e249]{background:#fff;border-radius:12px;padding:16px;margin-bottom:14px;box-shadow:0 4px 14px #2d40500f}.panel-head[data-v-d8c7e249]{margin-bottom:12px}.panel-head h3[data-v-d8c7e249]{margin:0;font-size:16px}.top-grid[data-v-d8c7e249]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.top-grid .panel[data-v-d8c7e249]{margin-bottom:14px}.info-line[data-v-d8c7e249]{display:flex;gap:8px;font-size:14px;padding:4px 0}.info-line__label[data-v-d8c7e249]{flex:0 0 56px;color:#8390a1}.info-line span[data-v-d8c7e249]:last-child{flex:1;color:#24344a;overflow-wrap:anywhere}.punch-row[data-v-d8c7e249]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.punch-row select[data-v-d8c7e249]{flex:1 1 220px;min-width:0;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;background:#fff}.icon-btn[data-v-d8c7e249]{border:1px solid #ddd;background:#f7f8f5;border-radius:8px;padding:9px 14px;font-size:13px;cursor:pointer;color:#506273}.punch-coord[data-v-d8c7e249]{margin-top:8px;color:#8390a1;font-size:12px}.punch-actions[data-v-d8c7e249]{display:flex;gap:16px;margin-top:16px}.punch-btn[data-v-d8c7e249]{flex:1;height:56px;border:none;border-radius:12px;color:#fff;font-size:19px;font-weight:600;cursor:pointer}.punch-btn--in[data-v-d8c7e249]{background:linear-gradient(135deg,#10b981,#059669)}.punch-btn--out[data-v-d8c7e249]{background:linear-gradient(135deg,#f59e0b,#d97706)}.punch-btn[data-v-d8c7e249]:disabled{opacity:.6}.punch-result[data-v-d8c7e249]{margin-top:16px;padding:14px;border-radius:10px;background:#f7faf8}.punch-result.success[data-v-d8c7e249]{border-left:5px solid #10b981}.punch-result.error[data-v-d8c7e249]{border-left:5px solid #f44336}.punch-result__title[data-v-d8c7e249]{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700}.punch-result__icon[data-v-d8c7e249]{font-size:18px}.sim-tag[data-v-d8c7e249]{padding:1px 8px;border-radius:10px;background:#e8f0ff;color:#2563eb;font-size:11px;font-weight:400}.punch-result__comment[data-v-d8c7e249]{margin:8px 0;color:#47585c;font-size:14px}.record-grid[data-v-d8c7e249]{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}.record-item[data-v-d8c7e249]{display:flex;gap:8px;font-size:14px}.record-item.full[data-v-d8c7e249]{grid-column:1 / -1}.record-item__label[data-v-d8c7e249]{flex:0 0 62px;color:#8390a1}.record-item span[data-v-d8c7e249]:last-child{flex:1;color:#24344a;overflow-wrap:anywhere}.params-detail[data-v-d8c7e249]{margin-top:12px}.params-detail summary[data-v-d8c7e249]{cursor:pointer;color:#287d72;font-size:13px}.endpoint-line[data-v-d8c7e249]{margin:8px 0 4px;color:#5a6b60;font-size:12px;word-break:break-all}.result-body[data-v-d8c7e249]{background:#f2f4f6;padding:10px;border-radius:6px;font-size:12px;overflow-x:auto;white-space:pre-wrap}.loading[data-v-d8c7e249]{padding:12px 0}.success-text[data-v-d8c7e249]{color:#2f9f68;font-size:13px}.tag[data-v-d8c7e249]{padding:3px 10px;border-radius:12px;font-size:12px}.tag.success[data-v-d8c7e249]{background:#e8f5e9;color:#2e7d32}.tag.warning[data-v-d8c7e249]{background:#fff3e0;color:#e65100}.modal-mask[data-v-d8c7e249]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:12px;box-sizing:border-box}.modal[data-v-d8c7e249]{background:#fff;border-radius:12px;width:100%;max-width:680px;max-height:88vh;overflow-y:auto}.modal-header[data-v-d8c7e249]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #eee}.modal-header h3[data-v-d8c7e249]{margin:0;font-size:16px}.modal-header .close[data-v-d8c7e249]{font-size:24px;line-height:1;background:none;border:none;cursor:pointer;color:#888}.modal-body[data-v-d8c7e249]{padding:16px}.modal-footer[data-v-d8c7e249]{display:flex;justify-content:flex-end;gap:10px;padding:14px 16px;border-top:1px solid #eee}.form-item[data-v-d8c7e249]{margin-bottom:12px}.form-item label[data-v-d8c7e249]{display:block;font-size:13px;color:#666;margin-bottom:5px}.form-item input[data-v-d8c7e249]{width:100%;padding:9px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;box-sizing:border-box}.address-section[data-v-d8c7e249]{margin-top:14px;padding-top:14px;border-top:1px dashed #ddd}.address-title[data-v-d8c7e249]{font-size:14px;font-weight:600;color:#333;margin-bottom:10px}.address-row[data-v-d8c7e249]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px}.address-row input[data-v-d8c7e249]{padding:8px 10px;border:1px solid #ddd;border-radius:8px;font-size:13px;box-sizing:border-box}.addr-name[data-v-d8c7e249]{flex:1 1 180px;min-width:0}.addr-lng[data-v-d8c7e249],.addr-lat[data-v-d8c7e249]{flex:0 0 120px}.auth-modal[data-v-d8c7e249]{max-width:400px}.auth-error[data-v-d8c7e249]{color:#f44336;font-size:13px;margin-top:8px}@media(max-width:720px){.top-grid[data-v-d8c7e249]{grid-template-columns:1fr}.punch-actions[data-v-d8c7e249]{flex-direction:column}.record-grid[data-v-d8c7e249]{grid-template-columns:1fr}.addr-name[data-v-d8c7e249]{flex:1 1 100%}.addr-lng[data-v-d8c7e249],.addr-lat[data-v-d8c7e249]{flex:1 1 45%}.page-header h2[data-v-d8c7e249]{font-size:20px}}.mobile-attendance[data-v-b14960fc]{min-height:100vh;background:linear-gradient(180deg,#f7f8f5,#edf8f0);padding-bottom:env(safe-area-inset-bottom)}.status-bar[data-v-b14960fc]{display:flex;justify-content:space-between;align-items:center;padding:6px 16px;background:#fff;font-size:12px;color:#666}.info-card[data-v-b14960fc]{margin:12px 16px;padding:10px 12px;background:#fff;border-radius:12px;box-shadow:0 4px 14px #0000000f}.info-card__row[data-v-b14960fc]{display:flex;align-items:center;gap:10px}.info-card__label[data-v-b14960fc]{font-size:13px;color:#8d9a91}.info-card__date[data-v-b14960fc]{flex:1;height:36px;padding:0 10px;border:1px solid #dde5df;border-radius:8px;font-size:13px;background:#f7f8f5;box-sizing:border-box}.info-card__refresh[data-v-b14960fc]{font-size:13px;color:#10b981}.card[data-v-b14960fc]{margin:0 16px 12px;padding:14px;background:#fff;border-radius:12px;box-shadow:0 4px 14px #0000000f}.card__title[data-v-b14960fc]{font-size:14px;font-weight:600;color:#25342b;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.row[data-v-b14960fc]{display:flex;justify-content:space-between;gap:12px;padding:5px 0}.row__label[data-v-b14960fc]{flex:0 0 90px;font-size:13px;color:#8d9a91}.row__value[data-v-b14960fc]{flex:1;font-size:13px;color:#25342b;text-align:right;word-break:break-all}.addr-row[data-v-b14960fc]{display:flex;gap:8px}.addr-select[data-v-b14960fc]{flex:1;min-width:0;height:40px;padding:0 10px;border:1px solid #dde5df;border-radius:8px;font-size:13px;background:#f7f8f5;box-sizing:border-box}.reroll-btn[data-v-b14960fc]{border:1px solid #dde5df;background:#fff;border-radius:8px;padding:0 12px;font-size:12px;color:#506273}.simulate-actions[data-v-b14960fc]{display:flex;gap:12px;margin-top:12px}.sim-btn[data-v-b14960fc]{flex:1;height:48px;border-radius:10px;font-size:15px;border:none;color:#fff}.sim-btn--in[data-v-b14960fc]{background:#10b981}.sim-btn--out[data-v-b14960fc]{background:#f59e0b}.result[data-v-b14960fc]{margin-top:12px;padding:12px;border-radius:10px;background:#f7f8f5}.result.success[data-v-b14960fc]{border-left:5px solid #10b981}.result.error[data-v-b14960fc]{border-left:5px solid #f44336}.result__title[data-v-b14960fc]{font-size:15px;font-weight:600;margin-bottom:6px}.result__line[data-v-b14960fc]{font-size:13px;color:#5a6b60;margin-top:4px;word-break:break-all}.error-msg[data-v-b14960fc]{margin:0 16px 12px;padding:10px 12px;background:#fee2e2;color:#dc2626;border-radius:8px;font-size:13px}.success-text[data-v-b14960fc]{margin-top:6px;color:#10b981;font-size:12px}.quick-settings[data-v-b14960fc]{margin:0 16px 12px}.setting-btn[data-v-b14960fc]{width:100%;padding:14px;background:#fff;border-radius:12px;box-shadow:0 4px 14px #0000000f;font-size:14px;color:#25342b}.modal-mask[data-v-b14960fc]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:100;display:flex;align-items:flex-end}.modal[data-v-b14960fc]{width:100%;max-height:88vh;overflow-y:auto;background:#fff;border-radius:16px 16px 0 0}.modal__header[data-v-b14960fc]{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #f0f0f0}.modal__title[data-v-b14960fc]{font-size:16px;font-weight:600;color:#25342b}.modal__close[data-v-b14960fc]{font-size:24px;color:#aaa;line-height:1}.modal__body[data-v-b14960fc]{padding:16px}.setting-input-row[data-v-b14960fc]{display:flex;align-items:center;padding:10px 0;border-bottom:1px solid #e8ede7}.setting-input__label[data-v-b14960fc]{width:90px;font-size:13px;color:#657069}.setting-input__field[data-v-b14960fc]{flex:1;height:36px;padding:0 10px;background:#f7f8f5;border-radius:8px;font-size:13px;color:#25342b;box-sizing:border-box}.addr-title[data-v-b14960fc]{margin:14px 0 8px;font-size:13px;font-weight:600;color:#25342b}.addr-edit[data-v-b14960fc]{margin-bottom:10px}.addr-input[data-v-b14960fc]{width:100%;height:36px;padding:0 10px;border:1px solid #dde5df;border-radius:8px;font-size:13px;background:#f7f8f5;box-sizing:border-box}.addr-coord[data-v-b14960fc]{display:flex;align-items:center;gap:8px;margin-top:6px}.addr-input--half[data-v-b14960fc]{flex:1}.addr-del[data-v-b14960fc]{flex:0 0 auto;color:#c64b4b;font-size:13px}.add-addr-btn[data-v-b14960fc]{width:100%;padding:12px;border:1px dashed #10b981;border-radius:10px;background:#f0faf4;color:#10b981;font-size:13px}.modal__footer[data-v-b14960fc]{padding:12px 16px;border-top:1px solid #f0f0f0;display:flex;gap:12px}.modal__btn[data-v-b14960fc]{flex:1;height:44px;border-radius:10px;font-size:15px;border:none}.modal__btn--cancel[data-v-b14960fc]{background:#f0f0f0;color:#666}.modal__btn--save[data-v-b14960fc]{background:#10b981;color:#fff}.auth-error[data-v-b14960fc]{margin-top:8px;color:#dc2626;font-size:13px}.fade-enter-active[data-v-b14960fc],.fade-leave-active[data-v-b14960fc]{transition:opacity .3s ease}.fade-enter-from[data-v-b14960fc],.fade-leave-to[data-v-b14960fc]{opacity:0}.mobile-login[data-v-f92d385a]{min-height:100vh;background:linear-gradient(180deg,#f7f8f5,#edf8f0);display:flex;flex-direction:column;padding:60rpx 48rpx}.login-header[data-v-f92d385a]{text-align:center;margin-top:80rpx;margin-bottom:60rpx}.login-logo[data-v-f92d385a]{font-size:120rpx;color:#10b981}.login-title[data-v-f92d385a]{font-size:48rpx;font-weight:700;color:#25342b;margin-top:24rpx;margin-bottom:12rpx}.login-subtitle[data-v-f92d385a]{font-size:28rpx;color:#8d9a91}.login-form[data-v-f92d385a]{background:#fff;border-radius:24rpx;padding:48rpx 40rpx;box-shadow:0 8rpx 32rpx #0000000f}.form-item[data-v-f92d385a]{margin-bottom:32rpx}.form-label[data-v-f92d385a]{display:block;font-size:28rpx;color:#25342b;font-weight:500;margin-bottom:16rpx}.form-input[data-v-f92d385a]{width:100%;height:88rpx;padding:0 24rpx;background:#f7f8f5;border-radius:12rpx;font-size:28rpx;color:#25342b;box-sizing:border-box;border:2rpx solid transparent;transition:all .3s}.form-input[data-v-f92d385a]:focus{background:#fff;border-color:#10b981;outline:none}.error-msg[data-v-f92d385a]{margin-bottom:24rpx;padding:16rpx 20rpx;background:#fee2e2;color:#dc2626;border-radius:10rpx;font-size:26rpx}.login-btn[data-v-f92d385a]{width:100%;height:96rpx;line-height:96rpx;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:12rpx;font-size:32rpx;font-weight:600;border:none;margin-top:12rpx}.login-btn[data-v-f92d385a]:disabled{opacity:.6}.login-footer[data-v-f92d385a]{margin-top:32rpx;text-align:center}.login-footer-info[data-v-f92d385a]{margin-top:auto;text-align:center;padding:40rpx 0}.login-footer-info p[data-v-f92d385a]{font-size:24rpx;color:#bbb}:root{font-family:Inter,Microsoft YaHei,sans-serif;color:#243246;background:#f4f7fb}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eff8f6,#e8eefc)}.login-card{width:380px;padding:42px;background:#fff;border-radius:24px;box-shadow:0 18px 60px #334e6820}.login-card input,.access-form input{display:block;width:100%;margin-top:14px;padding:13px;border:1px solid #dbe3ec;border-radius:10px}.muted{color:#7c899a}.button{border:0;border-radius:10px;padding:11px 18px;background:#287d72;color:#fff;cursor:pointer}.login-card .button{width:100%;margin-top:24px}.shell{display:flex;min-height:100vh}.side{position:sticky;top:0;width:230px;height:100vh;padding:28px 18px;background:#1c2c3f}.brand{color:#fff;font-size:19px;font-weight:700;padding:0 14px 32px}.brand span{color:#72c5ac}.nav{display:block;width:100%;border:0;background:none;text-align:left;padding:13px 14px;margin:5px 0;border-radius:9px;color:#aebdcb;cursor:pointer}.nav.active,.nav:hover{background:#2c445d;color:#fff}.main{flex:1;min-width:0;padding:30px 36px}.top{position:relative;display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.top h2{margin:0}.eyebrow{margin:0 0 6px;color:#8795a7;font-size:12px;letter-spacing:2px}.cards{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:16px}.card,.panel{background:#fff;border-radius:16px;padding:22px;box-shadow:0 5px 18px #2d40500b}.card strong{display:block;font-size:28px;margin-top:12px}.panel{margin-top:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel h3,.panel h4{margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:14px 10px;border-bottom:1px solid #edf1f5}th{color:#8390a1;font-weight:500}.error,.danger-text{color:#c64b4b}.link,.row-actions button{border:0;background:none;color:#287d72;cursor:pointer}.stage-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stage-form textarea,.stage-form input,.modal input,.modal textarea,.modal select{width:100%;padding:11px;border:1px solid #dbe3ec;border-radius:8px;background:#fff}.stage-form textarea,.stage-form .full{grid-column:1/-1}.account-wrap{position:relative}.account-trigger{display:flex;align-items:center;gap:10px;border:0;background:#fff;padding:8px 12px;border-radius:12px;cursor:pointer;box-shadow:0 3px 15px #324a5b12}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#287d72;color:#fff}.account-text{display:flex;flex-direction:column;align-items:flex-start}.account-text small{color:#8a96a5}.account-dropdown{position:absolute;right:0;top:58px;z-index:20;width:150px;padding:7px;background:#fff;border-radius:12px;box-shadow:0 12px 36px #253d5030}.account-dropdown button{display:block;width:100%;padding:10px;border:0;background:none;text-align:left;cursor:pointer}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;background:#15243480}.modal{width:min(460px,100%);max-height:88vh;overflow:auto;padding:24px;border-radius:18px;background:#fff;box-shadow:0 20px 60px #17283b42}.modal-wide{width:min(760px,100%)}.modal-head,.modal-actions{display:flex;align-items:center;justify-content:space-between}.modal-head button{border:0;background:none;font-size:26px;cursor:pointer}.modal label{display:block;margin-top:15px;color:#657386;font-size:13px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:22px}.secondary{border:1px solid #dbe3ec;border-radius:9px;padding:10px 17px;background:#fff;cursor:pointer}.access-tabs{display:flex;gap:6px}.access-tabs button{border:0;border-radius:9px;padding:10px 18px;background:#e8edf2;color:#637183;cursor:pointer}.access-tabs .active{background:#1f3c50;color:#fff}.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.role-card{padding:20px;border:1px solid #e5ebf0;border-radius:14px}.role-card h4{margin-top:15px}.role-card p{min-height:42px;color:#788594;font-size:13px}.role-head{display:flex;justify-content:space-between}.role-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#e4f3ee;color:#287d72;font-weight:700}.builtin-tag,.status{padding:4px 9px;border-radius:20px;background:#e5f4ee;color:#287d72;font-size:12px}.status.off{background:#f3eded;color:#a86666}.role-meta,.locked{color:#8a96a5;font-size:12px}.row-actions{display:flex;gap:10px;margin-top:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.permission-tree{margin-top:20px}.permission-tree section{margin-top:12px;padding:14px;border:1px solid #e7edf1;border-radius:10px}.permission-tree section label{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center}.permission-tree small{color:#9aa5b1}.role-selector{margin-top:18px}.role-selector label{display:inline-flex;align-items:center;gap:7px;margin-right:20px}.loading{padding:30px}@media(max-width:900px){.side{width:76px;padding:25px 8px}.brand{font-size:0}.brand span{font-size:18px}.nav{font-size:0;text-align:center}.nav:before{content:"•";font-size:20px}.main{padding:22px 16px}.cards{grid-template-columns:repeat(2,1fr)}.account-text{display:none}.form-grid{grid-template-columns:1fr}}:root .password-field{position:relative}:root .password-field input{padding-right:62px}:root .password-field button{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#287d72;font-size:12px;cursor:pointer}:root .role-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}:root .role-options label{display:flex;align-items:flex-start;gap:10px;min-width:0;margin:0;padding:13px;border:1px solid #dfe6eb;border-radius:10px;cursor:pointer}:root .role-options label.selected{border-color:#55a48f;background:#eef8f5}:root .role-options input{flex:0 0 auto;margin-top:3px}:root .role-options span{display:flex;min-width:0;flex-direction:column}:root .role-options b{overflow-wrap:anywhere;color:#33475a}:root .role-options small{margin-top:5px;color:#8794a2;line-height:1.4;overflow-wrap:anywhere}@media(max-width:900px){:root .role-options{grid-template-columns:1fr}}:root .audit-detail pre{overflow:auto;max-height:240px;padding:14px;border-radius:9px;background:#f4f6f8;color:#405266;white-space:pre-wrap;overflow-wrap:anywhere}:root .query-bar{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-bottom:20px;padding:15px;border-radius:12px;background:#f5f8fa}:root .query-bar>input,:root .query-bar>select{width:160px;padding:10px;border:1px solid #dce4ea;border-radius:8px;background:#fff}:root .date-filter{display:flex;flex-direction:column;gap:5px;margin:0;color:#7b8998;font-size:12px}:root .date-filter input{padding:9px;border:1px solid #dce4ea;border-radius:8px}:root .empty{text-align:center;color:#929eaa;padding:34px!important}:root .growth-panel{margin-top:20px}:root .range-switch{display:flex;gap:5px}:root .range-switch button{border:0;border-radius:8px;padding:8px 12px;background:#edf1f4;color:#73808d;cursor:pointer}:root .range-switch button.active{background:#287d72;color:#fff}:root .growth-summary{display:flex;gap:28px;margin-bottom:10px;color:#6d7b89}:root .growth-summary b{margin-left:5px;color:#253b4b;font-size:22px}:root .chart{height:260px;padding:8px 0 25px}:root .chart svg{width:100%;height:100%;overflow:visible}:root .grid-line{stroke:#e8edf1;stroke-width:.35}:root .growth-line{fill:none;stroke:#287d72;stroke-width:1.5;vector-effect:non-scaling-stroke}:root .chart-labels{display:flex;justify-content:space-between;color:#8c98a5;font-size:11px}:root .growth-bars{display:flex;align-items:flex-end;gap:2px;height:42px;margin-top:20px;border-bottom:1px solid #e7ecef}:root .growth-bar{flex:1;min-width:2px;border-radius:2px 2px 0 0;background:#9bd0c0}:root .growth-bar:hover{background:#287d72}:root .theme-switch{border:1px solid #d8e2e8;border-radius:9px;padding:8px 12px;background:#fff;color:#506273;cursor:pointer;font-size:12px}:root .top-actions{display:flex;align-items:center;gap:12px}:root .side-theme{width:100%;margin-top:26px}:root .login{position:relative;overflow:hidden;background:#081522}:root .login-card{position:relative;z-index:1;border:1px solid #36d1c455;background:#0d2030dd;color:#eafcff;box-shadow:0 0 80px #00dbc52e,0 25px 80px #0008;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}:root .login-card input{background:#091a29;border-color:#2b6172;color:#fff}:root .login-card input::placeholder{color:#7895a0}:root .login-kicker{color:#58dcca;font-size:11px;letter-spacing:2px}:root .login-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid #58dcca;border-radius:14px;color:#58dcca;font-weight:700;box-shadow:0 0 22px #58dcca66}:root .login-orbit{position:absolute;width:500px;height:500px;border:1px solid #42d9ca44;border-radius:50%;box-shadow:0 0 100px #16b9c822;transform:rotate(35deg)}:root .theme-tech .side{background:linear-gradient(180deg,#081522,#0b2632);border-right:1px solid #1b5260}:root .theme-tech .nav.active,:root .theme-tech .nav:hover{background:#123f4c;color:#65e6d0;box-shadow:inset 3px 0 #49dac6}:root .theme-tech .main{background:linear-gradient(135deg,#f3f8fa,#edf5f5)}:root .theme-tech .card,:root .theme-tech .panel{border:1px solid #d8e9e9;box-shadow:0 8px 28px #1b66750d}:root .theme-plain .login{background:linear-gradient(135deg,#f2f6f3,#e8eef0)}:root .theme-plain .login-card{color:#243246;border:1px solid #e1e7e4;background:#fff;box-shadow:0 20px 70px #52645d20;-webkit-backdrop-filter:none;backdrop-filter:none}:root .theme-plain .login-card input{background:#fff;border-color:#dbe3ec;color:#243246}:root .theme-plain .login-kicker{color:#758b7f}:root .theme-plain .login-mark{border-color:#287d72;color:#287d72;box-shadow:none}:root .theme-plain .login-orbit{display:none}:root .theme-plain .side{background:#fff;border-right:1px solid #e2e9e5}:root .theme-plain .brand{color:#2f5140}:root .theme-plain .nav{color:#73817a}:root .theme-plain .nav.active,:root .theme-plain .nav:hover{background:#edf6f0;color:#287d72;box-shadow:none}html[data-theme=plain]{--text:#2a3a4d;--text-2:#7c899a;--line:#edf1f5;--panel:#ffffff;--panel-border:#e6ebf0;--panel-shadow:0 5px 18px #2d40500b;--field:#f4f7f9;--input-bg:#ffffff;--input-border:#dbe3ec;--accent:#2b7f75;--accent-soft:#e4f1ee;--on-accent:#ffffff;--main-a:#f4f7f9;--main-b:#eef3f4;--side-a:#ffffff;--side-b:#ffffff;--side-border:#e4e9e6;--brand:#2b5f52;--brand-acc:#2b7f75;--nav:#637a72;--nav-hover-bg:#eef5f2;--nav-hover-text:#1f6b5f;--nav-active-bg:#e2f1ec;--nav-active-text:#1f6b5f;--nav-ind:#2b7f75;--login-a:#f0f6f4;--login-b:#e3ecef;--blob-a:#ffffff66;--blob-b:#2b7f7520;--login-card:#ffffff;--login-card-border:#e1e7e4;--login-card-text:#2a3a4d;--login-card-shadow:0 20px 70px #26362b1f;--login-input-bg:#ffffff;--login-input-border:#dbe3ec;--login-kicker:#6f8d85;--login-mark:#2b7f75;--login-mark-glow:#2b7f7526;--orbit:#2b7f7526;--mask:#15243480}html[data-theme=sky]{--text:#24344a;--text-2:#64748b;--line:#e2eaf4;--panel:#ffffff;--panel-border:#dbe7f5;--panel-shadow:0 5px 18px #2b4a7610;--field:#eef5fb;--input-bg:#ffffff;--input-border:#cddef0;--accent:#2563eb;--accent-soft:#e3edfd;--on-accent:#ffffff;--main-a:#e8f3ff;--main-b:#f6fbff;--side-a:#123a63;--side-b:#0e2f52;--side-border:#1e4a78;--brand:#ffffff;--brand-acc:#7cc0ff;--nav:#9db9d9;--nav-hover-bg:#1b4b7c;--nav-hover-text:#d7ecff;--nav-active-bg:#2a6fd6;--nav-active-text:#ffffff;--nav-ind:#9fd4ff;--login-a:#cfe6ff;--login-b:#eef7ff;--blob-a:#ffffffaa;--blob-b:#7db8f888;--login-card:#ffffffdd;--login-card-border:#cfe0f5;--login-card-text:#24344a;--login-card-shadow:0 20px 70px #1d4a8a2b;--login-input-bg:#ffffff;--login-input-border:#cfe0f5;--login-kicker:#5b7ba6;--login-mark:#2563eb;--login-mark-glow:#2563eb33;--orbit:#2563eb22;--mask:#0b1c3380}html[data-theme=mint]{--text:#1f3d34;--text-2:#5f7c71;--line:#e2efe9;--panel:#ffffff;--panel-border:#d8ebe2;--panel-shadow:0 5px 18px #175f4310;--field:#edf7f2;--input-bg:#ffffff;--input-border:#cfe4d8;--accent:#0e9f6e;--accent-soft:#e1f5ec;--on-accent:#ffffff;--main-a:#e6f6ee;--main-b:#f6fcf9;--side-a:#0e3d30;--side-b:#0a2f25;--side-border:#155443;--brand:#ffffff;--brand-acc:#7ee2bd;--nav:#9cc8b5;--nav-hover-bg:#145744;--nav-hover-text:#e4fff4;--nav-active-bg:#18a67a;--nav-active-text:#ffffff;--nav-ind:#8ff0cc;--login-a:#d8f3e6;--login-b:#f2fbf6;--blob-a:#ffffffbb;--blob-b:#4dd9a866;--login-card:#ffffffee;--login-card-border:#cde9db;--login-card-text:#1f3d34;--login-card-shadow:0 24px 70px #1b6b4d2b;--login-input-bg:#ffffff;--login-input-border:#cfe4d8;--login-kicker:#4e8a74;--login-mark:#0e9f6e;--login-mark-glow:#0e9f6e33;--orbit:#0e9f6e22;--mask:#071f1780}html[data-theme=sunset]{--text:#4a2c22;--text-2:#96786b;--line:#f5e7e1;--panel:#fffdfc;--panel-border:#f6e0d6;--panel-shadow:0 5px 18px #7a3f2a0d;--field:#fdf1eb;--input-bg:#ffffff;--input-border:#efcfc0;--accent:#e8613c;--accent-soft:#ffe6db;--on-accent:#ffffff;--main-a:#fff1e8;--main-b:#fff9f4;--side-a:#5b2c1a;--side-b:#47221c;--side-border:#7a3f2a;--brand:#ffffff;--brand-acc:#ffb089;--nav:#d9b4a5;--nav-hover-bg:#7a3c26;--nav-hover-text:#ffeadd;--nav-active-bg:#e8613c;--nav-active-text:#ffffff;--nav-ind:#ffc7a8;--login-a:#ffd9c2;--login-b:#fff2e6;--blob-a:#ffffffbb;--blob-b:#ff9e6b66;--login-card:#fffdfbdd;--login-card-border:#f3cdb9;--login-card-text:#4a2c22;--login-card-shadow:0 22px 70px #7a3f2a2e;--login-input-bg:#ffffff;--login-input-border:#efcfc0;--login-kicker:#a06a55;--login-mark:#e8613c;--login-mark-glow:#e8613c33;--orbit:#e8613c22;--mask:#3a1a0e80}html[data-theme=lavender]{--text:#332a4a;--text-2:#7a6f9b;--line:#ece5f7;--panel:#ffffff;--panel-border:#e6dcf5;--panel-shadow:0 5px 18px #4a33960f;--field:#f3edfc;--input-bg:#ffffff;--input-border:#ddd0f0;--accent:#7c5cbf;--accent-soft:#ece2fb;--on-accent:#ffffff;--main-a:#efe9fb;--main-b:#faf7ff;--side-a:#38225f;--side-b:#2c1a4d;--side-border:#4d3480;--brand:#ffffff;--brand-acc:#c9b3ff;--nav:#c4b3e2;--nav-hover-bg:#4d3480;--nav-hover-text:#f1eaff;--nav-active-bg:#8a67d6;--nav-active-text:#ffffff;--nav-ind:#dcc8ff;--login-a:#e5dafd;--login-b:#f7f2ff;--blob-a:#ffffffbb;--blob-b:#b99bff55;--login-card:#ffffffee;--login-card-border:#e4d7fb;--login-card-text:#332a4a;--login-card-shadow:0 24px 70px #4a33963a;--login-input-bg:#ffffff;--login-input-border:#ddd0f0;--login-kicker:#8571ad;--login-mark:#7c5cbf;--login-mark-glow:#7c5cbf33;--orbit:#7c5cbf22;--mask:#1d103680}html[data-theme=night]{--text:#d7e6f4;--text-2:#8ba2ba;--line:#263a52;--panel:#16233a;--panel-border:#253c58;--panel-shadow:0 8px 26px #04070c66;--field:#101c2e;--input-bg:#0f1b2e;--input-border:#2c4666;--accent:#58e0cf;--accent-soft:#12343a;--on-accent:#04201b;--main-a:#0a1526;--main-b:#0d1b30;--side-a:#0c1729;--side-b:#0a1424;--side-border:#1d3450;--brand:#eaf6ff;--brand-acc:#5fe3d4;--nav:#9db4d0;--nav-hover-bg:#16283f;--nav-hover-text:#e2f1ff;--nav-active-bg:#1c4c58;--nav-active-text:#d2fff6;--nav-ind:#58e0cf;--login-a:#0a1626;--login-b:#122a3f;--blob-a:#58e0cf22;--blob-b:#7d6bff26;--login-card:#101f33dd;--login-card-border:#2c6a73;--login-card-text:#d7e6f4;--login-card-shadow:0 0 90px #58e0cf1f,0 25px 80px #0008;--login-input-bg:#0b1626;--login-input-border:#2c4766;--login-kicker:#7fb9b8;--login-mark:#58e0cf;--login-mark-glow:#58e0cf44;--orbit:#58e0cf2e;--mask:#02060c99}html[data-theme]{background:var(--main-a);color:var(--text)}html[data-theme] .login,html[data-theme] .shell,html[data-theme] .login-card,html[data-theme] .side,html[data-theme] .main,html[data-theme] .card,html[data-theme] .panel,html[data-theme] .modal,html[data-theme] .account-trigger,html[data-theme] .account-dropdown,html[data-theme] .theme-switch,html[data-theme] .nav,html[data-theme] .brand,html[data-theme] .query-bar,html[data-theme] .role-card,html[data-theme] .access-tabs button,html[data-theme] .range-switch button{transition:background .5s ease,color .3s ease,border-color .5s ease,box-shadow .5s ease}html[data-theme] .login{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--login-a),var(--login-b));color:var(--login-card-text)}html[data-theme] .login:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;top:-180px;right:-140px;background:radial-gradient(circle at 35% 35%,var(--blob-a),transparent 62%);filter:blur(36px);opacity:.9;pointer-events:none}html[data-theme] .login:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;bottom:-170px;left:-130px;background:radial-gradient(circle at 65% 65%,var(--blob-b),transparent 65%);filter:blur(44px);opacity:.9;pointer-events:none}html[data-theme] .login .theme-switch{position:absolute;top:26px;right:26px;z-index:5;background:var(--login-card);border-color:var(--login-input-border);color:var(--login-kicker)}html[data-theme] .login-card{position:relative;z-index:2;background:var(--login-card);border:1px solid var(--login-card-border);color:var(--login-card-text);box-shadow:var(--login-card-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}html[data-theme] .login-card input{background:var(--login-input-bg);border-color:var(--login-input-border);color:var(--login-card-text)}html[data-theme] .login-card input::placeholder{color:var(--login-kicker)}html[data-theme] .login-kicker{color:var(--login-kicker)}html[data-theme] .login-mark{border-color:var(--login-mark);color:var(--login-mark);box-shadow:0 0 22px var(--login-mark-glow)}html[data-theme] .login-orbit{position:absolute;width:500px;height:500px;border:1px solid var(--orbit);border-radius:50%;box-shadow:0 0 100px var(--login-mark-glow);transform:rotate(35deg);opacity:.8;pointer-events:none}html[data-theme] .shell{color:var(--text)}html[data-theme] .side{background:linear-gradient(180deg,var(--side-a),var(--side-b));border-right:1px solid var(--side-border)}html[data-theme] .brand{color:var(--brand)}html[data-theme] .brand span{color:var(--brand-acc)}html[data-theme] .nav{color:var(--nav)}html[data-theme] .nav.active,html[data-theme] .nav:hover{background:var(--nav-active-bg);color:var(--nav-active-text);box-shadow:inset 3px 0 0 var(--nav-ind)}html[data-theme] .main{background:linear-gradient(135deg,var(--main-a),var(--main-b))}html[data-theme] .muted,html[data-theme] .eyebrow,html[data-theme] .loading,html[data-theme] .empty,html[data-theme] .date-filter,html[data-theme] .account-text small,html[data-theme] .role-meta,html[data-theme] .locked,html[data-theme] .chart-labels,html[data-theme] .growth-summary,html[data-theme] .permission-tree small,html[data-theme] .role-card p,html[data-theme] th{color:var(--text-2)}html[data-theme] .growth-summary b{color:var(--text)}html[data-theme] .card,html[data-theme] .panel{background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow);color:var(--text)}html[data-theme] th,html[data-theme] td{border-bottom-color:var(--line)}html[data-theme] .button{background:var(--accent);color:var(--on-accent)}html[data-theme] .link,html[data-theme] .row-actions button,html[data-theme] .password-field button{color:var(--accent)}html[data-theme] .avatar{background:var(--accent);color:var(--on-accent)}html[data-theme] .account-trigger,html[data-theme] .account-dropdown{background:var(--panel);color:var(--text);box-shadow:0 12px 36px #0002}html[data-theme] .modal{background:var(--panel);color:var(--text);box-shadow:0 20px 60px #0002}html[data-theme] .modal-mask{background:var(--mask)}html[data-theme] .modal label{color:var(--text-2)}html[data-theme] .modal-head button,html[data-theme] .account-dropdown button{color:var(--text)}html[data-theme] .theme-switch{background:var(--panel);border-color:var(--input-border);color:var(--text-2)}html[data-theme] .side .theme-switch{background:transparent;border-color:var(--side-border);color:var(--nav)}html[data-theme] .stage-form input,html[data-theme] .stage-form textarea,html[data-theme] .modal input,html[data-theme] .modal textarea,html[data-theme] .modal select,html[data-theme] .query-bar>input,html[data-theme] .query-bar>select,html[data-theme] .date-filter input,html[data-theme] .access-form input{background:var(--input-bg);border-color:var(--input-border);color:var(--text)}html[data-theme] .query-bar{background:var(--field)}html[data-theme] .audit-detail pre{background:var(--field);color:var(--text)}html[data-theme] .secondary{background:var(--input-bg);border-color:var(--input-border);color:var(--text)}html[data-theme] .range-switch button{background:var(--field);color:var(--text-2)}html[data-theme] .range-switch button.active{background:var(--accent);color:var(--on-accent)}html[data-theme] .access-tabs button{background:var(--field);color:var(--text-2)}html[data-theme] .access-tabs .active{background:var(--accent);color:var(--on-accent)}html[data-theme] .role-icon,html[data-theme] .builtin-tag,html[data-theme] .status{background:var(--accent-soft);color:var(--accent)}html[data-theme] .role-card{background:var(--panel);border-color:var(--panel-border);color:var(--text)}html[data-theme] .permission-tree section{border-color:var(--panel-border)}html[data-theme] .role-options label{border-color:var(--input-border);background:var(--input-bg)}html[data-theme] .role-options label.selected{border-color:var(--accent);background:var(--accent-soft)}html[data-theme] .role-options b{color:var(--text)}html[data-theme] .role-options small{color:var(--text-2)}html[data-theme] .grid-line{stroke:var(--line)}html[data-theme] .growth-line{stroke:var(--accent)}html[data-theme] .growth-bars{border-bottom-color:var(--line)}html[data-theme] .growth-bar{background:var(--accent)}html[data-theme] .growth-bar:hover{filter:brightness(1.1)}
