:root{--blue:#1565c0;--navy:#102a43;--bg:#eef4f8;--green:#14804a;--red:#b42318}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--navy);font:16px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}header{background:#fff;display:flex;justify-content:space-between;align-items:center;padding:14px max(20px,calc((100% - 1100px)/2));box-shadow:0 2px 12px #1232}.brand{font-size:21px;font-weight:800;color:var(--blue);text-decoration:none}nav{display:flex;gap:14px;align-items:center}nav a{color:var(--navy)}main{max-width:1100px;margin:28px auto;padding:0 18px}.card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 8px 24px #1231;margin-bottom:20px}.narrow{max-width:460px;margin:8vh auto}.hero{text-align:center;background:linear-gradient(135deg,#fff,#e4f1ff)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.full{grid-column:1/-1}h1,h2{margin-top:0}form{display:grid;gap:12px}label{display:grid;gap:6px;font-weight:650}input,select,button{font:inherit;border:1px solid #c8d5e1;border-radius:10px;padding:11px 13px;background:#fff}button{cursor:pointer;background:var(--blue);color:#fff;border:0;font-weight:750}.primary{font-size:20px;padding:16px}.link{background:none;color:var(--blue);padding:2px}.danger{background:var(--red)}.link.danger{background:none;color:var(--red)}.muted,small{color:#627d98}.flash{padding:12px 16px;border-radius:10px;margin-bottom:16px;background:#d9edf7}.flash.error{background:#fee4e2;color:#912018}.flash.ok{background:#dcfae6;color:#086d3a}.list article,.bill,.row,.position{display:flex;gap:12px;align-items:center;justify-content:space-between;border-top:1px solid #e6edf2;padding:14px 0}.list article{align-items:flex-start;flex-wrap:wrap}.list article span{flex:1;min-width:220px}.position>div,.position>form{flex:1;display:grid;gap:5px}.badge{border-radius:99px;padding:3px 9px;background:#fff1c2}.badge.paid{background:#dcfae6}.check{display:flex;align-items:center}.check input{width:auto}footer{text-align:center;color:#829ab1;padding:30px}@media(max-width:720px){header{align-items:flex-start}nav{font-size:13px;gap:8px;flex-wrap:wrap;justify-content:flex-end}.grid{grid-template-columns:1fr}.position,.row{align-items:stretch;flex-direction:column}.card{padding:18px}}
