*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:Arial,sans-serif;background:#f4f6f5;color:#17201b}a{text-decoration:none;color:inherit}button,input,select{font:inherit}.shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.side{background:#123d2b;color:white;padding:24px 16px}.brand{font-size:20px;font-weight:800;line-height:1.15;margin-bottom:28px}.brand small{display:block;font-size:11px;font-weight:500;opacity:.75;margin-top:5px}.nav a{display:block;padding:11px 12px;border-radius:8px;margin:3px 0}.nav a:hover{background:#1c553e}.main{padding:28px}.top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}.muted{color:#64726a}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.card,.panel{background:white;border:1px solid #dde5df;border-radius:12px;padding:18px}.card b{font-size:26px;display:block;margin-top:8px}.panel{margin-top:18px}.btn{border:0;background:#176b49;color:white;padding:10px 14px;border-radius:8px;cursor:pointer}.btn.secondary{background:#e8eeea;color:#193c2d}.btn.danger{background:#8d2e2e}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:11px;border-bottom:1px solid #e7ece9}th{font-size:12px;color:#617067;text-transform:uppercase}.form{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.form .full{grid-column:1/-1}label{font-size:13px;font-weight:700;display:block;margin-bottom:5px}input,select{width:100%;border:1px solid #cfd9d3;background:white}.error,input,select{padding:10px;border-radius:8px}.error{background:#feeceb;color:#8b2020}.ok{background:#e9f7ef;color:#176b49;padding:10px;border-radius:8px}.login{min-height:100vh;display:grid;place-items:center;background:#eef3ef}.loginbox{width:min(430px,92vw);background:white;padding:30px;border-radius:16px;border:1px solid #dce6df}.loginbox h1{margin:0 0 6px}.loginbox form{display:grid;grid-gap:14px;gap:14px;margin-top:22px}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#e9f2ed;font-size:12px;font-weight:700}@media(max-width:850px){.shell{grid-template-columns:1fr}.side{position:static}.cards{grid-template-columns:1fr 1fr}.form{grid-template-columns:1fr}.form .full{grid-column:auto}}.dangerBadge{background:#fde9e7;color:#9a2e25}.late{color:#a12820;font-weight:700}.detailgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}.detailgrid span{display:block;font-size:12px;color:#69776f;margin-bottom:5px}.detailgrid b{font-size:15px}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:12px}.sectionhead h2{margin:0}.clientlink{font-weight:800;color:#176b49}.clientlink:hover{text-decoration:underline}@media(max-width:850px){.detailgrid{grid-template-columns:1fr 1fr}}.historybox{padding:14px 0;border-bottom:1px solid #e6ece8}.timeline{margin-top:10px;padding-left:14px;border-left:3px solid #dce8e1}.timeline div{padding:5px 0;font-size:13px}.timeline span{color:#66756c}.btn:disabled{opacity:.45;cursor:not-allowed}.tabs{display:flex;gap:8px;margin:14px 0 4px}.tabs a{padding:9px 14px;border-radius:999px;background:#e8eeea;color:#294638;font-weight:700}.tabs a.active{background:#176b49;color:white}.communication{display:grid;grid-gap:10px;gap:10px;margin-bottom:20px}.communication textarea{width:100%;min-height:100px;padding:10px;border:1px solid #cfd9d3;border-radius:8px;font:inherit;resize:vertical}.communication .btn{width:max-content}.communicationlog div{padding:10px 0}.tablewrap{overflow-x:auto}