*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--blue:#002d62;--blue-mid:#0090cc;--blue-lt:#ebf3fa;--accent:#0090cc;--gray-1:#f4f5f7;--gray-2:#e2e4e9;--gray-3:#9ba3b0;--gray-4:#4a5568;--text:#1a202c;--white:#fff;--danger:#c53030;--success:#276749;--radius:6px;--shadow:0 1px 4px #0000001f}body{background:var(--gray-1);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}.layout{min-height:100vh;display:flex}.sidebar{background:var(--blue);width:220px;color:var(--white);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.sidebar-logo{border-bottom:1px solid #ffffff1f;padding:20px 16px 14px}.sidebar-logo .company{opacity:.7;text-transform:uppercase;letter-spacing:.06em;font-size:11px}.sidebar-logo .app-name{margin-top:2px;font-size:17px;font-weight:700}.sidebar-nav{flex:1;padding:12px 0}.sidebar-nav a{color:#fffc;align-items:center;gap:10px;padding:9px 16px;font-size:13px;text-decoration:none;transition:background .15s;display:flex}.sidebar-nav a:hover,.sidebar-nav a.active{color:var(--white);background:#ffffff1f}.sidebar-nav .nav-icon{text-align:center;width:20px;font-size:16px}.sidebar-footer{opacity:.55;border-top:1px solid #ffffff1f;padding:12px 16px;font-size:11px}.main{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar{background:var(--white);border-bottom:1px solid var(--gray-2);flex-shrink:0;justify-content:space-between;align-items:center;height:52px;padding:0 28px;display:flex}.topbar-title{color:var(--blue);font-size:16px;font-weight:600}.topbar-actions{align-items:center;gap:10px;display:flex}.page-content{flex:1;padding:24px 28px;overflow-y:auto}.card{background:var(--white);border:1px solid var(--gray-2);border-radius:var(--radius);box-shadow:var(--shadow)}.card-header{border-bottom:1px solid var(--gray-2);background:var(--blue-lt);border-radius:var(--radius) var(--radius) 0 0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.card-header h3{text-transform:uppercase;letter-spacing:.06em;color:var(--blue);font-size:13px;font-weight:700}.card-body{padding:18px 20px}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:7px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--blue);color:var(--white);border-color:var(--blue)}.btn-primary:hover:not(:disabled){background:var(--blue-mid)}.btn-accent{background:var(--accent);color:var(--white);border-color:var(--accent)}.btn-accent:hover:not(:disabled){opacity:.88}.btn-outline{color:var(--blue);border-color:var(--blue);background:0 0}.btn-outline:hover:not(:disabled){background:var(--blue-lt)}.btn-danger{background:var(--danger);color:var(--white);border-color:var(--danger)}.btn-danger:hover:not(:disabled){opacity:.88}.btn-ghost{color:var(--gray-4);border-color:var(--gray-2);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--gray-1)}.btn-sm{padding:4px 10px;font-size:12px}.form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px 20px;display:grid}.form-grid.cols-2{grid-template-columns:1fr 1fr}.form-grid.cols-3{grid-template-columns:1fr 1fr 1fr}.form-grid.full{grid-template-columns:1fr}.field{flex-direction:column;gap:4px;display:flex}.field label{text-transform:uppercase;letter-spacing:.05em;color:var(--gray-4);font-size:11px;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--gray-2);border-radius:var(--radius);color:var(--text);background:var(--white);width:100%;padding:7px 10px;font-size:13px;transition:border-color .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue-mid);outline:none;box-shadow:0 0 0 3px #0055a51a}.field textarea{resize:vertical;min-height:70px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}thead tr{background:var(--blue-lt)}th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--blue);border-bottom:2px solid var(--gray-2);padding:8px 10px;font-size:11px;font-weight:700}td{border-bottom:1px solid var(--gray-2);vertical-align:middle;padding:8px 10px}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--gray-1)}.badge{border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge-draft{color:#856404;background:#fff3cd}.badge-done{color:#155724;background:#d4edda}.divider{background:var(--gray-2);height:1px;margin:20px 0}.text-sm{font-size:12px}.text-muted{color:var(--gray-3)}.text-danger{color:var(--danger);margin-top:6px;font-size:12px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.gap-2{gap:8px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.spinner{border:3px solid var(--gray-2);border-top-color:var(--blue);border-radius:50%;width:32px;height:32px;margin:40px auto;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;color:var(--gray-3);padding:40px 20px}.empty-state .empty-icon{margin-bottom:10px;font-size:40px}.alert{border-radius:var(--radius);margin-bottom:16px;padding:10px 14px;font-size:13px}.alert-error{color:var(--danger);background:#fde8e8;border:1px solid #f5c6c6}.alert-success{color:var(--success);background:#d4edda;border:1px solid #c3e6cb}.section-gap{margin-bottom:28px}
