@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_eb41fe{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_eb41fe{--font-display:"Fraunces","Fraunces Fallback"}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_73ee6c{font-family:Manrope,Manrope Fallback;font-style:normal}.__variable_73ee6c{--font-body:"Manrope","Manrope Fallback"}:root{--bg:#eef3f1;--bg-deep:#e2ebe7;--ink:#14241f;--muted:#5c6f68;--line:#cfdad5;--card:rgba(255,255,255,0.82);--card-solid:#ffffff;--accent:#235b4e;--accent-soft:#e7f2ee;--accent-deep:#1a4339;--topbar:#16332c;--danger:#8a2f28;--danger-bg:#f4e8e6;--warn:#9a5b12;--warn-bg:#fff4e5;--ok:#235b4e;--ok-bg:#e7f2ee;--shadow:0 10px 30px rgba(20,36,31,0.06);--radius:16px;--font-display:var(--font-display),"Georgia",serif;--font-body:var(--font-body),system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{font-family:var(--font-body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit}.app-shell{min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(1200px 500px at 8% -10%,rgba(35,91,78,.14),transparent 55%),radial-gradient(900px 420px at 100% 0,rgba(90,140,120,.12),transparent 50%),linear-gradient(180deg,#f7faf8 0,var(--bg) 42%,var(--bg-deep) 100%);color:var(--ink)}.app-topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1.05rem clamp(1rem,3vw,2rem);background:linear-gradient(135deg,rgba(255,255,255,.06),transparent 40%),var(--topbar);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}.app-brand{display:grid;grid-gap:.15rem;gap:.15rem}.app-brand-name{margin:0;font-family:var(--font-display);font-size:clamp(1.55rem,3vw,1.9rem);font-weight:600;letter-spacing:-.02em;line-height:1.1}.app-brand-sub{margin:0;font-size:.8rem;opacity:.72;font-weight:500}.app-topbar-actions{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.app-user{font-size:.84rem;opacity:.88;margin-right:.2rem}.app-ghost-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:.5rem .9rem;border-radius:10px;border:1px solid rgba(255,255,255,.42);background:transparent;color:#fff;text-decoration:none;font:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .18s ease,border-color .18s ease}.app-ghost-btn:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.65)}.app-main{flex:1 0 auto;width:100%;padding:1.5rem clamp(1rem,3vw,2rem) 5.5rem;max-width:880px;margin:0 auto}.app-footer{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:.7rem clamp(1rem,3vw,2rem) max(.7rem,env(safe-area-inset-bottom));color:var(--muted);font-size:.8rem;background:rgba(247,250,248,.92);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-footer,.app-footer-inner{display:flex;flex-wrap:wrap;gap:.55rem 1.1rem;align-items:center;justify-content:space-between}.app-footer-inner{width:min(880px,100%);margin:0 auto}.app-footer-brand{font-weight:700;color:var(--accent-deep);letter-spacing:-.01em}.legal-footer-links{display:inline-flex;flex-wrap:wrap;gap:.4rem .55rem;align-items:center}.legal-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;margin:0;color:var(--accent);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.legal-link:hover{color:var(--accent-deep)}.legal-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:1rem}.legal-modal-backdrop{position:absolute;inset:0;border:0;padding:0;margin:0;background:rgba(23,32,42,.48);cursor:pointer}.legal-modal-card{position:relative;width:min(100%,480px);background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.2rem 1.25rem 1rem;box-shadow:0 18px 48px rgba(24,31,42,.18)}.legal-modal-card h2{margin:0 0 .55rem;font-size:1.1rem}.legal-modal-card p{margin:0;color:var(--muted);line-height:1.5}.legal-modal-actions{display:flex;justify-content:flex-end;margin-top:1rem}.legal-modal-actions button{min-height:42px;padding:.65rem 1rem;border:0;border-radius:10px;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.7rem 1.05rem;border:0;border-radius:11px;font:inherit;font-weight:650;cursor:pointer;text-decoration:none;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 8px 18px rgba(35,91,78,.22)}.btn-primary:not(:disabled):hover{background:var(--accent-deep)}.btn-secondary{background:#eef3f1;color:var(--ink);border:1px solid var(--line);box-shadow:none}.btn-danger{background:var(--danger-bg);color:var(--danger);box-shadow:none}.btn-sm{min-height:36px;padding:.45rem .75rem;font-size:.85rem}.field{width:100%;padding:.72rem .9rem;border-radius:11px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit}.field:focus{outline:2px solid rgba(35,91,78,.28);border-color:var(--accent)}.label{display:grid;grid-gap:.35rem;gap:.35rem}.label span{font-weight:650;font-size:.84rem;color:var(--muted)}.alert{margin:0;color:var(--danger);font-weight:650}.page-head{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:flex-end;margin-bottom:.25rem;animation:rise .45s ease both}.page-kicker{margin:0 0 .35rem;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.page-title{margin:0;font-family:var(--font-display);font-size:clamp(1.85rem,4vw,2.35rem);font-weight:600;letter-spacing:-.03em;line-height:1.1}.page-lead{margin:.45rem 0 0;color:var(--muted);max-width:34rem;line-height:1.45}.panel{display:grid;grid-gap:.85rem;gap:.85rem;padding:1.15rem;background:var(--card);border:1px solid rgba(207,218,213,.9);border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow);animation:rise .5s ease both}.client-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.7rem;gap:.7rem}.client-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.1rem;background:var(--card-solid);border:1px solid var(--line);border-radius:14px;text-decoration:none;color:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.8);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;animation:rise .55s ease both}.client-row:hover{transform:translateY(-2px);border-color:#b7cbc3;box-shadow:0 12px 28px rgba(20,36,31,.08)}.client-row-main{display:flex;gap:.9rem;align-items:center;min-width:0}.client-avatar{flex:0 0 auto;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,var(--accent-soft),#d7e8e1);color:var(--accent-deep);font-family:var(--font-display);font-weight:700;font-size:1.05rem}.client-name{margin:0;font-size:1.08rem;font-weight:700;letter-spacing:-.01em}.client-notes{margin:.2rem 0 0;color:var(--muted);font-size:.875rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.client-chevron{flex:0 0 auto;width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:1rem;transition:background .18s ease,color .18s ease}.client-row:hover .client-chevron{background:var(--accent);color:#fff}.empty-state{padding:2rem 1.25rem;text-align:center;background:rgba(255,255,255,.65);border:1px dashed #b7cbc3;border-radius:var(--radius);color:var(--muted);animation:rise .45s ease both}.empty-state strong{display:block;color:var(--ink);font-family:var(--font-display);font-size:1.25rem;margin-bottom:.35rem}.back-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--accent);font-weight:650;text-decoration:none;font-size:.9rem}.back-link:hover{text-decoration:underline}.detail-head{display:grid;grid-gap:.35rem;gap:.35rem;animation:rise .45s ease both}.detail-name{margin:.35rem 0 0;font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.4rem);font-weight:600;letter-spacing:-.03em;line-height:1.1}.detail-notes{margin:.15rem 0 0;color:var(--muted);line-height:1.45;max-width:40rem}.action-row{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center;animation:rise .5s ease both}.status-banner{padding:1rem 1.15rem;border-radius:var(--radius);border:1px solid #c5dbd2;background:linear-gradient(135deg,#f4faf7,#eaf4f0);animation:rise .55s ease both}.status-banner h3{margin:0 0 .3rem;font-size:1rem}.status-banner p{margin:0;color:var(--muted);line-height:1.45}.section-title{margin:0 0 .75rem;font-family:var(--font-display);font-size:1.25rem;font-weight:600}.cycle-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.65rem;gap:.65rem}.cycle-item{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;align-items:center;padding:.95rem 1.05rem;background:var(--card-solid);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);animation:rise .55s ease both}.cycle-meta strong{display:block;font-size:1rem}.badge{display:inline-flex;align-items:center;margin-top:.25rem;padding:.22rem .55rem;border-radius:8px;font-size:.78rem;font-weight:750;letter-spacing:.01em}.badge-opening{background:var(--warn-bg);color:var(--warn)}.badge-active{background:var(--ok-bg);color:var(--ok)}.badge-completed{background:#eef1f4;color:var(--muted)}.badge-cancelled{background:var(--danger-bg);color:var(--danger)}.cycle-actions{display:flex;gap:.5rem;flex-wrap:wrap}.muted{color:var(--muted)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.login-page{min-height:100dvh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(900px 420px at 10% -10%,rgba(35,91,78,.16),transparent 55%),linear-gradient(180deg,#f7faf8 0,var(--bg) 55%,var(--bg-deep) 100%)}.login-card{width:min(100%,420px);background:var(--card-solid);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.login-card-head{padding:1.35rem 1.4rem 1.1rem;background:linear-gradient(135deg,rgba(255,255,255,.06),transparent 40%),var(--topbar);color:#fff}.login-kicker{margin:0;font-family:var(--font-display);font-size:1.55rem;font-weight:600;letter-spacing:-.02em}.login-card-head h1{margin:.35rem 0 0;font-size:1.05rem;font-weight:600;opacity:.88}.login-card-body{padding:1.25rem 1.4rem 1.4rem}.login-form{display:grid;grid-gap:.95rem;gap:.95rem}.login-accept{display:grid;grid-gap:.45rem;gap:.45rem;padding:.8rem .9rem;border-radius:12px;border:1px solid var(--line);background:#f8faf9;font-size:.875rem;line-height:1.45}.login-accept-check{display:flex;gap:.6rem;align-items:flex-start;cursor:pointer}.login-accept-check input{margin-top:.2rem;width:1.1rem;height:1.1rem;flex:0 0 auto;accent-color:var(--accent)}.login-accept-links{padding-left:1.7rem;color:var(--muted)}.login-submit{width:100%}.login-legal{margin-top:1rem}@media (max-width:560px){.page-head{align-items:stretch}.page-head .btn{width:100%}.client-row{align-items:flex-start}}