* { font-family: 'Inter', system-ui, sans-serif; }
.form-input { width:100%; padding:.7rem .9rem; border:1px solid #DDE1E7; border-radius:.75rem; font-size:.9rem; background:#fff; transition:border-color .15s, box-shadow .15s; }
.form-input:focus { outline:none; border-color:#F5A623; box-shadow:0 0 0 4px rgba(245,166,35,.16); }
.form-label { display:block; font-size:.8rem; font-weight:600; color:#414855; margin-bottom:.3rem; }
.btn-accent { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; background-image:linear-gradient(135deg,#F8B73F,#F5A623 55%,#EE9C14); color:#0D0D0D; font-weight:600; border-radius:.75rem; padding:.65rem 1.25rem; transition:.15s; border:none; cursor:pointer; }
.btn-accent:hover { background-image:linear-gradient(135deg,#F5A623,#D98E0B); }
.btn-accent:disabled { opacity:.6; cursor:not-allowed; }
.btn-ghost { border:1px solid #D1D5DB; border-radius:.75rem; padding:.6rem 1.1rem; font-weight:600; color:#374151; background:#fff; cursor:pointer; }
.btn-ghost:hover { background:#F3F4F6; }
.card { background:#fff; border:1px solid #EAECEF; border-radius:1rem; padding:1.25rem; box-shadow:0 1px 3px rgba(0,0,0,.04); }
.toast { position:fixed; top:1rem; right:1rem; z-index:80; padding:.75rem 1rem; border-radius:.75rem; color:#fff; font-size:.85rem; box-shadow:0 8px 24px rgba(0,0,0,.18); margin-bottom:.5rem; }
.modal-bg { position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:70; display:flex; align-items:center; justify-content:center; padding:1rem; }
/* layout */
.iv-shell { min-height:100vh; }
.iv-sidebar { position:fixed; top:0; left:0; bottom:0; width:15rem; background:#fff; border-right:1px solid #EAECEF; display:flex; flex-direction:column; z-index:60; }
@media (max-width:1023px){ .iv-sidebar{ transform:translateX(-100%); transition:transform .2s; box-shadow:0 10px 30px rgba(0,0,0,.12); } .iv-sidebar.open{ transform:translateX(0); } }
.iv-sidebar nav { overflow-y:auto; }
.iv-main { min-width:0; }
@media (min-width:1024px){ .iv-main { margin-left:15rem; } }
.iv-logo { height:40px; width:auto; max-width:185px; display:block; }
.navlink { display:flex; align-items:center; gap:.65rem; width:100%; text-align:left; padding:.6rem .8rem; border-radius:.6rem; font-size:.9rem; font-weight:600; color:#414855; background:none; border:none; cursor:pointer; text-decoration:none; }
.navlink:hover { background:#F6F7F9; }
.navlink.active { background:#FCEACA; color:#0D0D0D; }
.navico { width:1.15rem; height:1.15rem; stroke:#F5A623; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.navlink.active .navico { stroke:#D98E0B; }
.spin { width:2rem; height:2rem; border:4px solid rgba(245,166,35,.25); border-top-color:#F5A623; border-radius:9999px; animation:spin .7s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.badge { display:inline-block; padding:.15rem .5rem; border-radius:9999px; font-size:.7rem; font-weight:700; }
.pwwrap { position:relative; }
.pwwrap input { padding-right:3rem; }
.pwtoggle { position:absolute; right:.6rem; top:50%; transform:translateY(-50%); background:none; border:none; cursor:pointer; padding:.2rem; color:#9aa0a6; display:flex; align-items:center; }
.pwtoggle svg { width:1.2rem; height:1.2rem; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.pwtoggle:hover { color:#D98E0B; }
.hdr-btn { background:none; border:none; cursor:pointer; padding:.5rem; border-radius:.6rem; color:#414855; display:flex; }
.hdr-btn:hover { background:#F3F4F6; }
.hdr-ico { width:1.25rem; height:1.25rem; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
/* Dark theme */
html.dark body { background:#0F1115; color:#E5E7EB; }
html.dark .card { background:#1A1D23; border-color:#2A2E37; color:#E5E7EB; }
html.dark .iv-sidebar { background:#15171C; border-color:#2A2E37; }
html.dark header { background:#15171C !important; border-color:#2A2E37 !important; }
html.dark .form-input { background:#1A1D23; border-color:#2A2E37; color:#E5E7EB; }
html.dark .navlink { color:#C7CBD1; }
html.dark .navlink:hover { background:#22262E; }
html.dark .navlink.active { background:#3a2f12; color:#F5A623; }
html.dark .hdr-btn { color:#C7CBD1; }
html.dark .hdr-btn:hover { background:#22262E; }
html.dark #iv-profile-menu { background:#1A1D23 !important; }
html.dark .bg-white { background:#1A1D23 !important; }
html.dark .bg-gray-50, html.dark .bg-gray-100 { background:#22262E !important; }
html.dark .text-gray-900 { color:#F3F4F6 !important; }
html.dark .text-gray-700, html.dark .text-gray-600, html.dark .text-gray-500, html.dark .text-gray-400 { color:#9AA0A6 !important; }
html.dark .border-gray-200, html.dark .border-gray-100 { border-color:#2A2E37 !important; }
