*{box-sizing:border-box}body,html{margin:0;padding:0;background:#08080a;color:#f2f0f7;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:inherit}.layout{display:flex;min-height:100vh}.sidebar{width:230px;flex-shrink:0;background:#0d0d10;border-right:1px solid #212024;padding:24px 16px;display:flex;flex-direction:column;gap:4px}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 24px;font-weight:800;font-size:16px}.nav-link{padding:10px 12px;border-radius:10px;text-decoration:none;color:#a8a6ad;font-size:14px;font-weight:600}.nav-link.active{background:rgba(255,106,26,.16);color:#fff}.nav-link:hover{background:rgba(255,106,26,.08)}.main{flex:1 1;min-width:0;padding:32px 40px;max-width:1200px}.page-title{font-size:20px;font-weight:700;letter-spacing:-.01em;margin:0 0 20px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.card{background:#131215;border:1px solid #212024;border-radius:16px;padding:20px;min-width:0;overflow-wrap:break-word}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:16px;gap:16px;margin-bottom:28px}.stat-value{font-size:28px;font-weight:800}.stat-label{color:#9c9aa0;font-size:13px;margin-top:4px}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px;gap:16px}.app-icon{width:48px;height:48px;border-radius:12px;background:#1a191d;display:flex;align-items:center;justify-content:center;font-weight:800;color:#ff6a1a;font-size:18px;overflow:hidden;flex-shrink:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13.5px}th{text-align:left;color:#9c9aa0;font-weight:600;font-size:12px;padding:10px 12px;border-bottom:1px solid #212024}td{padding:14px 12px;border-bottom:1px solid #1a191d;vertical-align:middle}tr:last-child td{border-bottom:none}.btn{border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:background .15s ease,opacity .15s ease}.btn-primary{background:#ff6a1a;color:#0a0a0a}.btn-primary:hover:not(:disabled){background:#ff7e3d}.btn-danger{background:transparent;color:#ff8080;border:1px solid rgba(229,62,92,.4)}.btn-danger:hover:not(:disabled){background:rgba(229,62,92,.12)}.btn-danger-solid{background:#e53e5c;color:#fff}.btn-danger-solid:hover:not(:disabled){background:#ef4d6c}.btn-muted{background:transparent;color:#a8a6ad;border:1px solid #212024}.btn-muted:hover:not(:disabled){background:#17161a;color:#f2f0f7}.btn:disabled{opacity:.45;cursor:not-allowed}.input{background:#0d0d10;border:1px solid #221f24;border-radius:10px;padding:10px 12px;color:#fff;font-size:14px;width:100%}textarea.input{resize:vertical;min-height:80px;font-family:inherit}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:700;line-height:1}.badge-ok{background:rgba(53,178,76,.18);color:#35b24c}.badge-warn{background:rgba(255,138,61,.18);color:#ff8a3d}.badge-danger{background:rgba(229,62,92,.18);color:#e53e5c}.badge-muted{background:hsla(257,4%,66%,.14);color:#a8a6ad}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-box{width:380px;display:flex;flex-direction:column;gap:14px}.error-text{color:#ff8a8a;font-size:13px}.hint-text{color:#9c9aa0;font-size:12px;line-height:1.5}.muted{color:#9c9aa0;font-size:13px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spacer{flex:1 1}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal-card{background:#131215;color:#f2f0f7;max-height:85vh;overflow-y:auto;width:100%;max-width:460px;display:flex;flex-direction:column;gap:12px}.checkbox-label{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#9c9aa0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:#ff6a1a;cursor:pointer}.progress-track{width:100%;height:6px;border-radius:999px;background:#221f24;overflow:hidden}.progress-fill{height:100%;background:#ff6a1a;transition:width .2s ease}label.field-label{color:#9c9aa0;font-size:12.5px;font-weight:600;display:block;margin-bottom:6px}