.app-container{min-height:100vh;display:flex;flex-direction:column}.app-header{background-color:var(--color-text);color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}.app-header h1{font-size:1.5rem;font-weight:600}.app-header nav{display:flex;gap:1.5rem;align-items:center}.app-header a{color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:4px;transition:background-color .2s}.app-header a:hover{background-color:#ffffff1a}.app-main{flex:1;padding:2rem;max-width:1400px;width:100%;margin:0 auto}.button{padding:.75rem 1.5rem;border:none;border-radius:var(--border-radius, 8px);font-size:1rem;cursor:pointer;transition:all .2s;font-weight:500}.button-primary{background-color:var(--color-primary, #3498db);color:#fff}.button-primary:hover{filter:brightness(.92)}.button-secondary{background-color:var(--color-secondary, #95a5a6);color:#fff}.button-secondary:hover{filter:brightness(.92)}.button-danger{background-color:var(--color-danger, #e74c3c);color:#fff}.button-danger:hover{filter:brightness(.92)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-family:inherit}.form-group textarea{min-height:100px;resize:vertical}.card{background:#fff;border-radius:var(--border-radius, 8px);padding:1.5rem;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem}.card h2{margin-bottom:1rem;color:var(--color-text)}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.table th,.table td{padding:1rem;text-align:left;border-bottom:1px solid #eee}.table th{background-color:#f8f9fa;font-weight:600;color:var(--color-text)}.table tr:hover{background-color:#f8f9fa}.error-message{color:var(--color-danger, #e74c3c);padding:1rem;background-color:#fee;border-radius:4px;margin-bottom:1rem}.success-message{color:var(--color-success, #27ae60);padding:1rem;background-color:#dfe;border-radius:4px;margin-bottom:1rem}.page{display:flex;flex-direction:column;gap:16px}.pageHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.pageHeaderTitleWrap{min-width:0}.pageTitle{font-size:20px;font-weight:700;letter-spacing:-.01em;color:var(--color-text)}.pageSubtitle{margin-top:4px;color:#2c3e50bf;font-size:14px;line-height:1.4}.pageActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:16px;box-shadow:0 1px 2px #0000000f}.cardTitle{font-weight:700;margin-bottom:10px}.muted{color:#2c3e50bf}.emptyState{display:grid;place-items:center;padding:28px;text-align:center;gap:10px}.emptyTitle{font-weight:700}.emptyBody{color:#2c3e50bf;font-size:14px;line-height:1.4;max-width:520px}.divider{height:1px;background:#0000000f;margin:12px 0}.shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr;background:var(--color-background)}.shellCollapsed{grid-template-columns:76px 1fr}.sidebar{background:#0b1220;color:#ffffffe6;border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;padding:14px;gap:14px}.brandRow{display:flex;align-items:center;justify-content:space-between;gap:10px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.01em}.brandMark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#2dd4bf,#60a5fa);box-shadow:0 8px 18px #2dd4bf2e}.collapseBtn{background:transparent;border:1px solid rgba(255,255,255,.18);color:#ffffffd9;border-radius:10px;padding:6px 8px;cursor:pointer}.navGroupTitle{margin-top:6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c}.nav{display:flex;flex-direction:column;gap:6px}.navLink{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;color:#ffffffd9;text-decoration:none}.navLink:hover{background:#ffffff14}.navLinkActive{background:#60a5fa2e;border:1px solid rgba(96,165,250,.25)}.navIcon{width:18px;text-align:center;opacity:.9}.collapsedText,.shellCollapsed .navLink span,.shellCollapsed .navGroupTitle,.shellCollapsed .brandText{display:none}.shellCollapsed .sidebar{padding:14px 10px}.main{display:flex;flex-direction:column;min-width:0}.topbar{height:56px;background:#fff;border-bottom:1px solid rgba(0,0,0,.06);display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:12px}.topbarLeft{display:flex;align-items:center;gap:10px;min-width:0}.envBadge{font-size:12px;padding:4px 8px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:#00000008;color:#2c3e50d9}.topbarRight{display:flex;align-items:center;gap:10px}.select{border:1px solid rgba(0,0,0,.12);border-radius:10px;padding:8px 10px;background:#fff}.userPill{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:#00000005;color:#2c3e50e6;font-size:13px}.content{padding:18px;max-width:1400px;width:100%;margin:0 auto}@media (max-width: 980px){.shell{grid-template-columns:76px 1fr}.sidebar .brandText,.sidebar .navGroupTitle,.sidebar .navLink span{display:none}}*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #3498db;--color-secondary: #95a5a6;--color-success: #27ae60;--color-danger: #e74c3c;--color-warning: #f39c12;--color-info: #3498db;--color-background: #f5f5f5;--color-text: #2c3e50;--font-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-heading: var(--font-primary);--spacing-unit: 8px;--border-radius: 8px}body{font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-background);color:var(--color-text)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}
