:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f8f8;--surface:#fff;--surface-soft:#edf7f6;--ink:#183033;--muted:#5c7377;--line:#d8e6e5;--teal:#087c84;--teal-dark:#075b63;--blue:#2563eb;--green:#17803d;--yellow:#9a6a00;--red:#b42318;--gray:#667085;--shadow:0 18px 45px #112a2e17}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.app-shell{grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid}.access-shell{background:linear-gradient(#edf7f6f2,#f4f8f8fa),#f4f8f8;place-items:center;min-height:100vh;padding:20px;display:grid}.access-panel{width:min(460px,100%)}.access-brand{justify-content:center;margin-bottom:12px;padding:8px 0}.access-card{border:1px solid var(--line);width:100%}.sidebar{border-right:1px solid var(--line);background:#fff;height:100vh;padding:20px 16px;position:sticky;top:0;overflow-y:auto}.brand{color:var(--teal-dark);align-items:center;gap:12px;margin-bottom:16px;padding:12px;display:flex}.brand strong,.brand span{display:block}.brand strong{font-size:18px}.brand span{color:var(--muted);margin-top:2px;font-size:12px}.sidebar nav{gap:4px;display:grid}.sidebar nav button{color:#355256;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 12px;display:flex}.sidebar nav button:hover,.sidebar nav button.active{background:var(--surface-soft);color:var(--teal-dark)}.sidebar nav button.nav-child{border-left:2px solid var(--line);color:#4f686c;border-radius:0 7px 7px 0;width:calc(100% - 20px);min-height:34px;margin-left:20px;font-size:13px}.sidebar nav button.nav-child:hover,.sidebar nav button.nav-child.active{border-left-color:var(--teal)}.workspace{min-width:0;padding:22px}.topbar,.section-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.topbar p,.section-head p{color:var(--muted);margin:0 0 4px;font-size:13px}.section-note{color:var(--muted);margin-top:6px;font-size:12px;display:block}.topbar h1,.section-head h1{letter-spacing:0;margin:0;font-size:24px}.topbar-actions,.head-actions,.overview-actions,.row-actions,.drawer-actions,.button-grid,.pagination{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.primary-button,.secondary-button,.danger-button,.icon-button{white-space:nowrap;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 12px;display:inline-flex}.primary-button{background:var(--teal);color:#fff}.primary-button:hover{background:var(--teal-dark)}.secondary-button{border-color:var(--line);color:#204a50;background:#fff}.secondary-button:hover{background:#f6fbfb;border-color:#9bc6c7}.danger-button{color:var(--red);background:#fff4f2;border-color:#ffd3cc}.icon-button{border-color:var(--line);color:#355256;background:#fff;width:34px;padding:0}.icon-button.danger{color:var(--red)}.storage-badge,.editor-badge,.status-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;width:fit-content;max-width:100%;padding:4px 9px;font-size:12px;font-weight:650;display:inline-flex}.storage-badge.good,.editor-badge.good,.status-pill.good{color:var(--green);background:#e8f7ee}.storage-badge.bad,.status-pill.bad{color:var(--red);background:#fff0ed}.status-pill.warn{color:var(--yellow);background:#fff7dc}.status-pill.muted{color:var(--gray);background:#f0f2f4}.status-pill.neutral{color:var(--blue);background:#eef6ff}.editor-badge.readonly{color:#4f6468;background:#eef2f4}.backup-warning{color:#744c00;background:#fff8de;border:1px solid #ffd166;border-radius:8px;align-items:center;gap:10px;margin-bottom:16px;padding:11px 12px;display:flex}.backup-warning.soft{color:#24585f;background:#effafa;border-color:#b8dce0}.backup-warning button{color:#744c00;background:#fff;border:1px solid #e2a90f;border-radius:6px;padding:6px 9px}.readonly-banner{color:#24585f;background:#f4fbfb;border:1px solid #b8dce0;border-radius:8px;align-items:center;gap:10px;margin-bottom:16px;padding:11px 12px;display:flex}.readonly-banner button{color:var(--teal-dark);white-space:nowrap;background:#fff;border:1px solid #9bc6c7;border-radius:6px;margin-left:auto;padding:6px 9px}.overview-actions{margin-bottom:16px}.stat-grid{grid-template-columns:repeat(7,minmax(118px,1fr));gap:10px;margin-bottom:16px;display:grid}.stat-card,.panel,.loading-card,.module-section,.io-section{border:1px solid var(--line);background:var(--surface);border-radius:8px;box-shadow:0 1px #112a2e08}.stat-card{min-height:82px;padding:14px}.stat-card span{color:var(--muted);font-size:12px;display:block}.stat-card strong{color:var(--teal-dark);margin-top:10px;font-size:28px;display:block}.dashboard-grid,.io-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.panel{padding:16px}.panel h2{margin:0 0 12px;font-size:16px}.panel p{color:var(--muted);margin:-4px 0 14px;line-height:1.55}.bar-chart{gap:10px;display:grid}.bar-row{grid-template-columns:112px minmax(90px,1fr) 32px;align-items:center;gap:10px;font-size:13px;display:grid}.bar-row div{background:#e7f0f0;border-radius:999px;height:12px;overflow:hidden}.bar-row i{border-radius:inherit;background:#0f95a0;height:100%;display:block}.activity-list,.trash-list{gap:8px;display:grid}.activity-list button,.trash-item{border:1px solid var(--line);width:100%;color:inherit;text-align:left;background:#fbfefe;border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.activity-list button strong,.trash-item strong{display:block}.activity-list button small,.trash-item small{color:var(--muted);margin-top:3px;display:block}.alert-row.warn{background:#fffaf0;border-color:#ffd166}.alert-row.bad{background:#fff4f2;border-color:#ffb4a8}.module-section,.io-section{padding:16px}.toolbar{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.search-box{border:1px solid var(--line);background:#fff;border-radius:7px;flex:1;align-items:center;gap:8px;min-width:min(460px,100%);padding:0 10px;display:flex}.search-box input{border:0;outline:0;width:100%;min-width:0;min-height:36px}select,input,textarea{border:1px solid var(--line);min-height:36px;color:var(--ink);background:#fff;border-radius:7px;padding:7px 10px}textarea{resize:vertical}.table-wrap{border:1px solid var(--line);border-radius:8px;max-height:calc(100vh - 250px);overflow:auto}table{border-collapse:separate;border-spacing:0;width:100%;min-width:1160px;font-size:13px}th,td{border-bottom:1px solid var(--line);vertical-align:middle;text-align:left;padding:10px}th{z-index:1;color:#264f54;background:#edf7f6;font-weight:700;position:sticky;top:0}tbody tr:hover{background:#f8fcfc}.example-row{background:#fffdf1}.select-col{width:38px}.action-col{width:210px}.sort-button{color:inherit;font-weight:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.sample-link{color:var(--teal-dark);background:0 0;border:0;align-items:center;gap:6px;padding:0;font-weight:750;display:inline-flex}.sample-link span{color:#7a5600;background:#fff0bd;border-radius:999px;padding:2px 6px;font-size:11px}.warning-text.warn{color:var(--yellow);font-weight:750}.warning-text.bad{color:var(--red);font-weight:750}.pagination{color:var(--muted);justify-content:flex-end;margin-top:12px}.drawer-backdrop{z-index:10;background:#06181d42;justify-content:flex-end;display:flex;position:fixed;inset:0}.auth-backdrop{justify-content:center;align-items:center;padding:18px}.auth-card{width:min(440px,100%);max-height:calc(100vh - 36px);box-shadow:var(--shadow);background:#fff;border-radius:8px;padding:18px;overflow-y:auto}.auth-form{gap:12px;display:grid}.auth-form label{gap:6px;display:grid}.auth-form label>span{color:#31575d;font-size:13px;font-weight:700}.auth-form b{color:var(--red);margin-left:3px}.auth-form input{width:100%}.auth-form p{color:var(--muted);margin:2px 0 0;font-size:13px;line-height:1.6}.drawer{width:min(760px,100vw);height:100%;box-shadow:var(--shadow);background:#fff;padding:18px;overflow-y:auto}.drawer-head{z-index:2;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:12px;margin:-18px -18px 16px;padding:16px 18px;display:flex;position:sticky;top:0}.drawer-head span{color:var(--muted);font-size:13px}.drawer-head h2{margin:2px 0 0;font-size:21px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-grid label{gap:6px;display:grid}.form-grid label>span{color:#31575d;font-size:13px;font-weight:700}.form-grid b{color:var(--red);margin-left:3px}.bulk-field-toggle{align-items:center;gap:8px;display:flex}.bulk-field-toggle input{width:16px;height:16px;min-height:16px;margin:0;padding:0}.option-picks{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.option-picks button{border:1px solid var(--line);color:#31575c;background:#f7fbfb;border-radius:999px;min-height:26px;padding:0 9px;font-size:12px}.option-picks button:hover{background:#eef9f8;border-color:#9bc6c7}.form-grid .wide{grid-column:1/-1}.field-line{align-items:center;gap:6px;display:flex}.field-line input{flex:1;min-width:0}.field-mini-button{border:1px solid var(--line);color:#31575d;white-space:nowrap;background:#f7fbfb;border-radius:7px;flex:none;min-height:36px;padding:0 9px}.form-grid input,.form-grid textarea{width:100%}.template-strip{border:1px solid var(--line);background:#f7fbfb;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:10px;display:flex}.template-strip span{color:var(--muted);font-size:13px;font-weight:700}.template-strip button{min-height:30px;color:var(--teal-dark);background:#fff;border:1px solid #b8dce0;border-radius:999px;padding:0 10px}.nested-list{gap:10px;display:grid}.nested-row{border:1px solid var(--line);background:#fbfefe;border-radius:8px;grid-template-columns:repeat(3,minmax(130px,1fr)) auto;align-items:end;gap:8px;padding:10px;display:grid}.metadata{color:var(--muted);flex-wrap:wrap;gap:8px;margin-top:14px;font-size:12px;display:flex}.drawer-actions{border-top:1px solid var(--line);background:#fff;justify-content:flex-end;margin:18px -18px -18px;padding:12px 18px;position:sticky;bottom:0}.timeline{gap:12px;margin-top:10px;display:grid;position:relative}.timeline-group{gap:10px;display:grid}.timeline-group h3{border-left:4px solid var(--teal);color:#264f54;margin:4px 0 0;padding-left:8px;font-size:14px}.timeline article{grid-template-columns:22px minmax(0,1fr);gap:12px;display:grid}.timeline article i{background:var(--teal);border-radius:999px;width:12px;height:12px;margin-top:7px;box-shadow:0 0 0 5px #dff2f1}.timeline article>div{border:1px solid var(--line);border-radius:8px;padding:12px}.timeline span,.timeline small{color:var(--muted);display:block}.timeline strong{margin:4px 0;display:block}.generator-drawer{width:min(640px,100vw)}.generator-help,.generator-preview{border:1px solid var(--line);color:#31575d;background:#f7fbfb;border-radius:8px;margin-bottom:12px;padding:11px 12px;line-height:1.55}.generator-preview{gap:4px;margin-top:12px;display:grid}.generator-preview span{color:var(--muted);overflow-wrap:anywhere}.toast{z-index:20;max-width:min(420px,100vw - 36px);box-shadow:var(--shadow);color:#fff;border-radius:8px;padding:12px 14px;position:fixed;bottom:18px;right:18px}.toast.success{background:var(--green)}.toast.error{background:var(--red)}.empty-text,.loading-card{color:var(--muted)}.loading-card{padding:22px}.trash-item{grid-template-columns:minmax(0,1fr) auto}@media (width<=1180px){.stat-grid{grid-template-columns:repeat(4,minmax(118px,1fr))}}@media (width<=860px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:6;border-right:0;border-bottom:1px solid var(--line);height:auto;padding:10px 12px;position:sticky;top:0}.brand{margin-bottom:8px;padding:6px 4px}.sidebar nav{scrollbar-width:thin;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.sidebar nav button{flex:none;width:auto;min-height:36px}.sidebar nav button.nav-child{border-left:0;border-bottom:2px solid var(--line);border-radius:7px;flex:none;width:auto;margin-left:0}.workspace{padding:14px}.topbar,.section-head{flex-direction:column;align-items:flex-start}.stat-grid,.dashboard-grid,.io-grid,.form-grid,.nested-row{grid-template-columns:1fr}.bar-row{grid-template-columns:94px minmax(70px,1fr) 28px}.drawer{width:100vw}}@media (width<=520px){.sidebar nav{display:flex}.backup-warning,.readonly-banner{flex-direction:column;align-items:flex-start}.readonly-banner button{width:100%;margin-left:0}.primary-button,.secondary-button,.danger-button,.topbar-actions,.head-actions,.overview-actions,.button-grid,.drawer-actions{width:100%}}
