:root{--bg:#f5f5f7;--surface:#fff;--surface-2:#fafafa;--border:#e5e5ea;--t1:#1d1d1f;--t2:#6e6e73;--t3:#a1a1a6;--accent:#c9a84c;--accent-bg:#c9a84c1a;--danger:#c62828;--radius:12px;--shadow-1:0 1px 2px #0000000a, 0 4px 12px #0000000d;--shadow-2:0 4px 12px #0000000f, 0 12px 32px #00000014;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--t1);-webkit-font-smoothing:antialiased;font-size:14px}.shell{grid-template-rows:72px 1fr;min-height:100%;display:grid}.shell-main{width:100%;max-width:1200px;margin:0 auto;padding:32px clamp(20px,5vw,60px)}.navbar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:16px;height:72px;padding:0 clamp(20px,5vw,40px);display:flex}.navbar-title{letter-spacing:-.2px;font-size:16px;font-weight:600}.navbar-sub{color:var(--t3);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.navbar-right{align-items:center;gap:14px;margin-left:auto;display:flex}.navbar-user{color:var(--t2);font-size:13px}.navbar-link{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:6px;padding:6px 10px}.navbar-link:hover{background:var(--accent-bg)}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:20px;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1);cursor:pointer;color:inherit;flex-direction:column;gap:10px;padding:20px;text-decoration:none;transition:transform .12s,box-shadow .12s;display:flex}.tile:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.tile.disabled{opacity:.55;cursor:not-allowed}.tile.disabled:hover{box-shadow:var(--shadow-1);transform:none}.tile-icon{background:var(--accent-bg);width:40px;height:40px;color:var(--accent);border-radius:10px;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.tile-title{letter-spacing:-.2px;font-size:16px;font-weight:600}.tile-sub{color:var(--t2);font-size:12px;line-height:1.5}.tile-status{text-transform:uppercase;letter-spacing:.5px;color:var(--t3);margin-top:auto;font-size:10px}.page-h1{letter-spacing:-.4px;font-size:24px;font-weight:700}.page-sub{color:var(--t2);margin-top:6px;font-size:13px}.login-wrap{place-items:center;min-height:100%;padding:20px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-2);width:min(420px,100%);padding:32px}.login-h1{letter-spacing:-.3px;font-size:20px;font-weight:700}.login-sub{color:var(--t2);margin-top:6px;margin-bottom:24px;font-size:13px}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--t2);font-size:12px;font-weight:600}.field input{font:inherit;border:1px solid var(--border);background:var(--surface-2);border-radius:8px;outline:none;padding:10px 12px;transition:border-color .12s}.field input:focus{border-color:var(--accent);background:var(--surface)}.field-error{color:var(--danger);font-size:12px}.btn-primary{background:var(--t1);color:#fff;width:100%;font:inherit;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:11px 16px;font-weight:600;transition:opacity .12s;display:inline-flex}.btn-primary:hover:not(:disabled){opacity:.88}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.alert-error{color:var(--danger);background:#c6282814;border:1px solid #c6282840;border-radius:8px;margin-bottom:14px;padding:10px 12px;font-size:13px}.center-loader{min-height:100%;color:var(--t2);place-items:center;padding:40px;font-size:13px;display:grid}
