*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#1a2b4a;--accent:#d94f4f;--muted:#9099a4;--border:#e0e3e8;--surface:#fff;--bg:#f5f6f8;--text:#1a2b4a;--success:#22c55e;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}a{color:var(--primary)}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}.layout{min-height:100vh;display:flex}.sidebar{width:240px;color:var(--text);border-right:1px solid var(--border);background:#fff;flex-direction:column;padding:20px 0;display:flex;position:fixed;top:0;bottom:0}.sidebar-header{border-bottom:1px solid var(--border);flex-direction:column;align-items:center;gap:6px;margin-bottom:10px;padding:0 20px 20px;display:flex}.sidebar-logo{width:100%;max-width:160px;height:auto;display:block}.logo-text{color:var(--primary);letter-spacing:.5px;font-size:18px;font-weight:800}.logo-sub{color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-top:2px;font-size:12px}.nav-item{color:#4b5563;border-left:3px solid #0000;align-items:center;gap:10px;padding:10px 20px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{color:var(--primary);background:#1a2b4a0d}.nav-item.active{color:var(--primary);border-left-color:var(--accent);background:#1a2b4a14;font-weight:600}.nav-icon{font-size:16px}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding:16px 20px}.user-info strong{font-size:14px;display:block}.user-info small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.btn-logout{border:1px solid var(--border);color:var(--muted);background:0 0;border-radius:6px;width:100%;margin-top:10px;padding:6px 14px;font-size:12px}.btn-logout:hover{color:var(--accent);border-color:var(--accent)}.content{flex:1;margin-left:240px;padding:28px}.loading{text-align:center;color:var(--muted);padding:40px}.page-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}h1{color:var(--primary);font-size:24px}h2{color:var(--primary);margin-bottom:12px;font-size:18px}.login-page{background:#fff;justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login-form{background:var(--surface);text-align:center;border:1px solid var(--border);border-radius:12px;width:100%;max-width:400px;padding:40px 36px 28px;box-shadow:0 4px 20px #00000014}.login-title{color:var(--primary);letter-spacing:.5px;margin-bottom:4px;font-size:22px}.login-logo{width:100%;max-width:200px;height:auto;margin:0 auto 8px;display:block}.login-subtitle{color:var(--muted);text-align:center;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:24px;font-size:12px}.login-form input{border:1px solid var(--border);border-radius:8px;width:100%;margin-bottom:12px;padding:11px 14px;font-size:14px}.login-form input:focus{border-color:var(--primary);outline:none}.login-form button{background:var(--accent);color:#fff;border:none;border-radius:8px;width:100%;margin-top:4px;padding:12px;font-size:14px;font-weight:600}.login-form button:disabled{opacity:.6;cursor:not-allowed}.login-footer{color:var(--muted);margin-top:18px;font-size:11px}.btn-primary,.btn-secondary,.btn-danger{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:8px 14px;font-size:13px;font-weight:500}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-secondary{background:var(--surface)}.btn-danger{color:var(--error);background:#fef2f2;border-color:#fecaca}.filter-input{border:1px solid var(--border);background:var(--surface);border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:13px}.filter-input:focus{border-color:var(--primary);outline:none}.inline-form{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:14px;display:flex}.inline-form.mini{align-items:center;margin-bottom:0;padding:8px}.inline-form input,.inline-form select{border:1px solid var(--border);border-radius:6px;min-width:160px;padding:7px 10px;font-size:13px}.inline-form button{border:1px solid var(--border);border-radius:6px;padding:7px 14px;font-size:13px}.form-buttons{gap:8px;width:100%;margin-top:6px;display:flex}.skills-picker{flex-wrap:wrap;align-items:center;gap:6px;width:100%;display:flex}.skills-label{color:var(--muted);margin-right:4px;font-size:13px}.skill-chip{border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;padding:4px 10px;font-size:12px}.skill-chip input{display:none}.skill-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.data-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;overflow:hidden}.data-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);background:#f8f9fa;padding:10px 12px;font-size:12px;font-weight:600}.data-table td{border-bottom:1px solid var(--border);padding:10px 12px;font-size:13px}.data-table tr:last-child td{border-bottom:none}.data-table .clickable-row{cursor:pointer}.data-table .clickable-row:hover{background:#f8f9fa}.data-table .actions{gap:6px;display:flex}.data-table .actions button{border:1px solid var(--border);background:var(--surface);border-radius:4px;padding:4px 8px;font-size:12px}.badge{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge-green{color:#065f46;background:#d1fae5}.badge-red{color:#991b1b;background:#fee2e2}.badge-blue{color:#1e40af;background:#dbeafe}.badge-orange{color:#9a3412;background:#ffedd5}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin-bottom:20px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:10px;padding:18px}.stat-card.clickable{cursor:pointer;transition:transform .1s}.stat-card.clickable:hover{transform:translateY(-2px)}.stat-value{color:var(--primary);font-size:26px;font-weight:700;line-height:1}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:6px;font-size:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:16px;padding:18px}.card h2{margin-bottom:12px;font-size:16px}.card dl{grid-template-columns:140px 1fr;gap:6px 14px;font-size:13px;display:grid}.card dt{color:var(--muted)}.card dd{color:var(--text);font-weight:500}.detail-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.detail-grid .wide{grid-column:1/-1}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.photo-thumb{color:var(--muted);flex-direction:column;align-items:center;text-decoration:none;display:flex}.photo-thumb img{aspect-ratio:1;object-fit:cover;border:1px solid var(--border);border-radius:8px;width:100%}.photo-thumb span{margin-top:4px;font-size:11px}.read-only-banner{border-left:3px solid var(--warning);color:#7a5307;background:#fff8e6;border-radius:4px;margin-bottom:16px;padding:10px 14px;font-size:13px}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field span{color:var(--muted);font-size:13px}.field input{border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:14px}.planning-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.planning-row:last-child{border-bottom:none}.planning-row .actions{gap:6px;display:flex}.planning-row .actions button{border:1px solid var(--border);background:var(--surface);border-radius:4px;padding:4px 10px;font-size:12px}.error-msg{border-left:3px solid var(--error);color:#991b1b;background:#fef2f2;border-radius:4px;margin-bottom:16px;padding:10px 14px}.modal-backdrop{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:12px;width:100%;max-width:420px;padding:24px;box-shadow:0 12px 32px #00000040}.modal h2{color:var(--primary);font-size:18px}
