:root{--color-black: #000000;--color-dark: #1e1c1c;--color-charcoal: #201e1e;--color-accent: #25b2a1;--color-accent-dark: #1e9687;--color-light: #eef8f6;--color-muted: #5c5c5c;--color-text: #1e1c1c;--color-danger: #b42318;--color-success: #176b4a;--color-border: #d7e4e1;--color-input: #ffffff;--radius: 16px;--shadow: 0 2px 4px rgba(0, 0, 0, .07), 0 1px 3px rgba(0, 0, 0, .04);--page-bg: #f8f9fb;--page-gutter: clamp(1rem, 2.2vw, 3.5rem);--font: "Plus Jakarta Sans", Inter, system-ui, sans-serif;--font-display: Outfit, "Plus Jakarta Sans", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font-family:var(--font);color:var(--color-text);background:var(--page-bg);-webkit-font-smoothing:antialiased}::selection{background:#25b2a13d}button,input{font:inherit}.auth-form{display:grid;gap:1.05rem}.auth-form .banner{margin:0;padding:.8rem .95rem;border-radius:12px;font-size:.88rem;line-height:1.45}.auth-form .banner--error{color:var(--color-danger);background:#fdecea}.auth-form .banner--success{color:var(--color-success);background:#e8f6ef}.auth-form .field{display:grid;gap:.42rem;font-size:.82rem;font-weight:600;color:var(--color-charcoal)}.auth-form .field input{width:100%;height:3rem;padding:0 .95rem;border:1px solid var(--color-border);border-radius:12px;background:#f7fbfa;color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.auth-form .field input::placeholder{color:#8a8a8a;font-weight:400}.auth-form .field input:hover{border-color:#c3d4d0}.auth-form .field input:focus{outline:none;background:#fff;border-color:var(--color-accent);box-shadow:0 0 0 4px #25b2a129}.auth-form .field small{font-weight:400;color:var(--color-danger)}.auth-form .password-row{position:relative}.auth-form .password-row input{width:100%;padding-right:2.75rem}.auth-form .toggle-password{position:absolute;top:50%;right:.4rem;display:grid;place-items:center;width:2.15rem;height:2.15rem;padding:0;border:0;border-radius:8px;background:transparent;color:var(--color-muted);cursor:pointer;transform:translateY(-50%)}.auth-form .toggle-password:hover,.auth-form .toggle-password:focus-visible{color:var(--color-accent-dark);background:#25b2a114}.auth-form .toggle-password svg{width:1.2rem;height:1.2rem}.auth-form .actions{display:flex;justify-content:flex-end;margin-top:-.15rem}.auth-form .actions a,.auth-form .back{color:var(--color-accent-dark);font-size:.88rem;font-weight:600;text-align:center;text-decoration:none}.auth-form .actions a:hover,.auth-form .back:hover{color:var(--color-dark)}.auth-form .submit{height:3rem;border:0;border-radius:12px;background:linear-gradient(180deg,#32c2b0 0%,var(--color-accent) 100%);color:#fff;font-weight:700;letter-spacing:.02em;cursor:pointer;box-shadow:0 12px 28px -12px #25b2a1bf;transition:transform .15s ease,background .15s ease}.auth-form .submit:hover:not(:disabled){background:var(--color-accent-dark);transform:translateY(-1px)}.auth-form .submit:disabled{opacity:.7;cursor:not-allowed;transform:none}main.portal-main .portal-scroll>*:not(router-outlet){display:block;width:100%;max-width:100%;min-width:0;min-height:100%}main.portal-main .page{width:100%;max-width:none;margin:0;padding:1.5rem var(--page-gutter) 2.5rem;background:transparent;border:0;border-radius:0;box-shadow:none}main.portal-main .page-head{position:sticky;top:0;z-index:4;display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin:0;padding:1.35rem var(--page-gutter);border-bottom:1px solid var(--color-border);background:var(--page-bg)}main.portal-main .page-head h1{margin:0;font-size:1.55rem}main.portal-main .page-head p:not(.eyebrow){margin:.25rem 0 0;color:var(--color-muted)}main.portal-main .page,main.portal-main .panel,main.portal-main .group,main.portal-main .panels,main.portal-main .groups,main.portal-main .stats,main.portal-main .breakdown,main.portal-main .breakdowns,main.portal-main .table-block,main.portal-main .ticket-group,main.portal-main .service-group,main.portal-main .renewal-group,main.portal-main .filter-bar,main.portal-main .stat{min-width:0;max-width:100%}main.portal-main .table-wrap{min-width:0;max-width:100%;background:#fff;border:1px solid #e6eeec;border-radius:16px;box-shadow:0 1px 2px #1e1c1c0b,0 14px 32px -24px #1e1c1c66;overflow:auto}main.portal-main .page-head h1,main.portal-main .page h1,main.portal-main .hero-subject{overflow-wrap:anywhere}body .overlay.overlay,body .preview-overlay.preview-overlay,body .date-picker-overlay.date-picker-overlay{overflow:auto;align-items:safe center;padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left))}body .dialog.dialog,body .preview-dialog.preview-dialog{max-width:calc(100vw - 1.5rem);max-height:calc(100dvh - 1.5rem)}body .dialog.dialog{overflow:auto}.dialog-actions,.preview-actions,.preview-head{flex-wrap:wrap;min-width:0}.preview-head strong{min-width:0}@media(max-width:720px){main.portal-main .page-head{position:static;flex-direction:column;align-items:stretch;padding-top:1rem;padding-bottom:1rem}main.portal-main .page-head h1{font-size:1.35rem}main.portal-main .page-actions{width:100%;justify-content:flex-start}main.portal-main .page-actions .table-search{flex:1 1 100%;max-width:none}main.portal-main .page{padding:1rem 1rem 2rem}main.portal-main .filters>*{flex:1 1 calc(50% - .75rem);max-width:100%}}@media(max-width:480px){main.portal-main .filters>*{flex-basis:100%}}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dropdown-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.98)}}@keyframes dropdown-in-aside{0%{opacity:0;transform:translate(-12px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes dropdown-out-aside{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-10px) scale(.98)}}.dropdown-enter,.dropdown-leave,.dropdown-enter-aside,.dropdown-leave-aside{will-change:transform,opacity}.dropdown-enter{transform-origin:50% 0;animation:dropdown-in .34s cubic-bezier(.22,1,.36,1) both}.dropdown-leave{transform-origin:50% 0;animation:dropdown-out .22s cubic-bezier(.4,0,.2,1) both}.dropdown-enter-aside{transform-origin:0 100%;animation:dropdown-in-aside .34s cubic-bezier(.22,1,.36,1) both}.dropdown-leave-aside{transform-origin:0 100%;animation:dropdown-out-aside .22s cubic-bezier(.4,0,.2,1) both}select:not([multiple]){appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%235c5c5c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;background-size:1.05rem;padding-right:2.4rem;cursor:pointer;transition:border-color .25s ease,box-shadow .25s ease,background-color .25s ease}select:not([multiple]):hover{background-color:#fff}
