:root{font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;color:#223246;background:#f4f7fb}*{box-sizing:border-box}body{margin:0}a{color:#2464a4;text-decoration:none}a:hover{text-decoration:underline}.shell{display:flex;min-height:100vh}aside{width:252px;flex-shrink:0;background:#14283f;color:white;display:flex;flex-direction:column;padding:26px 17px}.brand{font-size:25px;font-weight:850;letter-spacing:.5px;margin:4px 10px 42px}.brand span,.loginbox h1 span{color:#56a8ee}.brand small{display:block;color:#b6c7d9;font-size:12px;font-weight:400;margin-top:5px}nav{display:grid;gap:8px}nav a{color:#d6e1ee;padding:13px 15px;border-radius:8px;font-size:14px}nav a:hover,nav a.active{background:#2463a6;color:white;text-decoration:none}.sidebarfoot{margin-top:auto;padding:20px 12px;font-size:12px;color:#c4d4e7;line-height:2}.sidebarfoot small{font-size:12px}.main{flex:1;min-width:0;display:flex;flex-direction:column}header{height:66px;border-bottom:1px solid #e2e8f0;background:white;display:flex;align-items:center;justify-content:space-between;padding:0 34px;font-size:13px;color:#526477}header strong{font-size:16px;color:#233b58}main{flex:1;padding:34px;max-width:1450px;width:100%;margin:auto}footer{background:white;border-top:1px solid #e2e8f0;padding:15px 34px;color:#8a98a9;font-size:12px}footer span{float:right;color:#48617c}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.eyebrow{font-size:11px;letter-spacing:1.5px;color:#4c7ca7;font-weight:800;margin:0 0 10px}h1{font-size:28px;margin:0 0 8px;color:#1b2e45}h2{font-size:18px;margin:0 0 20px}h3{font-size:16px}.heading p{color:#75849a;margin:0}.card{background:white;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 16px #14283f09;margin:20px 0;padding:23px}.search{display:flex;gap:12px;margin-bottom:20px}.search input{flex:1}.search select{flex:1}input,select,textarea{font:inherit;font-size:14px;width:100%;padding:11px 12px;border:1px solid #d4dce7;border-radius:7px;background:white;color:#20334a}input:focus,select:focus,textarea:focus{outline:2px solid #a6ccef}button,.button{background:#2463a6;color:white;border:0;border-radius:7px;padding:11px 18px;cursor:pointer;font-weight:650;font-size:13px;display:inline-block}button:hover,.button:hover{background:#184c85;text-decoration:none}.link{background:transparent;color:#2463a6;padding:0}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}th{color:#687a90;background:#f6f8fb;font-size:11px;text-transform:uppercase;letter-spacing:.4px}th,td{padding:15px 12px;border-bottom:1px solid #eaf0f5}td{vertical-align:top}td.empty{text-align:center;color:#8290a2;padding:36px}.tag{border-radius:20px;background:#edf2f9;color:#536d87;padding:6px 10px;font-size:11px;white-space:nowrap}.tag.signed{background:#e4f5eb;color:#1b7b49}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fields label,.upload label,.loginbox label{display:grid;gap:7px;color:#54677c;font-size:13px;font-weight:650}.fields .wide{grid-column:1/-1}.fields button{justify-self:start}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:16px}.gallery a{display:grid;gap:6px}.gallery img{width:100%;height:140px;object-fit:cover;border-radius:7px;border:1px solid #e3e9ef}.gallery small{word-break:break-word}.upload{margin-top:24px;display:flex;align-items:end;gap:15px;flex-wrap:wrap}.upload label{flex:1;min-width:230px}canvas{display:block;width:100%;border:1px solid #bacbdb;background:white;border-radius:8px;touch-action:none;cursor:crosshair}.actions{display:flex;gap:12px;margin-top:12px}.warning{border-color:#e7cb8d;background:#fffcf4}.alert{color:#9a3434}.login{display:grid;place-items:center;min-height:100vh;background:#14283f}.loginbox{background:white;width:min(420px,94vw);border-radius:14px;padding:36px;display:grid;gap:20px}.loginbox h1{margin:0}.loginbox p{margin:0;color:#708198}.loginbox .muted{text-align:center;font-size:12px}@media(max-width:780px){.shell{display:block}aside{width:100%;padding:12px}nav{grid-template-columns:repeat(2,1fr)}.brand{margin:5px}.sidebarfoot{display:none}header{padding:0 18px}main{padding:18px}.fields{grid-template-columns:1fr}.heading{align-items:start;flex-direction:column}.search{flex-wrap:wrap}.search input{min-width:100%}}@media print{aside,header,footer,.search,button,.upload,.actions,canvas{display:none!important}main{padding:0}.card{box-shadow:none}}
