:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#071b27;background:#edf7f8;font-size:16px;--blue:#00837d;--muted:#465f6c;--border:#c1d8de;--pale:#e0f5f3;--gradient:#12a39a}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--border);background:white;color:var(--blue);padding:12px 15px;border-radius:14px;min-height:44px}button:disabled{opacity:.48;cursor:wait}button.primary,.selected{background:var(--blue);color:white;border-color:var(--blue)}button.danger{color:#b42332;border-color:#e5a5ad}.muted,small{color:var(--muted)}small{font-size:.8rem}h1,h2,h3,p{margin-top:0}h1{font-size:1.25rem;margin-bottom:4px}h2{font-size:1.25rem}h3{font-size:1.05rem}.brand,.page-head{background:var(--gradient);color:white;border-radius:0 0 26px 26px;padding:24px 20px;position:relative;overflow:hidden}.brand{display:flex;gap:14px;align-items:center;min-height:128px}.brand:after{content:"";position:absolute;right:-16px;top:15px;width:130px;height:7px;border-radius:8px;background:#087f7e;box-shadow:-30px 18px #087f7e,12px 38px #087f7e;pointer-events:none}.brand img{width:58px;height:58px;border-radius:16px}.brand>div{z-index:1}.brand span{letter-spacing:3px;font-size:.75rem}.brand .who{margin-left:auto;text-align:center;letter-spacing:0;font-size:.85rem}.avatar{display:flex;align-items:center;justify-content:center;width:52px;height:52px;flex-shrink:0;border-radius:50%;background:#e0f5f3;color:#00837d;font-size:1.5rem;font-weight:700;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}#app{max-width:820px;margin:auto;min-height:100dvh;padding-bottom:calc(90px + env(safe-area-inset-bottom))}.login{max-width:440px;padding:28px 20px;margin:auto}.roles,.chips,.row,.payments{display:flex;gap:8px}.roles button{flex:1;padding:12px 5px}.login label,.form label{display:flex;flex-direction:column;gap:7px;margin:14px 0;color:var(--muted);font-size:.9rem}input,select,textarea{width:100%;padding:13px;border:1px solid var(--border);border-radius:13px;background:white;color:#071b27;min-width:0}input[type=checkbox]{width:20px;height:20px}.check{flex-direction:row!important;align-items:center}.full{width:100%}.content{padding:18px}.stats{display:flex;gap:8px;padding:0 16px 16px;background:var(--gradient);border-radius:0 0 26px 26px}.dashboard .brand{border-radius:0}.stat{flex:1;background:#08736f;border:1px solid #80ded7;border-radius:13px;padding:10px;color:white}.stat span{display:block;font-size:.78rem}.stat strong{font-size:1.4rem}.team{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 22px}.team button{display:flex;align-items:center;gap:7px;color:#071b27;padding:9px;text-align:left;min-width:0}.team small{display:block;color:var(--blue);font-size:.75rem}.chips{overflow:auto;padding:5px 0 14px}.chips button{white-space:nowrap}.card{background:white;border:1px solid var(--border);border-radius:22px;padding:16px;margin:14px 0;box-shadow:0 3px 0 #dfe9ef}.card header{display:flex;justify-content:space-between;gap:10px}.card header strong{font-size:1.2rem}.card h3{margin:15px 0 8px}.card p{margin:8px 0;font-size:.9rem}.status{display:inline-block;border-radius:30px;padding:5px 10px;font-size:.8rem;background:#e6f0ff;color:#126de0}.status.done{color:#087d74;background:#e0f5ef}.status.cancel{color:#b42332;background:#fff1f1}.warning{background:#fff1f1;border:1px solid #eba6a6;border-radius:12px;color:#b42332;padding:12px;margin:12px 0}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.actions>*{flex:1}.phone{color:var(--blue);text-decoration:none;background:var(--pale);border-radius:20px;padding:10px;display:inline-flex;align-items:center;gap:8px;min-height:44px}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,820px);background:white;border-top:1px solid var(--border);display:flex;padding:9px 5px calc(9px + env(safe-area-inset-bottom));z-index:5}.nav button{border:0;flex:1;padding:8px 3px;border-radius:12px;color:var(--muted);font-size:.82rem}.nav .active{background:var(--pale);color:var(--blue);font-weight:700}.page-head h2{margin:0}.toolbar{display:flex;gap:8px;align-items:center;justify-content:space-between}.toolbar h2{margin:0}.banner{padding:12px 16px;background:#fff2d6;color:#805400;font-size:.9rem}.error{color:#b42332;background:#fff1f1;padding:12px;border-radius:12px}dialog{border:0;border-radius:24px;padding:0;width:min(94vw,580px);max-height:90dvh;background:#edf7f8;color:#071b27}dialog::backdrop{background:#071b2766}.modal-head{background:var(--gradient);padding:18px;display:flex;justify-content:space-between;align-items:center;color:white}.modal-head h2{margin:0}.modal-body{padding:18px}.modal-body dl{margin:0}.modal-body dt{font-size:.8rem;color:var(--muted);margin-top:15px}.modal-body dd{margin:5px 0;overflow-wrap:anywhere}.amount-payment{display:grid;grid-template-columns:95px 1fr;gap:9px;align-items:end}.payments{gap:4px}.payments button{font-size:.78rem;padding:11px 4px;flex:1}.payments .selected{background:var(--pale);border:2px solid var(--blue);color:var(--blue);font-weight:bold}.form textarea{min-height:80px}.report-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.report-grid .card{margin:0}.report-grid strong{font-size:1.6rem;color:var(--blue)}#toast{position:fixed;left:50%;bottom:100px;transform:translateX(-50%);background:#071b27;color:white;padding:14px;border-radius:14px;z-index:30;max-width:90vw;display:none}.empty{text-align:center;padding:36px 12px;color:var(--muted)}.install{margin-top:22px;background:white;border:1px solid var(--border);border-radius:16px;padding:15px;font-size:.9rem}.file{display:block;padding:12px}.busy{pointer-events:none;opacity:.6}@media(max-width:380px){.team button{flex-direction:column;text-align:center}.amount-payment{grid-template-columns:1fr}.roles button{font-size:.86rem}.brand{padding:22px 15px}.brand img{width:50px;height:50px}.brand h1{font-size:1.1rem}}@media(min-width:650px){.team button{justify-content:center}.content{padding:24px}.login{padding-top:40px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}}:focus-visible{outline:3px solid #126de0;outline-offset:3px}
fieldset{min-width:0;border:0;padding:0;margin:10px 0}legend{font-size:.875rem;color:var(--muted);margin-bottom:8px}.roles{gap:6px}.roles label{flex:1;margin:0;cursor:pointer}.roles input{position:absolute;opacity:0;width:1px;height:1px}.roles span{display:block;text-align:center;border:1px solid var(--border);border-radius:12px;background:white;padding:12px 5px;font-size:.875rem}.roles input:checked+span{background:var(--blue);color:white}.roles input:focus-visible+span{outline:3px solid #126de0}.brand .who{background:transparent;border:0;color:white;padding:0;z-index:1}.who .avatar{margin:0 auto 5px}.brand:after{z-index:0}.nav span{display:block;font-size:1.65rem;line-height:1.2;margin-bottom:4px}.order-id{color:#126de0}.bonus{color:var(--blue);font-weight:600}.team .chosen{border:2px solid var(--blue)}.team small,.stat span{font-size:.875rem}.profile-card{text-align:center}.profile-card>.avatar{margin:0 auto 15px}.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.filter-grid label{font-size:.875rem}#search{display:flex;gap:8px;margin:12px 0 20px}.payment-options{display:flex;gap:4px;align-items:center}.payment-options legend{float:none}.payment-options label{display:flex;align-items:center;justify-content:center;gap:3px;flex:1;background:white;border:1px solid var(--border);border-radius:10px;padding:10px 3px;font-size:.875rem;margin:0!important;flex-direction:row}.payment-options input{width:15px;height:15px;padding:0;accent-color:var(--blue)}.payment-options label:has(input:checked){border-color:var(--blue);background:var(--pale);color:var(--blue)}.amount-payment{grid-template-columns:85px 1fr;align-items:center}.amount-payment .payment-options{margin-top:0}#modal-error,#login-error{color:#b42332}.actions{align-items:stretch}.actions>*{min-width:120px}.install p{margin:10px 0 0}.file input{margin-top:10px}.toolbar h2{flex:1}.toolbar button{white-space:nowrap}.card .warning{font-size:.875rem}.status{font-size:.875rem}@media(max-width:480px){.team button{flex-direction:column;text-align:center}.team .avatar{width:52px;height:52px}.brand h1{font-size:1.1rem}.brand{gap:10px}.content{padding:14px}.stat strong{font-size:1.2rem}.amount-payment{grid-template-columns:75px 1fr}.payment-options label{font-size:.8rem;padding:12px 2px;gap:2px}.payment-options input{width:12px;height:12px}.brand .who{font-size:.8rem}.nav button{font-size:.875rem}}@media(max-width:340px){.amount-payment{grid-template-columns:1fr}.brand h1{font-size:1rem}.brand img{width:44px;height:44px}}@media(prefers-reduced-motion:no-preference){.card{animation:appear .15s ease-out}@keyframes appear{from{opacity:.8}to{opacity:1}}}
.payment-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%}.payment-options legend{grid-column:1/-1}.payment-options label{position:relative;min-width:0;display:block;text-align:center;cursor:pointer;line-height:1.4}.payment-options input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.payment-options label:has(input:focus-visible){outline:3px solid #126de0}.amount-payment>*{min-width:0}.modal-body{overflow-wrap:anywhere}.brand h1{overflow-wrap:anywhere}.team button span{min-width:0}

/* Consistent filter columns and component prices. */
.filter-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:stretch}
.filter-grid .span2{grid-column:1/-1}.filter-grid label{min-width:0}.filter-grid input,.filter-grid select,.filter-grid>button{width:100%;min-height:48px;box-sizing:border-box}.filter-grid input[type=date]{min-width:0}
.doctor-search #doctor-options{max-height:210px;overflow:auto;border:1px solid #b9d7db;border-radius:12px;background:white}.doctor-search #doctor-options button{display:block;width:100%;text-align:left;border:0;border-radius:0;min-height:44px}
.price-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.price-split input{width:100%;min-width:0}#price-total{font-weight:700;color:#00837D}#complete label{display:block;margin:12px 0}#complete input:not([type=radio]){width:100%;box-sizing:border-box}.history-total{border:1px solid #80c9c5}

.payment-options{align-items:stretch}.payment-options label{display:flex;align-items:center;justify-content:center;min-height:48px}

.product-row{border:1px solid #9bcac8;border-radius:16px;padding:16px;margin:12px 0}.bonus-ledger{margin:24px 0}.bonus-ledger .card{margin:12px 0}

[hidden]{display:none!important} dialog,.modal-body{overscroll-behavior:contain}
