:root{--bg:#f6f7fb;--panel:#ffffff;--panel-alt:#f5f6fa;--ink:#172033;--ink-soft:#374151;--muted:#66748f;--line:#dde2ee;--line-soft:#e8ecf4;--brand:#6c5ce7;--brand-dark:#5a4bd1;--on-brand:#ffffff;--accent:#f97316;--accent-dark:#c2410c;--navy:#172033;--on-dark:#ffffff;--on-dark-soft:#cbd5e1;--radius:12px;--font-body:Arial,Helvetica,sans-serif;--font-heading:Arial,Helvetica,sans-serif;--green:#047857;--green-bg:#ecfdf5;--blue:#3451b2;--blue-bg:#eef2ff;--danger:#b91c1c;--danger-bg:#fef2f2;--warning:#9a3412;--warning-bg:#fff7ed}*{box-sizing:border-box}body,html{min-height:100%;margin:0;max-width:100vw;overflow-x:hidden}body{color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}button{font:inherit}.portal-page{min-height:100vh;padding:24px}.portal-shell{width:100%;max-width:1080px;margin:0 auto}.portal-header{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);margin-bottom:24px}.eyebrow,.kicker{margin:0 0 6px;color:var(--muted);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0}.portal-title{font-size:30px;line-height:1.15;margin:0;font-weight:800}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 8px 24px rgba(23,32,51,.06)}.portal-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:16px;gap:16px}.profile-panel{background:var(--navy);color:var(--on-dark);border-radius:8px;padding:24px;display:flex;align-items:center;gap:16px}.avatar,.avatar-fallback{width:64px;height:64px;border-radius:8px}.avatar{object-fit:cover}.avatar-fallback{background:var(--accent);display:flex;align-items:center;justify-content:center;color:var(--on-brand);font-weight:800;font-size:28px}.user-name{margin:0 0 4px;font-size:22px;line-height:1.2}.muted{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.profile-panel .muted{color:var(--on-dark-soft)}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-title{margin:0;font-size:18px;line-height:1.25}.badge{min-width:28px;height:28px;border-radius:8px;background:var(--blue-bg);color:var(--blue);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}.contact-list{display:grid;grid-gap:10px;gap:10px}.contact-row{border:1px solid var(--line-soft);border-radius:8px;padding:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:16px;gap:16px;align-items:center}.contact-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:15px;font-weight:800;margin-bottom:4px}.contact-meta{margin:0;color:var(--muted);font-size:13px;line-height:1.4}.primary-pill,.setup-note{background:var(--warning-bg);color:var(--warning)}.primary-pill{border-radius:6px;padding:3px 7px;font-size:11px;font-weight:800}.module-grid,.permission-grid{display:flex;flex-wrap:wrap;gap:6px}.permission-grid{justify-content:flex-end}.module-pill,.permission-off,.permission-on{border-radius:6px;padding:5px 8px;font-size:12px;font-weight:700}.permission-on{background:var(--green-bg);color:var(--green)}.module-pill,.permission-off{background:var(--line-soft);color:var(--muted)}.module-pill{border-radius:8px;color:var(--ink-soft);padding:9px 12px;font-size:13px}.login-panel{min-height:420px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);grid-gap:18px;gap:18px;align-items:stretch}.login-copy{background:var(--navy);color:var(--on-dark);border-radius:8px;padding:32px;display:flex;flex-direction:column;justify-content:center}.login-title{margin:0 0 12px;font-size:34px;line-height:1.1}.login-text{margin:0;color:var(--on-dark-soft);font-size:16px;line-height:1.55;max-width:560px}.sign-in-box{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:28px;flex-direction:column;align-items:stretch;gap:16px}.google-slot,.sign-in-box{display:flex;justify-content:center}.google-slot{min-height:44px}.config-notice,.error-box,.setup-note{border-radius:8px;padding:14px;font-size:14px;line-height:1.45}.config-notice{border:1px solid #fed7aa;background:var(--warning-bg);color:var(--warning);display:grid;grid-gap:6px;gap:6px}.error-box{margin-top:16px;border:1px solid #fecaca;background:var(--danger-bg);color:var(--danger)}.setup-note{margin:0;font-size:13px}.ghost-button{border:1px solid var(--line);background:var(--panel);color:var(--ink-soft);border-radius:8px;padding:10px 14px;cursor:pointer;font-weight:700}.loading-bar{height:8px;width:100%;max-width:320px;border-radius:8px;background:linear-gradient(90deg,var(--line),var(--accent),var(--line));margin-bottom:16px}@media (max-width:720px){.portal-page{padding:16px}.portal-header{min-height:76px;align-items:flex-start;flex-direction:column;justify-content:center}.portal-title{font-size:24px}.contact-row,.login-panel{grid-template-columns:1fr}.login-title{font-size:28px}.permission-grid{justify-content:flex-start}.profile-panel{align-items:flex-start}}.ezl{min-height:100vh;display:grid;grid-template-columns:1fr;background:var(--bg);color:var(--ink);font-family:var(--font-body)}@media(min-width:900px){.ezl{grid-template-columns:1.02fr 1fr}}.ezl--solo{display:flex;align-items:center;justify-content:center}.ezl__aside{background:var(--ink);color:#fff;padding:clamp(26px,4vw,56px);display:flex;flex-direction:column;justify-content:space-between;gap:32px}@media(min-width:900px){.ezl__aside{position:-webkit-sticky;position:sticky;top:0;min-height:100vh}}.ezl__mark{font-family:var(--font-heading);font-weight:600;font-size:20px;letter-spacing:.26em;text-transform:uppercase;line-height:1;color:#fff}.ezl__mark--dark{color:var(--ink);margin:0 0 18px;font-size:18px}.ezl__markDot{color:var(--accent)}.ezl__markImg{height:42px;width:auto;display:block}.ezl__kicker{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin:0 0 16px}.ezl__kicker--dark{color:var(--muted);margin-bottom:8px}.ezl__head{font-family:var(--font-heading);font-weight:600;font-size:clamp(30px,4.6vw,58px);line-height:1.02;letter-spacing:-.03em;margin:0;color:#fff}.ezl__lead{color:rgba(255,255,255,.62);font-size:15px;line-height:1.6;margin:16px 0 0;max-width:36ch}.ezl__list{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-gap:9px;gap:9px}.ezl__list li{font-size:13px;color:rgba(255,255,255,.76);padding-left:16px;position:relative}.ezl__list li:before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;background:var(--accent)}.ezl__stamp{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.36);margin:0}.ezl__main{display:flex;align-items:center;justify-content:center;padding:clamp(24px,5vw,64px)}.ezl__card{width:100%;max-width:390px}.ezl__cardHead{margin-bottom:26px}.ezl__title{font-family:var(--font-heading);font-weight:600;font-size:clamp(21px,2.6vw,27px);line-height:1.15;letter-spacing:-.02em;margin:0;color:var(--ink)}.ezl__loading{font-size:13px;color:var(--muted);margin:8px 0 0}.ezl__form{display:grid;grid-gap:15px;gap:15px}.ezl__field{display:grid;grid-gap:7px;gap:7px}.ezl__field span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.ezl__input{height:48px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);font-size:15px;font-family:inherit;width:100%;box-sizing:border-box}.ezl__input:focus{outline:none;border-color:var(--ink)}.ezl__row{display:flex;justify-content:flex-end;margin-top:-2px}.ezl__link{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.ezl__link:hover{color:var(--accent)}.ezl__link--sm{font-size:12px;color:var(--muted)}.ezl__btn{height:48px;padding:0 26px;background:var(--ink);color:#fff;border:0;border-radius:var(--radius);font-family:inherit;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background .18s,transform .18s;margin-top:4px}.ezl__btn:hover{background:var(--accent);transform:translateY(-1px)}.ezl__btn:disabled{opacity:.5;cursor:default;transform:none}.ezl__error{background:#fef2f2;color:#b42318;border:1px solid #fecaca;border-radius:var(--radius);padding:10px 12px;font-size:13px}.ezl__divider{display:flex;align-items:center;gap:12px;margin:22px 0 16px}.ezl__divider span{flex:1 1;height:1px;background:var(--line)}.ezl__divider em{font-style:normal;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.ezl__google{display:flex;justify-content:center}.ezl__foot{margin:24px 0 0;font-size:13px;color:var(--muted);text-align:center}.ezl__ghost{margin-top:12px;width:100%;height:44px;background:transparent;border:1px solid var(--line);border-radius:var(--radius);font-family:inherit;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);cursor:pointer}.ezl__ghost:hover{border-color:var(--ink)}h1,h2,h3,h4,h5{font-family:var(--font-heading);letter-spacing:-.02em}body{background:var(--bg)}button,input,select,textarea{font-family:inherit}::selection{background:var(--accent);color:#fff}