:root{--union-blue:#004aad;--union-blue-soft:#eaf2fc;--union-blue-light:#9bc7ef;--union-line:#dbe6f5;--union-bg:#f5f8fc;--union-text:#17233a;--union-muted:#67748a;--white:#fff;--danger:#a83232;--radius:18px;--shadow:0 8px 30px #004aad17}*{box-sizing:border-box}html,body{background:var(--union-bg);min-height:100%;color:var(--union-text);margin:0}body{font-family:Calibri,Candara,Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100dvh;padding-bottom:88px}.topbar{z-index:20;border-bottom:1px solid var(--union-line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;align-items:center;gap:12px;padding:13px 16px;display:flex;position:sticky;top:0}.brand-mark{border-radius:12px;width:42px;height:42px}.brand-copy strong{color:var(--union-blue);font-size:17px;display:block}.brand-copy span{color:var(--union-muted);font-size:12px}.page{width:min(760px,100%);margin:0 auto;padding:18px 14px 30px}.hero{margin-bottom:14px}.hero h1{color:var(--union-blue);margin:0 0 4px;font-size:clamp(24px,7vw,34px)}.hero p{color:var(--union-muted);margin:0}.card{background:var(--white);border:1px solid var(--union-line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:14px;padding:16px}.card h2,.card h3{margin-top:0}.muted{color:var(--union-muted)}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.spread{justify-content:space-between}.stack{gap:11px;display:grid}.btn{border:1px solid var(--union-blue);background:var(--union-blue);color:#fff;border-radius:12px;padding:11px 14px;font-weight:700}.btn.secondary{color:var(--union-blue);background:#fff}.btn.danger{color:var(--danger);background:#fff7f7;border-color:#efd1d1}.btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn{border:1px solid var(--union-line);width:42px;height:42px;color:var(--union-blue);background:#fff;border-radius:10px;font-size:22px}.field{gap:5px;display:grid}.field label{color:#43506a;font-size:13px;font-weight:700}.field input,.field select,.field textarea{width:100%;color:var(--union-text);background:#fff;border:1px solid #c9d9ee;border-radius:11px;outline:none;padding:11px 12px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--union-blue);box-shadow:0 0 0 3px #004aad1a}.field textarea{resize:vertical;min-height:82px}.two-col{grid-template-columns:1fr 1fr;gap:10px;display:grid}.calendar-head{grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;margin-bottom:12px;display:grid}.calendar-head h2{text-align:center;color:var(--union-blue);text-transform:capitalize;margin:0}.calendar-week,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.calendar-week span{text-align:center;color:var(--union-muted);padding:4px 0;font-size:12px;font-weight:700}.day{aspect-ratio:1;min-height:48px;color:var(--union-text);background:#fff;border:1px solid #0000;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:relative}.day:hover,.day:focus-visible{border-color:var(--union-blue);outline:none}.day.today{box-shadow:inset 0 0 0 2px var(--union-blue)}.day.has-hours{background:var(--union-blue-soft)}.day.has-appointment{border:2px solid var(--union-blue-light)}.day.today.has-appointment{box-shadow:inset 0 0 0 2px var(--union-blue);border-color:var(--union-blue-light)}.day .n{font-weight:700}.day .hours{color:var(--union-blue);font-size:10px;font-weight:800;line-height:1}.blank{aspect-ratio:1}.calendar-legend{color:var(--union-muted);flex-wrap:wrap;gap:12px 18px;margin-top:13px;font-size:12px;display:flex}.calendar-legend span{align-items:center;gap:6px;display:inline-flex}.calendar-legend i{border-radius:2px;width:14px;height:14px;display:inline-block}.legend-hours{background:var(--union-blue-soft);border:1px solid #d3e3f7}.legend-appointment{border:2px solid var(--union-blue-light);background:#fff}.work-card{border:1px solid var(--union-line);background:#fbfdff;border-radius:14px;padding:12px}.plus-work{border:1px dashed var(--union-blue);background:var(--union-blue-soft);width:100%;color:var(--union-blue);border-radius:13px;padding:13px;font-weight:700}.calculation{color:var(--union-blue);font-size:13px;font-weight:700}.check-row{color:#43506a;align-items:center;gap:9px;font-weight:700;display:flex}.check-row input{width:18px;height:18px}.summary-line{border-bottom:1px solid #edf2f8;grid-template-columns:1fr auto;gap:12px;padding:10px 0;display:grid}.summary-line:last-child{border-bottom:0}.money{font-variant-numeric:tabular-nums;font-weight:700}.big-total{color:var(--union-blue);font-size:28px;font-weight:800}.pill{background:var(--union-blue-soft);color:var(--union-blue);border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:12px;font-weight:700;display:inline-flex}.warning{border-left:4px solid var(--union-blue);background:#f4f8fe}.finance-controls{gap:12px;display:grid}.segmented{border:1px solid var(--union-line);border-radius:11px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.segmented button{color:var(--union-muted);background:#fff;border:0;padding:10px;font-weight:700}.segmented button.active{background:var(--union-blue);color:#fff}.finance-client{border-bottom:1px solid #edf2f8;padding:12px 0}.finance-client:last-child{border-bottom:0}.finance-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;display:grid}.finance-grid div{background:#f4f7fb;border-radius:9px;padding:10px}.finance-grid small{color:var(--union-muted);font-size:11px;display:block}.finance-grid b{margin-top:3px;display:block}.total-finance{background:#fff}.bottom-nav{z-index:30;border-top:1px solid var(--union-line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:min(760px,100%);padding:7px 6px max(7px,env(safe-area-inset-bottom));background:#fffffff7;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-btn{color:var(--union-muted);background:0 0;border:0;justify-items:center;gap:2px;padding:5px;font-size:11px;display:grid}.nav-btn b{font-size:19px;line-height:1}.nav-btn.active{color:var(--union-blue);font-weight:700}.overlay{z-index:50;background:var(--union-bg);position:fixed;inset:0;overflow-y:auto}.overlay-head{z-index:2;border-bottom:1px solid var(--union-line);background:#fff;align-items:center;gap:10px;padding:12px 14px;display:flex;position:sticky;top:0}.overlay-head h2{color:var(--union-blue);margin:0}.overlay-body{width:min(760px,100%);margin:0 auto;padding:16px 14px 32px}.empty{text-align:center;color:var(--union-muted);padding:18px}@media (max-width:420px){.page{padding-left:11px;padding-right:11px}.card{border-radius:15px;padding:13px}.day{border-radius:4px;min-height:43px}.two-col{grid-template-columns:1fr}.calendar-legend{gap:8px 12px}.finance-grid{grid-template-columns:1fr 1fr}.finance-grid div:last-child{grid-column:1/-1}}
