:root{--bg-primary: #1e1f22;--bg-secondary: #2b2d31;--bg-tertiary: #313338;--bg-modifier-hover: rgba(79, 84, 92, .16);--bg-modifier-active: rgba(79, 84, 92, .24);--bg-modifier-selected: rgba(79, 84, 92, .32);--text-normal: #dbdee1;--text-muted: #949ba4;--text-link: #6da6ff;--header-primary: #f2f3f5;--header-secondary: #b5bac1;--brand-400: #818cf8;--brand-500: #6366f1;--brand-560: #5358e6;--brand-600: #4f46e5;--brand-glow: rgba(99, 102, 241, .35);--green-360: #22c55e;--red-400: #f43f5e;--yellow-300: #facc15;--white-500: #ffffff;--border-subtle: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .12);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--sidebar-width: 240px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .18);--shadow-md: 0 6px 16px -4px rgba(0, 0, 0, .35);--shadow-lg: 0 20px 40px -12px rgba(0, 0, 0, .5);--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-normal);min-height:100vh;-webkit-font-smoothing:antialiased}a{color:var(--text-link);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;outline:none;border-radius:var(--radius-sm);font-size:14px;font-weight:500;padding:8px 16px;transition:background .15s}input,select,textarea{font-family:inherit;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-normal);padding:8px 12px;font-size:14px;outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--brand-500)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 16px;border-bottom:1px solid var(--border-subtle);font-size:14px}th{color:var(--header-secondary);font-weight:600;text-transform:uppercase;font-size:12px;letter-spacing:.02em}tr:hover td{background:var(--bg-modifier-hover)}.links-table th,.links-table td{padding:10px 12px;font-size:14px;vertical-align:middle}.links-table th{font-size:12px}.btn-primary{background:var(--brand-500);color:var(--white-500)}.btn-primary:hover{background:var(--brand-560)}.btn-danger{background:var(--red-400);color:var(--white-500)}.btn-danger:hover{background:#d83438}.btn-success{background:var(--green-360);color:var(--white-500)}.btn-success:hover{background:#1a8f47}.btn-ghost{background:transparent;color:var(--text-normal)}.btn-ghost:hover{background:var(--bg-modifier-hover)}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase}.card{background:var(--bg-secondary);border-radius:var(--radius-md);padding:20px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header h1{font-size:20px;font-weight:700;color:var(--header-primary)}.form-label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--header-secondary);margin-bottom:8px}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-tertiary);border-radius:var(--radius-lg);padding:24px;width:440px;max-width:90vw;max-height:80vh;overflow-y:auto}.modal h2{font-size:18px;font-weight:700;color:var(--header-primary);margin-bottom:16px}.modal label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--header-secondary);margin-bottom:4px;margin-top:12px}.modal input,.modal select{width:100%;margin-bottom:4px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.avatar{border-radius:50%;object-fit:cover;background:var(--bg-modifier-selected)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#1a1b1e}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-spinner{animation:spin .8s linear infinite}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pageEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes topbarShimmer{0%{background-position:200% 0}to{background-position:0 0}}.fade-in{animation:fadeIn .22s var(--ease-out) both}.scale-in{animation:scaleIn .2s var(--ease-out) both}.slide-up{animation:slideUp .24s var(--ease-out) both}.page-enter{animation:pageEnter .26s var(--ease-out) both}@media(prefers-reduced-motion:reduce){.fade-in,.scale-in,.slide-up,.page-enter,.btn-primary,.btn-ghost,.btn-success,.btn-danger,.card,.modal{animation-duration:1ms!important;transition-duration:1ms!important}}html{scroll-behavior:smooth}:focus{outline:none}:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px;border-radius:var(--radius-sm)}.btn-primary,.btn-ghost,.btn-success,.btn-danger{transition:transform .12s var(--ease-out),background .16s var(--ease-out),box-shadow .2s var(--ease-out),color .16s var(--ease-out),border-color .16s var(--ease-out),opacity .16s var(--ease-out);will-change:transform}.btn-primary:hover:not(:disabled),.btn-ghost:hover:not(:disabled),.btn-success:hover:not(:disabled),.btn-danger:hover:not(:disabled){transform:translateY(-1px)}.btn-primary:hover:not(:disabled){box-shadow:0 4px 16px -2px var(--brand-glow)}.btn-primary:active:not(:disabled),.btn-ghost:active:not(:disabled),.btn-success:active:not(:disabled),.btn-danger:active:not(:disabled){transform:translateY(0) scale(.985)}.btn-primary:disabled,.btn-ghost:disabled,.btn-success:disabled,.btn-danger:disabled{cursor:not-allowed;opacity:.6}.card{transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),border-color .2s var(--ease-out)}.card:hover{box-shadow:var(--shadow-md)}tbody tr{transition:background .14s var(--ease-out)}tbody tr:hover{background:var(--bg-modifier-hover)}input,select,textarea{transition:border-color .16s var(--ease-out),box-shadow .16s var(--ease-out),background .16s var(--ease-out)}input:focus,select:focus,textarea:focus{border-color:var(--brand-500)!important;box-shadow:0 0 0 3px var(--brand-glow)}.modal-overlay{animation:fadeIn .18s var(--ease-out) both}.modal-overlay>.modal,.modal-overlay>.card{animation:scaleIn .22s var(--ease-spring) both}.app-shell{display:flex;height:100vh;height:100dvh}.app-sidebar{width:var(--sidebar-width);background:var(--bg-secondary);display:flex;flex-direction:column;flex-shrink:0}.app-main{flex:1;min-width:0;overflow:auto;padding:24px 32px;background:var(--bg-tertiary)}.mobile-topbar,.sidebar-backdrop{display:none}.hamburger-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);background:transparent;color:var(--text-normal);flex-shrink:0}.hamburger-btn:hover{background:var(--bg-modifier-hover)}@media(max-width:860px){.app-shell{flex-direction:column}.mobile-topbar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:60;flex-shrink:0}.app-sidebar{position:fixed;top:0;left:0;bottom:0;height:100vh;height:100dvh;width:min(84vw,300px);z-index:200;transform:translate(-100%);transition:transform .26s var(--ease-out);box-shadow:var(--shadow-lg)}.app-sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;background:#0000008c;z-index:150;opacity:0;pointer-events:none;transition:opacity .2s var(--ease-out)}.sidebar-backdrop.show{opacity:1;pointer-events:auto}.app-main{padding:16px 14px}}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:18px}.page-header h1{font-size:18px}.card{padding:16px}.modal-overlay{align-items:flex-end}.modal{width:100%;max-width:100vw;max-height:88vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-actions{flex-direction:column-reverse}.modal-actions>*{width:100%}th,td{padding:8px 10px;font-size:13px}[style*=grid-template-columns]{grid-template-columns:1fr!important}button,.btn-primary,.btn-ghost,.btn-success,.btn-danger{min-height:40px}input,select,textarea{min-height:40px;font-size:16px}}@media(max-width:768px){.responsive-cards table{min-width:0!important}.responsive-cards thead{display:none}.responsive-cards table,.responsive-cards tbody,.responsive-cards tr,.responsive-cards td{display:block;width:100%}.responsive-cards tr{position:relative;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-secondary);padding:12px 12px 10px;margin-bottom:12px}.responsive-cards td{border:none!important;padding:5px 0!important;max-width:none!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;display:flex;gap:12px;align-items:baseline;justify-content:space-between}.responsive-cards td[data-label]:before{content:attr(data-label);flex-shrink:0;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.responsive-cards td.ul-title{font-size:15px;font-weight:600;padding-right:34px!important}.responsive-cards td.ul-check{position:absolute;top:12px;right:12px;width:auto;padding:0!important}.responsive-cards td.ul-actions{justify-content:stretch;gap:8px;padding-top:10px!important}.responsive-cards td.ul-actions>*{flex:1}.responsive-cards td.ul-actions span{display:flex;gap:8px}.responsive-cards td.ul-actions .btn{flex:1;justify-content:center;min-height:42px}}
