:root{--page-bg: #f6f7fb;--surface: #ffffff;--text: #1f2937;--muted: #64748b;--border: rgba(0,0,0,.08);--accent: #646cff;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;background:var(--page-bg)}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.container{max-width:480px;margin:0 auto;padding:2rem 1.25rem}.header h1{margin:0 0 1.25rem;text-align:center;font-size:1.875rem;font-weight:700}.login-card{display:flex;flex-direction:column;gap:1rem;padding:2rem;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:#fffc;box-shadow:0 10px 20px #0000000f}.form-group{display:flex;flex-direction:column;gap:.5rem}.login-card label{font-weight:600;font-size:.95rem}.login-card input{padding:.75rem .9rem;border:1px solid #d0d7de;border-radius:10px;font-size:1rem;background:#fff;color:#213547;outline:none;transition:border-color .2s,box-shadow .2s}.login-card input::placeholder{color:#9aa4b2}.login-card input:focus{border-color:#646cff;box-shadow:0 0 0 4px #646cff26}.login-button{margin-top:.5rem;padding:.8rem 1rem;border-radius:10px;border:1px solid #646cff;background:#646cff;color:#fff;font-weight:600;font-size:1rem;cursor:pointer;transition:background-color .2s,border-color .2s,transform .02s}.login-button:hover{background:#535bf2;border-color:#535bf2}.login-button:active{transform:translateY(1px)}@media (prefers-color-scheme: dark){.login-card{background:#2b2b2bcc;border-color:#ffffff14;box-shadow:0 10px 20px #00000059}.login-card input{background:#1f2937;color:#e5e7eb;border-color:#374151}.login-card input::placeholder{color:#9ca3af}}.status{margin-top:.75rem;font-size:.95rem}.status.error{color:#dc2626}.status.success{color:#16a34a}.profile-card{margin-top:1rem;padding:1rem 1.25rem;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:#fff}.profile-card h2{margin-top:0;font-size:1.25rem}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-shell__body{display:flex;flex:1;min-height:0}.topnav{position:sticky;top:0;z-index:20;height:56px;display:flex;align-items:center;padding:0 1rem;gap:1rem;border-bottom:1px solid rgba(0,0,0,.06);background:linear-gradient(180deg,#ffffffe6,#fffc);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.topnav__left{display:flex;align-items:baseline;gap:.5rem}.topnav .brand{font-weight:800;letter-spacing:.2px}.topnav .product{color:#64748b;font-weight:600;font-size:.95rem}.topnav__spacer{flex:1}.topnav__right{display:flex;align-items:center;gap:.75rem}.user-pill{display:flex;align-items:center;gap:.5rem;padding:.35rem .6rem;border-radius:999px;background:#f3f4f6}.user-pill .avatar{font-size:1rem}.user-pill .name{font-weight:600}.sidebar{width:240px;border-right:1px solid rgba(0,0,0,.06);background:#fafafa;display:flex;flex-direction:column}.sidebar--collapsed{width:72px}.sidebar__top{padding:.75rem;border-bottom:1px solid rgba(0,0,0,.05)}.sidebar__toggle{width:100%;padding:.5rem .75rem;border-radius:8px;background:#fff;border:1px solid #e5e7eb;cursor:pointer}.sidebar__toggle:hover{background:#f9fafb}.sidebar__nav{padding:.25rem;overflow-y:auto}.menu-group{margin:.25rem 0}.menu-group__header{width:100%;display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:10px;background:transparent;border:none;cursor:pointer;text-align:left}.menu-group__header:hover{background:#eef2ff}.menu-group .icon{width:24px;display:inline-flex;justify-content:center}.menu-group .chev{margin-left:auto;transition:transform .15s}.menu-group .chev.open{transform:rotate(180deg)}.submenu{padding-left:2.3rem;display:flex;flex-direction:column;gap:.25rem;margin:.25rem 0 .5rem}.submenu__item{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:8px;color:inherit;text-decoration:none}.submenu__item:hover{background:#eef2ff}.submenu__item .dot{opacity:.6}.submenu__item.active{background:#e5e7ff;font-weight:600}.submenu__item--expandable{border:none;background:transparent;cursor:pointer;width:100%;text-align:left;font-family:inherit;font-size:inherit}.submenu__item--expandable .chev{margin-left:auto;font-size:.75rem;transition:transform .15s}.submenu__item--expandable .chev.open{transform:rotate(180deg)}.sub-submenu{padding-left:1.5rem;display:flex;flex-direction:column;gap:.2rem;margin:.2rem 0}.sub-submenu__item{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border-radius:6px;color:inherit;text-decoration:none;font-size:.9rem}.sub-submenu__item:hover{background:#e0e7ff}.sub-submenu__item .sub-dot{opacity:.5;font-size:.85rem}.sub-submenu__item.active{background:#ddd6fe;font-weight:600}.app-content{flex:1;padding:1rem 1.25rem;min-width:0}.dashboard-welcome h2{margin-top:0}.card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:1rem 1.25rem;box-shadow:0 4px 12px #0000000a}.card__header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.card__header h2{margin:0;font-size:1.15rem;white-space:normal;word-wrap:break-word;max-width:100%}.muted{color:#64748b;font-size:.9rem}.table-wrap{overflow:auto;border:1px solid rgba(0,0,0,.06);border-radius:10px;background:#fff}.data-table{width:100%;border-collapse:collapse;font-size:.95rem}.data-table th,.data-table td{padding:.6rem .75rem;border-bottom:1px solid #f1f5f9;text-align:left;vertical-align:top}.data-table thead th{position:sticky;top:0;background:#f8fafc;font-weight:700}.empty-state,.placeholder{display:grid;place-items:center;padding:2rem;color:#64748b}.placeholder__card{text-align:center;padding:2rem 1.25rem;border:1px dashed #c7d2fe;border-radius:12px;background:#eef2ff}.placeholder__icon{font-size:1.5rem;margin-bottom:.25rem}.placeholder__text{font-weight:600}.pagination{display:flex;align-items:center;gap:.5rem;margin-top:.75rem}.pagination button{padding:.35rem .6rem;border-radius:8px;border:1px solid #e5e7eb;background:#fff;cursor:pointer}.pagination button.active{background:#4f46e5;border-color:#4f46e5;color:#fff}.pagination .pages{display:flex;gap:.35rem}.table-controls{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-bottom:.5rem}.table-controls select{margin:0 .35rem}.topnav{box-shadow:0 1px 2px #0000000a}.dashboard-welcome{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:1rem 1.25rem;box-shadow:0 4px 12px #0000000a}.dashboard-welcome p{color:#64748b}@media (max-width: 960px){.app-content{padding:.75rem}.topnav{height:52px;padding:0 .75rem}}@media (prefers-color-scheme: dark){.topnav{background:#111827bf;border-color:#ffffff14}.topnav .product{color:#9ca3af}.user-pill{background:#1f2937}.sidebar{background:#0b1220;border-color:#ffffff14}.sidebar__toggle{background:#111827;border-color:#374151;color:#e5e7eb}.menu-group__header:hover,.submenu__item:hover{background:#1f2937}.submenu__item.active{background:#312e81}.sub-submenu__item:hover{background:#1e3a8a}.sub-submenu__item.active{background:#4c1d95}.app-content{color:#e5e7eb}}.stepper{position:relative;padding-top:.25rem}.stepper__progress{position:absolute;top:16px;left:0;right:0;height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.stepper__bar{position:absolute;top:0;left:0;bottom:0;width:0;background:var(--accent);transition:width .2s ease}.stepper__list{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;margin:0;gap:.5rem;position:relative}.stepper__item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.25rem;color:#64748b}.stepper__bullet{width:28px;height:28px;border-radius:999px;display:inline-grid;place-items:center;background:#e5e7eb;color:#111827;font-weight:700}.stepper__item.is-active .stepper__bullet{background:#c7d2fe}.stepper__item.is-complete .stepper__bullet{background:#4f46e5;color:#fff}.stepper__label{font-size:.85rem;font-weight:600}.btn{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .8rem;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#111827;cursor:pointer;font-weight:600}.btn:hover{background:#f9fafb}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.primary{background:#4f46e5;border-color:#4f46e5;color:#fff}.btn.primary:hover{background:#4338ca;border-color:#4338ca}.btn.secondary{background:#111827;border-color:#111827;color:#fff}.btn.secondary:hover{background:#0b1220;border-color:#0b1220}.btn.ghost{background:#fff;border-color:#e5e7eb;color:#111827}.btn.sm{padding:.3rem .55rem;font-size:.9rem}.callout{padding:.6rem .75rem;border-radius:8px;border:1px solid #e5e7eb;background:#fff}.callout.info{border-color:#bfdbfe;background:#eff6ff;color:#1e40af}.callout.error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.callout.success{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.progress{position:relative;height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden}.progress__bar{position:absolute;top:0;left:0;bottom:0;width:0;background:#4f46e5;transition:width .2s ease}.form-step .form-group input[type=text],.form-step .form-group input[type=datetime-local],.form-step .form-group textarea{width:100%;box-sizing:border-box;padding:.6rem .75rem;border:1px solid #d0d7de;border-radius:8px;background:#fff;color:#213547}.form-step .form-group textarea{resize:vertical}.stepper__item.is-clickable{cursor:pointer}.stepper__item.is-clickable:hover .stepper__label{text-decoration:underline}.btn.lg{padding:.7rem 1rem;font-size:1.05rem}.modal{position:fixed;inset:0;z-index:50}.modal__backdrop{position:absolute;inset:0;background:#00000073}.modal__dialog{position:relative;margin:10vh auto;max-width:520px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:1rem 1.25rem;box-shadow:0 20px 48px #0003}.modal__footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}@media (prefers-color-scheme: dark){.modal__dialog{background:#111827;border-color:#ffffff14}}
