@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500;1,600&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--blue:#075cbd;--navy:#092c51;--orange:#f68b24;--cream:#f7f0e6;--sky:#d9effb;--ink:#1c2a30;--muted:#657784;--border:#dbe5e9;--bg:#f6f9fb;--card:#fffdf9;--shadow:0 18px 60px rgba(11,48,83,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-family:Manrope,system-ui,Arial,sans-serif;color:var(--ink);line-height:1.55}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.57}.logo{font-weight:800;letter-spacing:-.065em;color:var(--blue);font-size:31px}.logo .dot{color:var(--orange)}.logo:hover{text-decoration:none}.serif{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;color:var(--blue);font-weight:600}.topbar{background:#fff;border-bottom:1px solid var(--border);min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px max(24px,calc((100vw - 1180px)/2))}.top-links{display:flex;gap:18px;align-items:center;font-size:13px;font-weight:800}.button{border:1px solid transparent;border-radius:13px;padding:12px 18px;background:var(--blue);color:#fff;display:inline-flex;gap:8px;justify-content:center;align-items:center;font-weight:800;font-size:13px;line-height:1.3;text-decoration:none;transition:background .15s,transform .15s}.button:hover{background:#004d9d;transform:translateY(-1px);text-decoration:none}.button.orange{background:var(--orange);color:var(--navy)}.button.secondary{background:#fff;color:var(--blue);border-color:#bdd4e9}.button.danger{background:#fff1ee;color:#ab4231;border:1px solid #ffccc2}.button.text{background:transparent;color:var(--blue);padding:9px}.button.sm{font-size:12px;padding:9px 12px}.button.block{width:100%}.wrap{max-width:1180px;margin:auto;padding:34px 24px}.narrow{max-width:1000px}.tiny{font-size:12px;color:var(--muted)}.muted{color:var(--muted)}h1,h2,h3,h4,p{margin-top:0}h1{font-size:clamp(32px,4vw,55px);line-height:1.12;letter-spacing:-.055em;color:var(--navy)}h2{font-size:28px;line-height:1.18;letter-spacing:-.05em;color:var(--navy)}h3{font-size:18px;color:var(--navy);letter-spacing:-.03em}.card{background:var(--card);border:1px solid #e0eaed;border-radius:22px;padding:26px;box-shadow:var(--shadow)}.pill{display:inline-block;padding:7px 11px;color:#0655ac;background:#e8f3fd;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.045em}.muted-panel{background:#eaf4fc;padding:15px;border-radius:12px;font-size:13px;color:#365e77}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px}.field label{font-size:12px;font-weight:800;color:#3b5766}.field input,.field select,.field textarea{background:#fff;border:1.5px solid #cddce5;border-radius:12px;padding:12px 13px;min-width:0;color:#1a2e3e;width:100%;font-size:14px}.field textarea{min-height:88px}.field input:focus,.field select:focus{border-color:#095dbd}.hint{font-size:11px;color:#71858f}.check-row{display:flex;gap:10px;align-items:start;font-size:13px;margin:8px 0 18px}.check-row input{margin:4px 0 0;accent-color:var(--blue);width:18px;height:18px;flex-shrink:0}.notice{padding:13px 15px;border-radius:12px;background:#ecf6ff;color:#265b79;border:1px solid #cce6fa;font-size:13px;margin:16px 0}.notice.error{background:#fff0ed;border-color:#ffd0c8;color:#a73926}.notice.success{background:#eaf7ee;border-color:#c8e7d3;color:#246748}.notice[hidden],section[hidden],div[hidden]{display:none!important}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.separator{height:1px;background:var(--border);margin:20px 0}.auth-layout{min-height:calc(100dvh - 82px);display:grid;grid-template-columns:46% 54%}.auth-art{background:linear-gradient(145deg,#d3edf9 0%,#e4f3f9 62%,#f9e1c7 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:40px}.auth-art::before{content:"";width:360px;height:360px;position:absolute;border-radius:50%;background:repeating-linear-gradient(32deg,#f28b28 0 29px,#fff3e1 30px 55px);right:-85px;top:12%;opacity:.85}.auth-art-inner{position:relative;z-index:1;max-width:420px}.auth-art h2{font-size:clamp(36px,4vw,60px);line-height:1.05}.auth-art p{max-width:330px;color:#3e6074}.art-folder{margin-top:30px;background:var(--blue);border-radius:21px;transform:rotate(-3deg);padding:24px;box-shadow:0 16px 50px #08498f2b;color:#fff}.art-folder strong{display:block;font-size:28px;letter-spacing:-.05em}.art-folder i{font-size:33px;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500}.mini-rows{background:#fffaf3;border-radius:12px;padding:14px;margin-top:12px}.mini-rows span{display:block;height:8px;border-radius:7px;background:#d1e5ef;margin:10px 0}.mini-rows span:nth-child(2){width:73%;background:#f4bc74}.mini-rows span:nth-child(3){width:88%}.auth-side{padding:54px 28px;display:flex;align-items:flex-start;justify-content:center}.auth-card{width:min(460px,100%)}.auth-card h1{margin:14px 0 9px;font-size:40px}.auth-card .step-label{font-size:12px;font-weight:800;text-transform:uppercase;color:var(--blue);letter-spacing:.13em}.auth-card .inline-help{font-size:12px;text-align:center;margin-top:18px}.auth-card .field{margin-bottom:14px}.auth-footer{text-align:center;font-size:12px;color:var(--muted);padding:25px}.error-id{display:block}
.app-shell{display:grid;grid-template-columns:255px 1fr;min-height:100dvh}.sidebar{background:var(--navy);padding:29px 19px;color:white;display:flex;flex-direction:column;gap:14px;min-height:100dvh}.sidebar .logo{color:#fff}.sidebar .logo .dot{color:var(--orange)}.sidebar small{color:#b1d6ef;font-size:12px}.sidenav{display:grid;gap:7px;margin-top:23px}.sidenav button{padding:12px 14px;text-align:left;color:#d2e7f5;border:none;background:transparent;border-radius:12px;font-size:13px;font-weight:800}.sidenav button.active,.sidenav button:hover{background:#1768ad;color:white}.sidebar .logout{margin-top:auto;border:1px solid #6983a1;background:transparent;color:#fff;width:100%}.workspace{padding:35px clamp(22px,4vw,60px);max-width:1400px;width:100%;margin:auto}.workspace-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap}.workspace h1{margin:5px 0 4px;font-size:38px}.tagline{color:#627582;font-size:13px}.stat{background:#fff;border:1px solid #dbe7ed;border-radius:18px;padding:20px}.stat .n{font-size:35px;font-weight:800;letter-spacing:-.06em;color:var(--blue)}.stat .label{font-size:12px;font-weight:700;color:#617782}.tabpage{margin-top:18px}.section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:0 0 15px}.section-header h2{margin:0}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:16px;background:white}.data-table{width:100%;border-collapse:collapse;min-width:560px}.data-table th{text-align:left;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#58717e;background:#eff6f9}.data-table th,.data-table td{padding:12px 14px;border-bottom:1px solid #ecf0f3;vertical-align:middle;font-size:13px}.data-table tr:last-child td{border-bottom:0}.flex{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.space-between{display:flex;justify-content:space-between;align-items:center;gap:12px}.actions{display:flex;gap:7px}.scrollbox{max-height:550px;overflow:auto}.filterrow{display:flex;gap:11px;flex-wrap:wrap}.filterrow .field{margin-bottom:0;min-width:180px}.chip{border-radius:22px;background:#e9f6ee;color:#28764d;padding:5px 9px;font-weight:800;font-size:10px}.chip.muted{background:#f4f3f0;color:#7a7a75}.empty{text-align:center;color:#748995;font-size:13px;padding:35px 15px}.small-help{font-size:11px;color:#72848d}.week-grid{display:grid;gap:8px}.week-row{display:grid;grid-template-columns:95px 110px 110px auto;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #e9eff2}.week-row label{font-size:12px;font-weight:800}.week-row input[type=time]{padding:10px;border:1px solid #cfdee7;border-radius:9px;font-size:12px;width:100%}.week-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue)}.week-row .week-toggle{display:flex;align-items:center;gap:6px}.banner-trial{padding:17px 21px;background:#e3f2fb;border-radius:17px;border:1px solid #b8dceb;color:#19547f;font-size:13px;margin-bottom:20px}.danger-zone{background:#fff7f2;border:1px solid #f7d0bd;padding:16px;border-radius:14px}.booking-body{background:linear-gradient(145deg,#d6eefa,#faf5ed);min-height:100dvh}.booking-header{padding:26px 28px;border-bottom:1px solid #c8dfed;background:#ffffffc2}.booking-main{width:min(720px,calc(100% - 32px));margin:40px auto}.booking-main .card{padding:clamp(19px,4vw,35px)}.step-grid{display:flex;gap:9px;flex-wrap:wrap}.slot{border-radius:9px;padding:12px 15px;border:1px solid #c7ddea;background:#fff;color:#125c9f;font-weight:800;font-size:12px}.slot.selected{background:var(--blue);color:white;border-color:var(--blue)}.line{display:flex;gap:14px;justify-content:space-between;align-items:center}.summary{padding:14px 17px;background:#eaf5fd;border-radius:13px;margin:17px 0;font-size:13px}.footer-note{text-align:center;color:#68818d;font-size:11px;padding:24px}.linkbox{padding:12px;border-radius:12px;background:#f0f8fd;border:1px solid #d0e3ee;word-break:break-all;font-size:12px}.loading{opacity:.6;pointer-events:none}
@media(max-width:960px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto;padding:16px;gap:3px}.sidebar .sidenav{display:flex;overflow-x:auto;margin-top:10px}.sidebar .sidenav button{white-space:nowrap}.sidebar .logout{width:auto;align-self:flex-start;margin-top:10px}.auth-layout{grid-template-columns:1fr}.auth-art{min-height:210px;padding:25px}.auth-art-inner{max-width:730px}.auth-art h2{font-size:38px}.art-folder{display:none}.auth-side{padding:35px 22px}.topbar{padding:15px 20px}}@media(max-width:620px){.top-links{gap:10px}.top-links a:not(.button){display:none}.auth-art h2{font-size:32px}.grid2,.grid3{grid-template-columns:1fr}.workspace{padding:22px 16px}.workspace h1{font-size:31px}.week-row{grid-template-columns:1fr 1fr;gap:7px}.week-row label{grid-column:1/-1}.week-row .week-toggle{grid-column:1/-1}.card{padding:18px}.booking-main{margin:20px auto}.line{align-items:flex-start;flex-direction:column}}

.item-row{padding:12px 0;border-bottom:1px solid #e7edf0;gap:12px}.pager{padding:16px 0;gap:12px}.item-row .flex{flex-wrap:wrap;justify-content:flex-end}.button[disabled]{opacity:.5;cursor:not-allowed}@media(max-width:600px){.item-row{align-items:flex-start}.item-row .flex{flex-direction:column;align-items:flex-end}.pager{flex-wrap:wrap}.workspace-head>.flex{flex-wrap:wrap}}
/* Keep intrinsic widths of nav/table children from widening the mobile grid. */
.app-shell{grid-template-columns:255px minmax(0,1fr)}
.sidebar,.workspace,.card,.grid2>*,.grid3>*,.table-wrap{min-width:0}
.sidenav{min-width:0;max-width:100%}.linkbox{overflow-wrap:anywhere}
@media(max-width:960px){.app-shell{grid-template-columns:minmax(0,1fr)}}
