:root{color:#1f2a44;background:#f4f7fb;font-family:Inter,Microsoft YaHei,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0}.app-shell{min-height:100vh;display:flex}.sidebar{background:#fff;border-right:1px solid #e2e8f2;flex-direction:column;width:220px;padding:24px 14px;display:flex}.brand{color:#172642;align-items:center;gap:10px;padding:4px 12px 30px;font-size:17px;font-weight:600;display:flex}.brand-mark{color:#fff;background:#1769e8;border-radius:8px;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.sidebar nav{gap:5px;display:grid}.sidebar nav a{color:#60708c;border-radius:6px;padding:12px 14px;text-decoration:none}.sidebar nav a:hover,.sidebar nav a.active{color:#1769e8;background:#edf4ff}.sidebar-foot{color:#98a6bb;margin-top:auto;padding:12px;font-size:13px}.main{flex:1;max-width:1500px;padding:34px 42px}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:28px;display:flex}.page-header h1{margin:0 0 6px;font-size:28px;font-weight:600}.page-header p{color:#73839d;margin:0}.header-actions{align-items:center;gap:10px;display:flex}.button{color:#406184;cursor:pointer;background:#fff;border:1px solid #cdd9e9;border-radius:6px;height:40px;padding:0 18px;font-size:15px}.button.primary{color:#fff;background:#1769e8;border-color:#1769e8}.button.secondary:hover{color:#1769e8;border-color:#1769e8}.button.full{width:100%}.avatar{color:#1769e8;background:#eaf2ff;border:0;border-radius:50%;width:38px;height:38px}.metric-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.metric,.panel{background:#fff;border:1px solid #e1e8f2;border-radius:8px}.metric{flex-direction:column;gap:8px;padding:20px;display:flex}.metric span,.metric small{color:#72839e}.metric strong{font-size:28px;font-weight:600}.content-grid{grid-template-columns:1.2fr 1fr;gap:20px;display:grid}.panel-head{border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.panel-head h2{margin:0;font-size:17px;font-weight:600}.panel-head a{color:#1769e8;font-size:14px;text-decoration:none}.empty-state{color:#8a98ad;align-items:center;gap:8px;padding:54px 22px;display:flex}.status-dot{background:#25ad6b;border-radius:50%;width:9px;height:9px;display:inline-block}.status-dot.warning{background:#e4a52d}.progress-row{color:#687893;grid-template-columns:1fr auto;gap:8px;padding:20px 22px 0;display:grid}.progress-row:last-child{padding-bottom:22px}.progress-row b{color:#253756}.progress{background:#eef2f7;border-radius:4px;grid-column:1/-1;height:7px;overflow:hidden}.progress i{background:#1769e8;height:100%;display:block}.toolbar{justify-content:flex-end;gap:10px;margin-bottom:14px;display:flex}.toolbar input,.toolbar select,.settings select,label input{color:#405574;background:#fff;border:1px solid #d4dfed;border-radius:6px;height:40px;padding:0 12px;font-size:15px}.toolbar input{width:260px;margin-right:auto}.table-panel{overflow:hidden}table{border-collapse:collapse;width:100%}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #edf1f6;padding:17px 20px}th{color:#5e6f8a;background:#fbfcfe;font-weight:600}td{color:#455a79}.table-foot{color:#7a8ba6;justify-content:space-between;padding:16px 20px;display:flex}.settings{gap:18px;max-width:520px;padding:24px;display:grid}.settings label{color:#52627e;gap:8px;display:grid}.login-page{place-items:center;min-height:100vh;display:grid}.login-card{background:#fff;border:1px solid #e1e8f2;border-radius:8px;width:400px;padding:34px;box-shadow:0 12px 36px #1b31550e}.login-brand{padding:0 0 28px}.login-card h1{margin:0 0 8px;font-size:24px}.login-card>p{color:#71829c;margin:0 0 24px}.login-card label{color:#52627e;gap:8px;margin-top:16px;display:grid}.login-card label input{width:100%}.turnstile-placeholder{color:#8a99ad;border:1px dashed #c9d6e8;border-radius:6px;place-items:center;height:54px;margin:18px 0;font-size:13px;display:grid}@media (width<=900px){.sidebar{width:180px}.main{padding:24px}.metric-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}}:root{--turnstile-space:65px}.turnstile-box{align-items:center;min-height:65px;margin:18px 0;display:flex}.form-error{color:#c84a4a;margin:0 0 14px;font-size:14px}.logout-link{color:#72839e;cursor:pointer;background:0 0;border:0;font-size:13px;position:fixed;bottom:20px;right:28px}.logout-link:hover{color:#1769e8}.button.tiny{height:32px;padding:0 10px;font-size:13px}.inline-form{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:14px;display:flex}.inline-form input{color:#405574;border:1px solid #d4dfed;border-radius:6px;height:36px;padding:0 10px}.table-panel td small{color:#8492a8;margin-top:4px;font-size:13px;display:block}.error-state{color:#c84a4a;gap:12px}.recipe-panel{max-width:860px}.recipe-panel textarea{resize:vertical;color:#405574;border:1px solid #d4dfed;border-radius:6px;width:100%;padding:12px;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.muted{color:#8492a8;font-size:13px}.storage-summary{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px;display:grid}.storage-summary>div{background:#fff;border:1px solid #e1e8f2;border-radius:8px;gap:6px;padding:16px 20px;display:grid}.storage-summary span{color:#72839e;font-size:14px}.storage-summary strong{color:#253756;font-size:18px;font-weight:600}
