*{box-sizing:border-box}html,body{color:#111827;background:#f6f8fb;margin:0;padding:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:inherit;text-decoration:none}.container{max-width:960px;margin:0 auto;padding:24px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.row{flex-wrap:wrap;gap:12px;display:flex}.grid{gap:12px;display:grid}.label{margin-bottom:6px;font-size:14px;font-weight:600;display:block}.input,.select,.textarea,.button{width:100%;font:inherit;border:1px solid #d1d5db;border-radius:8px;padding:10px 12px}.textarea{min-height:90px}.button{color:#fff;cursor:pointer;background:#111827;font-weight:600}.button:disabled{cursor:not-allowed;opacity:.65}.button.secondary{color:#111827;background:#fff}.button.danger{background:#b91c1c}.text-muted{color:#6b7280}.error{color:#b91c1c;font-size:14px;animation:.45s ease-out shake}.success{color:#047857;font-size:14px;animation:.25s ease-out slide-up}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:10px 8px;font-size:14px}.skeleton{background:#e5e7eb;border-radius:8px;position:relative;overflow:hidden}.shimmer:after{content:"";background:linear-gradient(90deg,#fff0 0%,#ffffffb8 50%,#fff0 100%);animation:1.25s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}@keyframes row-enter{0%{background-color:#d1fae5}50%{background-color:#d1fae5}to{background-color:#0000}}@keyframes row-exit{0%{opacity:1;background-color:#fee2e2;transform:translate(0)}to{opacity:0;background-color:#fee2e2;transform:translate(-16px)}}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(5px)}45%{transform:translate(-4px)}60%{transform:translate(3px)}75%{transform:translate(-2px)}90%{transform:translate(1px)}}.row-new td{animation:1.4s ease-out forwards row-enter}.row-deleting{pointer-events:none}.row-deleting td{animation:.35s ease-out forwards row-exit}.button:not(:disabled):active{transition:transform 80ms;transform:scale(.97)}.app-shell{min-height:100vh;display:flex}.sidebar{color:#fff;background:#111827;flex-direction:column;flex-shrink:0;width:220px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-logo{letter-spacing:-.3px;color:#fff;border-bottom:1px solid #ffffff14;margin-bottom:8px;padding:20px 20px 16px;font-size:17px;font-weight:700}.sidebar-logo span{color:#6366f1}.sidebar-nav{flex-direction:column;flex:1;padding:4px 0;display:flex}.sidebar-section{letter-spacing:.06em;text-transform:uppercase;color:#4b5563;padding:12px 20px 4px;font-size:11px;font-weight:600}.sidebar-link{color:#9ca3af;align-items:center;gap:10px;padding:9px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:background .1s,color .1s;display:flex}.sidebar-link:hover{color:#e5e7eb;background:#ffffff0f}.sidebar-link.active{color:#fff;background:#6366f12e;border-right:3px solid #6366f1}.sidebar-link-icon{text-align:center;flex-shrink:0;width:20px;font-size:16px}.sidebar-footer{border-top:1px solid #ffffff14;padding:16px 20px}.sidebar-user{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;margin-bottom:10px;font-size:12px;overflow:hidden}.feedback-btn{color:#d1d5db;cursor:pointer;text-align:left;background:#ffffff12;border:1px solid #ffffff1a;border-radius:6px;align-items:center;gap:8px;width:100%;margin-bottom:8px;padding:8px 12px;font-size:13px;font-weight:500;transition:background .15s;display:flex}.feedback-btn:hover{color:#fff;background:#ffffff21}.feedback-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.feedback-modal{background:#fff;border-radius:12px;width:100%;max-width:480px;box-shadow:0 20px 60px #0000002e}.feedback-header{justify-content:space-between;align-items:center;padding:20px 24px 0;display:flex}.feedback-title{color:#111827;margin:0;font-size:18px;font-weight:700}.feedback-close{cursor:pointer;color:#9ca3af;background:0 0;border:none;padding:4px;font-size:16px;line-height:1}.feedback-close:hover{color:#111827}.feedback-form{flex-direction:column;gap:16px;padding:20px 24px 24px;display:flex}.feedback-success{text-align:center;padding:32px 24px 28px}.feedback-field{flex-direction:column;gap:8px;display:flex}.feedback-label{color:#374151;font-size:13px;font-weight:600}.feedback-categories{flex-wrap:wrap;gap:8px;display:flex}.feedback-cat{color:#374151;cursor:pointer;background:#f3f4f6;border:1.5px solid #0000;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .12s}.feedback-cat:hover{background:#e5e7eb}.feedback-cat.active{color:#1d4ed8;background:#eff6ff;border-color:#3b82f6}.feedback-textarea{resize:vertical;min-height:100px;font-family:inherit}.feedback-charcount{color:#9ca3af;text-align:right;margin:0;font-size:11px}.feedback-actions{justify-content:flex-end;gap:10px;display:flex}.page-content{background:#f6f8fb;flex:1;min-width:0}@media (max-width:700px){.app-shell{flex-direction:column}.sidebar{flex-flow:wrap;align-items:center;width:100%;height:auto;padding:0;position:static}.sidebar-logo{border-bottom:none;border-right:1px solid #ffffff14;margin-bottom:0;padding:12px 16px}.sidebar-nav{flex-flow:wrap;padding:4px}.sidebar-section{display:none}.sidebar-link{padding:10px 14px;border-right:none!important}.sidebar-footer{border-top:none;border-left:1px solid #ffffff14;margin-left:auto}.sidebar-user{display:none}}
