.login-page{margin:0;min-height:100vh;display:grid;place-items:center;background:#eef2f4;color:#192927;font:16px/1.5 Arial,sans-serif}.login-panel{width:min(420px,calc(100vw - 64px));padding:32px;background:white;border:1px solid #c8d5d0;border-radius:8px;text-align:center}.login-panel img{object-fit:contain}.login-panel h1{font-size:26px}.login-agency{font-weight:700;font-size:13px;line-height:1.55}.login-panel form{text-align:left}.login-panel label{display:block;margin:16px 0}.login-panel input{box-sizing:border-box;width:100%;padding:12px;border:1px solid #9caeaa;border-radius:4px;font:inherit}.login-panel button{width:100%;padding:12px;border:0;border-radius:4px;background:#146450;color:white;font:inherit;cursor:pointer}.login-rights{text-align:center;font-size:12px;color:#70807d;margin:12px 0 0}.login-panel [hidden]{display:none}.login-panel button:disabled{opacity:.6}#login-error{color:#a52929}.server-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 20px;background:#f0f7f3;border-bottom:1px solid #c7dbd0;font-size:14px}.server-toolbar button,.server-toolbar a{font:inherit;padding:6px 10px;border:1px solid #9caeaa;border-radius:4px;background:white;color:#1c4138;cursor:pointer}.server-toolbar #server-status{flex:1;min-width:180px}.server-toolbar[data-error="true"]{background:#fff0e8;color:#8c2b13}#server-panel{padding:16px 20px;border-bottom:1px solid #ccc}#server-panel button{margin:4px}.server-toolbar [hidden]{display:none}@media print{.server-toolbar,#server-panel{display:none}}
.approval-page{margin:0;min-height:100vh;background:#071a33;color:#172538;font:15px/1.5 Arial,sans-serif}.approval-shell{width:min(920px,calc(100% - 28px));margin:auto;padding:22px 0 48px}.approval-header{display:grid;grid-template-columns:62px 1fr 62px;align-items:center;gap:14px;color:#fff;text-align:center;padding:12px 6px 22px}.approval-header img{width:58px;height:58px;object-fit:contain}.approval-header strong,.approval-header span{display:block}.approval-header span{font-size:12px;color:#bdd1e6}.approval-card{background:#fff;border:1px solid #b8c8d8;border-radius:8px;padding:22px;margin-bottom:14px}.approval-title{text-align:center}.approval-title h1,.approval-card h2{margin:0 0 8px;color:#071a33}.approval-title p{margin:0;color:#52677d}.approval-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.approval-summary div{background:#f1f5f9;padding:10px;border-radius:6px}.approval-summary span,.approval-summary strong{display:block}.approval-summary span{font-size:11px;color:#60738a;text-transform:uppercase}.approval-items{overflow:auto}.approval-items table{width:100%;border-collapse:collapse}.approval-items th,.approval-items td{padding:9px;border:1px solid #aebccc;text-align:left}.approval-items th{background:#eaf1f7}.approval-card label{display:block;margin:13px 0;font-weight:700}.approval-card label span{font-weight:400;color:#60738a}.approval-card input,.approval-card textarea{box-sizing:border-box;width:100%;padding:11px;margin-top:5px;border:1px solid #8fa3b7;border-radius:5px;font:inherit}.signature-pad{border:1px solid #8fa3b7;border-radius:6px;margin-top:16px;overflow:hidden}.signature-pad>div{display:flex;justify-content:space-between;align-items:center;padding:8px 11px;background:#edf3f8}.signature-pad button{padding:5px 9px}.signature-pad canvas{display:block;width:100%;height:180px;background:#fff;touch-action:none}.approval-actions{display:grid;grid-template-columns:1fr 2fr;gap:10px;margin-top:16px}.approval-actions button{min-height:46px;border:0;border-radius:5px;background:#1759a7;color:#fff;font-weight:800;cursor:pointer}.approval-actions .danger{background:#b42318}.approval-actions button:disabled{opacity:.55}.approval-result{text-align:center;padding:42px 22px}#approval-error{color:#b42318;font-weight:700}.approval-page .system-credit{color:#b8cce0}@media(max-width:640px){.approval-header{grid-template-columns:48px 1fr 48px}.approval-header img{width:46px;height:46px}.approval-summary{grid-template-columns:1fr 1fr}.approval-card{padding:16px}.approval-actions{grid-template-columns:1fr}}
