:root{--navy:#0b3c5d;--navy-2:#0e4a72;--navy-3:#1a5e8a;--navy-tint:#eaf1f6;--orange:#f28c28;--orange-2:#ffb267;--orange-tint:#fff1e2;--ink:#0d1b2a;--ink-2:#334155;--ink-3:#64748b;--line:#e6ecf3;--line-2:#eef2f7;--bg:#f7f9fb;--grey:#f5f7fa;--grey-2:#eef2f7;--card:#fff;--danger:#d64545;--danger-bg:#fdecec;--success:#1a8a5f;--success-bg:#e8f7f0;--radius:16px;--radius-sm:10px;--shadow-sm:0 1px 2px #0b3c5d0d, 0 2px 8px #0b3c5d0d;--shadow-md:0 8px 24px -8px #0b3c5d2e, 0 2px 8px #0b3c5d0f;--shadow-lg:0 30px 80px -30px #0b3c5d52, 0 10px 30px -12px #0b3c5d24;--font:"Inter", "SF Pro Display", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--display:"Manrope", "Inter", system-ui, sans-serif;--sidebar-width:224px;--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit}h1,h2,h3,h4,h5{font-family:var(--display);letter-spacing:-.02em;margin:0}p{color:var(--ink-2);margin:0}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:linear-gradient(180deg, var(--navy) 0%, #0a3350 100%);color:#fff;flex-direction:column;flex-shrink:0;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{font-family:var(--display);align-items:center;gap:10px;padding:6px 10px 24px;font-size:15px;font-weight:700;display:flex}.sidebar-brand-mark{background:var(--orange);width:28px;height:28px;color:var(--navy);border-radius:9px;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.sidebar-link{color:#ffffffb8;border-radius:10px;align-items:center;gap:11px;padding:10px 12px;font-size:14px;font-weight:500;transition:background .15s,color .15s,transform .15s;display:flex}.sidebar-link svg{stroke-width:2.1px;flex-shrink:0;width:17px;height:17px}.sidebar-link:hover{color:#fff;background:#ffffff14}.sidebar-link.active{color:#fff;background:#ffffff26}.sidebar-close{color:#ffffffd9;background:0 0;border:none;border-radius:8px;margin-left:auto;padding:4px;display:none}.sidebar-close:hover{color:#fff;background:#ffffff1a}.sidebar-overlay{display:none}.menu-btn{width:36px;height:36px;color:var(--ink-2);background:0 0;border:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:none}.menu-btn:hover{background:var(--grey)}.main-col{flex-direction:column;flex:1;min-width:0;display:flex}.topbar-left{align-items:center;gap:10px;min-width:0;display:flex}.topbar{-webkit-backdrop-filter:saturate(180%)blur(16px);backdrop-filter:saturate(180%)blur(16px);border-bottom:1px solid var(--line);z-index:10;background:#ffffffd9;flex-shrink:0;justify-content:space-between;align-items:center;height:66px;padding:0 30px;display:flex;position:sticky;top:0}.topbar-title{letter-spacing:-.01em;font-size:18px;font-weight:800}.topbar-right{align-items:center;gap:14px;display:flex}.topbar-signout{color:var(--ink-3);align-items:center;gap:6px;font-size:13px;font-weight:600;transition:color .15s;display:inline-flex}.topbar-signout:hover{color:var(--navy)}.view-toggle{background:var(--grey);border:1px solid var(--line);border-radius:999px;align-items:center;gap:2px;padding:3px;display:flex}.view-toggle-btn{color:var(--ink-3);transition:all .15s var(--ease);border-radius:999px;align-items:center;gap:5px;padding:6px 12px;font-size:12.5px;font-weight:700;display:flex}.view-toggle-btn.active{background:var(--navy);color:#fff;box-shadow:0 2px 8px #0b3c5d33}.page{width:100%;max-width:1040px;animation:fadeSlideUp .35s var(--ease);margin:0 auto;padding:30px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.page-title{letter-spacing:-.02em;font-size:23px;font-weight:800}.page-subtitle{color:var(--ink-3);margin-top:4px;font-size:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow .2s var(--ease)}.card-pad{padding:20px}.list-card{flex-direction:column;display:flex}.item-card{border-bottom:1px solid var(--line-2);flex-direction:column;gap:6px;padding:15px 20px;transition:background .15s;display:flex}.item-card:last-child{border-bottom:none}.item-card:hover{background:var(--grey)}.item-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.item-title{font-size:14.5px;font-weight:700}.item-meta{color:var(--ink-3);font-size:12.5px}.table-scroll{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);border-bottom:1px solid var(--line);white-space:nowrap;padding:13px 18px;font-size:11.5px;font-weight:700}.data-table td{border-bottom:1px solid var(--line-2);vertical-align:middle;padding:14px 18px;font-size:14px}.data-table tr:last-child td{border-bottom:none}.data-table tr{transition:background .15s}.data-table tr:hover td{background:var(--grey)}.avatar-circle{background:var(--navy-tint);width:32px;height:32px;color:var(--navy);font-size:12.5px;font-weight:700;font-family:var(--display);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.btn{transition:all .15s var(--ease);white-space:nowrap;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-size:13.5px;font-weight:600;display:inline-flex}.btn svg{stroke-width:2.2px;width:15px;height:15px}.btn-block{width:100%;margin-top:10px}.btn-sm{border-radius:8px;padding:6px 12px;font-size:12.5px}.btn-primary{background:var(--navy);color:#fff;box-shadow:0 2px 10px -3px #0b3c5d73}.btn-primary:hover{background:var(--navy-2);transform:translateY(-1px);box-shadow:0 6px 16px -4px #0b3c5d80}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-outline{color:var(--navy);border:1px solid var(--line);background:#fff}.btn-outline:hover{border-color:var(--navy-3);background:var(--navy-tint)}.btn-danger{background:var(--danger-bg);color:var(--danger)}.btn-danger:hover{background:#fbdada}.btn-ghost{color:var(--ink-2);background:0 0}.btn-ghost:hover{color:var(--navy);background:var(--grey)}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--ink-2);font-size:13px;font-weight:600}.field input,.field select,.field textarea{border:1.5px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:10px 13px;font-size:14px;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy-3);outline:none;box-shadow:0 0 0 4px #1a5e8a1f}.field-hint{color:var(--ink-3);font-size:12px}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.badge{background:var(--grey-2);color:var(--ink-2);border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.badge-success{background:var(--success-bg);color:var(--success)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-orange{background:var(--orange-tint);color:#b3620f}.tint-navy{background:var(--navy-tint);color:var(--navy)}.tint-orange{background:var(--orange-tint);color:#b3620f}.tint-success{background:var(--success-bg);color:var(--success)}.tint-danger{background:var(--danger-bg);color:var(--danger)}.empty-state{text-align:center;color:var(--ink-3);padding:54px 20px;animation:.3s fadeIn}.empty-state-icon{background:var(--navy-tint);width:50px;height:50px;color:var(--navy-3);border-radius:14px;justify-content:center;align-items:center;margin:0 auto 14px;display:flex}.empty-state-icon svg{stroke-width:1.8px;width:23px;height:23px}.empty-state-title{color:var(--ink);margin-bottom:6px;font-weight:700}.spinner{border:2.5px solid var(--line);border-top-color:var(--navy);border-radius:999px;width:20px;height:20px;margin:30px auto;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{background:var(--danger-bg);color:var(--danger);animation:fadeSlideUp .25s var(--ease);border-radius:10px;align-items:flex-start;gap:8px;margin-bottom:16px;padding:12px 16px;font-size:13.5px;display:flex}.success-banner{background:var(--success-bg);color:var(--success);animation:fadeSlideUp .25s var(--ease);border-radius:10px;align-items:flex-start;gap:8px;margin-bottom:16px;padding:12px 16px;font-size:13.5px;display:flex}.modal-overlay{z-index:100;background:#0d1b2a80;justify-content:center;align-items:center;padding:20px;animation:.18s fadeIn;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:90vh;animation:fadeSlideUp .25s var(--ease);background:#fff;padding:24px;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.modal-title{letter-spacing:-.01em;font-size:17.5px;font-weight:800}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{align-items:center;gap:14px;padding:18px 20px;display:flex}.stat-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.stat-icon svg{stroke-width:2.2px;width:19px;height:19px}.stat-label{color:var(--ink-3);margin-bottom:4px;font-size:12.5px;font-weight:600}.stat-value{font-size:24px;font-weight:800;font-family:var(--display);letter-spacing:-.02em}.auth-screen{background:radial-gradient(circle at 15% 15%, #f28c2829, transparent 45%), radial-gradient(circle at 85% 85%, #1a5e8a59, transparent 50%), linear-gradient(160deg, var(--navy) 0%, #123a52 60%, #0d2438 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{box-shadow:var(--shadow-lg);width:100%;max-width:400px;animation:fadeSlideUp .4s var(--ease);background:#fff;border-radius:22px;padding:38px 32px}.auth-brand{font-family:var(--display);color:var(--navy);align-items:center;gap:9px;margin-bottom:24px;font-size:15px;font-weight:800;display:flex}.auth-brand-mark{background:var(--orange);width:28px;height:28px;color:var(--navy);border-radius:9px;justify-content:center;align-items:center;font-size:13.5px;font-weight:800;display:flex}.auth-title{letter-spacing:-.02em;margin-bottom:6px;font-size:22px;font-weight:800}.auth-subtitle{color:var(--ink-3);margin-bottom:24px;font-size:13.5px;line-height:1.55}.chat-shell{flex-direction:column;width:100%;max-width:880px;height:calc(100vh - 66px);margin:0 auto;display:flex}.chat-header{border-bottom:1px solid var(--line);padding:18px 28px 12px}.chat-header-title{letter-spacing:-.02em;align-items:center;gap:10px;font-size:20px;font-weight:800;display:flex}.chat-header-subtitle{color:var(--ink-3);margin-top:3px;font-size:13px}.chat-messages{flex-direction:column;flex:1;gap:18px;padding:22px 28px;display:flex;overflow-y:auto}.chat-row{max-width:100%;animation:fadeSlideUp .25s var(--ease);gap:10px;display:flex}.chat-row.user{flex-direction:row-reverse}.chat-avatar{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.chat-avatar.assistant{background:linear-gradient(135deg, var(--navy-3), var(--navy));color:#fff}.chat-avatar.user{background:var(--grey-2);color:var(--ink-2)}.chat-bubble{white-space:pre-wrap;border-radius:14px;max-width:560px;padding:12px 15px;font-size:14px;line-height:1.55}.chat-bubble.assistant{background:var(--card);border:1px solid var(--line);border-top-left-radius:4px}.chat-bubble.user{background:var(--navy);color:#fff;border-top-right-radius:4px}.chat-tool-tag{color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:5px;margin-bottom:6px;font-size:11px;font-weight:700;display:inline-flex}.chat-typing{align-items:center;gap:4px;padding:4px 0;display:inline-flex}.chat-typing span{background:var(--ink-3);border-radius:999px;width:6px;height:6px;animation:1.1s ease-in-out infinite chatTyping}.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}@keyframes chatTyping{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chat-suggestions{flex-direction:column;gap:10px;margin-top:24px;display:flex}.chat-suggestion-btn{text-align:left;border:1px solid var(--line);color:var(--ink-2);transition:all .15s var(--ease);background:#fff;border-radius:12px;padding:13px 16px;font-size:13.5px;font-weight:600}.chat-suggestion-btn:hover{border-color:var(--navy-3);background:var(--navy-tint);transform:translateY(-1px)}.chat-input-bar{border-top:1px solid var(--line);background:#ffffffe6;align-items:flex-end;gap:10px;padding:16px 28px 22px;display:flex}.chat-input-bar textarea{resize:none;border:1.5px solid var(--line);max-height:140px;font-size:14px;font-family:var(--font);border-radius:14px;flex:1;padding:12px 14px;line-height:1.4}.chat-input-bar textarea:focus{border-color:var(--navy-3);outline:none;box-shadow:0 0 0 4px #1a5e8a1f}.chat-send-btn{background:var(--navy);color:#fff;width:42px;height:42px;transition:all .15s var(--ease);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-send-btn:hover{background:var(--navy-2);transform:translateY(-1px)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}@media (width<=900px){.menu-btn,.sidebar-close{display:inline-flex}.sidebar{z-index:200;transition:transform .25s var(--ease);box-shadow:var(--shadow-lg);position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{z-index:150;background:#0d1b2a73;animation:.18s fadeIn;display:block;position:fixed;inset:0}.topbar{gap:10px;padding:0 14px}.topbar-title{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.topbar-right{gap:6px}.topbar-signout{border-radius:8px;padding:8px}.topbar-signout:hover{background:var(--grey)}.topbar-signout-label{display:none}}@media (width<=640px){.page{padding:18px 16px}.page-header{margin-bottom:16px}.page-title{font-size:19px}.stat-grid{gap:10px;margin-bottom:18px}.stat-card{gap:12px;padding:14px 16px}.stat-value{font-size:20px}.form-row{grid-template-columns:1fr;gap:0}.data-table th,.data-table td{padding:10px 12px;font-size:13px}.item-row{flex-wrap:wrap;row-gap:8px}.modal{max-height:88vh;padding:18px}.modal-overlay{padding:14px}.chat-header{padding:14px 16px 10px}.chat-header-title{font-size:17px}.chat-header-subtitle{display:none}.chat-messages{gap:14px;padding:16px}.chat-bubble{max-width:78vw;font-size:13.5px}.chat-input-bar{padding:12px 14px 16px}.auth-card{padding:28px 22px}}@media (width<=480px){.view-toggle-label{display:none}.view-toggle-btn{padding:8px}}
