:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--app-text, #0f172a);background:var(--app-background, #f8fafc);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--app-background, #f8fafc)}button,input,textarea,select{font:inherit}.app-shell{min-height:100vh;background:var(--app-background)}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:max(14px,env(safe-area-inset-top)) clamp(16px,4vw,40px) 14px;background:color-mix(in srgb,var(--app-card) 94%,transparent);border-bottom:1px solid color-mix(in srgb,var(--app-secondary) 12%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:10px;min-width:0;font-weight:800}.brand img{width:38px;height:38px;object-fit:contain;border-radius:12px}.brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-layout{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:24px 0 48px}.app-nav{display:flex;gap:8px;overflow-x:auto;padding:2px 0 18px;scrollbar-width:none}.app-nav::-webkit-scrollbar{display:none}.nav-button,.button{border:0;border-radius:12px;padding:11px 15px;font-weight:700;transition:transform .15s,background .15s,opacity .15s}.nav-button{background:color-mix(in srgb,var(--app-card) 85%,var(--app-primary));color:var(--app-text);white-space:nowrap}.nav-button.active,.button.primary{background:var(--app-primary);color:#fff}.button.secondary{background:color-mix(in srgb,var(--app-secondary) 10%,var(--app-card));color:var(--app-text)}.button.danger{background:#fee2e2;color:#991b1b}.button:disabled{opacity:.55;cursor:not-allowed}.button:not(:disabled):active,.nav-button:not(:disabled):active{transform:scale(.98)}.page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.page-title h1{margin:0;font-size:clamp(1.55rem,4vw,2.3rem);letter-spacing:-.04em}.page-title p{margin:6px 0 0;color:color-mix(in srgb,var(--app-text) 62%,transparent)}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--app-card);border:1px solid color-mix(in srgb,var(--app-secondary) 10%,transparent);border-radius:22px;padding:clamp(16px,3vw,24px);box-shadow:0 12px 36px color-mix(in srgb,var(--app-secondary) 8%,transparent)}.card h2,.card h3{margin:0 0 8px}.muted{color:color-mix(in srgb,var(--app-text) 62%,transparent)}.error{padding:12px 14px;border-radius:12px;background:#fef2f2;color:#991b1b}.success{padding:12px 14px;border-radius:12px;background:#ecfdf5;color:#166534}.form{display:grid;gap:13px}.field{display:grid;gap:6px}.field label{font-size:.82rem;font-weight:700}.field input,.field textarea,.field select{width:100%;border:1px solid color-mix(in srgb,var(--app-secondary) 18%,transparent);border-radius:12px;padding:12px 13px;outline:none;background:var(--app-card);color:var(--app-text)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--app-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--app-primary) 18%,transparent)}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.kpi{display:grid;gap:5px}.kpi strong{font-size:1.5rem}.contract-card{display:grid;gap:12px;text-align:left;border:1px solid color-mix(in srgb,var(--app-primary) 17%,transparent)}.contract-card.selected{outline:3px solid color-mix(in srgb,var(--app-primary) 22%,transparent)}.badge{display:inline-flex;width:fit-content;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:800;background:color-mix(in srgb,var(--app-primary) 14%,var(--app-card));color:var(--app-primary)}.banner{overflow:hidden;padding:0}.banner img{display:block;width:100%;max-height:220px;object-fit:cover}.banner-copy{padding:18px}.bill-list{display:grid;gap:10px}.bill{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px;border-radius:14px;background:color-mix(in srgb,var(--app-secondary) 5%,var(--app-card))}.chat{display:grid;gap:12px}.chat-messages{display:grid;gap:10px;max-height:54vh;min-height:260px;overflow:auto;padding:10px;border-radius:16px;background:color-mix(in srgb,var(--app-secondary) 5%,var(--app-background))}.message{max-width:min(84%,620px);padding:10px 12px;border-radius:16px;background:var(--app-card);justify-self:start;box-shadow:0 2px 10px color-mix(in srgb,var(--app-secondary) 6%,transparent)}.message.customer{justify-self:end;background:var(--app-primary);color:#fff}.message.system{justify-self:center;background:transparent;box-shadow:none;font-size:.8rem;color:var(--app-text);opacity:.65}.message small{display:block;margin-bottom:4px;opacity:.66;font-size:.7rem;font-weight:700}.message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.attachment{display:block;margin-top:8px;padding:8px;border-radius:10px;background:color-mix(in srgb,white 84%,var(--app-primary));font-size:.78rem;text-decoration:none;color:var(--app-text)}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right,color-mix(in srgb,var(--app-primary) 19%,transparent),transparent 45%),var(--app-background)}.login-card{width:min(440px,100%)}.install-note{display:flex;gap:10px;align-items:flex-start;padding:13px;border-radius:14px;background:color-mix(in srgb,var(--app-primary) 9%,var(--app-card));font-size:.86rem}.empty{padding:28px 10px;text-align:center;color:color-mix(in srgb,var(--app-text) 60%,transparent)}@media(max-width:760px){.app-layout{width:min(100% - 20px,620px);padding-top:18px}.grid.two,.grid.three{grid-template-columns:1fr}.app-header{padding-left:12px;padding-right:12px}.page-title{display:grid}.page-title .row{width:100%}.page-title .button{flex:1}.bill{align-items:flex-start;flex-direction:column}.message{max-width:92%}}
