:root{font-family:Inter,"Segoe UI",system-ui,sans-serif;color:#172a25;background:#f7f8f5;font-size:15px;--forest:#103d35;--deep:#0e322c;--teal:#19675b;--mint:#e8f3ed;--paper:#fff;--line:#dfe8e1;--sub:#526861;--warn:#8a510b;--bad:#973529;--radius:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:var(--teal)}:focus-visible{outline:3px solid #4c957b;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.8rem,3vw,2.55rem);line-height:1.12;letter-spacing:-.055em}h2{font-size:1.18rem;letter-spacing:-.025em}h3{font-size:1rem}p{line-height:1.55}small,.muted{color:var(--sub)}.startup{margin:48px;text-align:center}.eyebrow{font-size:.72rem;font-weight:750;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:8px}.brand{display:flex;align-items:center;gap:11px;font-size:1.24rem;font-weight:750;letter-spacing:-.055em}.brand img{height:34px;width:34px}.brand span{white-space:nowrap}.layout{display:grid;grid-template-columns:226px minmax(0,1fr);min-height:100dvh}.sidebar{background:var(--deep);color:#f7fbf8;padding:27px 18px 18px;display:flex;flex-direction:column;gap:26px;position:sticky;top:0;height:100dvh}.sidebar .brand{padding:0 8px}.sidebar .workspace{padding:11px 12px;border:1px solid #3f5c54;border-radius:12px;line-height:1.45;font-size:.86rem;overflow-wrap:anywhere}.workspace small{display:block;color:#c0d9cc}.nav{display:grid;gap:5px}.nav button{display:flex;gap:12px;align-items:center;border:0;color:#dae9df;background:none;text-align:left;padding:10px 12px;min-height:44px;border-radius:10px;font-weight:600}.nav button:hover,.nav button[aria-current]{background:#23554a;color:#fff}.nav svg,.ico{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.sidebar .foot{margin-top:auto;display:flex;gap:8px;align-items:center;justify-content:space-between}.foot small{color:#bfd4c9}.foot strong{display:block;font-size:.83rem}.sidebar .logout{color:#e4f2ea;background:none;border:1px solid #476b60;padding:8px;border-radius:9px}.main{min-width:0}.top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px clamp(16px,4vw,45px);background:#fff;gap:12px;min-height:62px}.top .breadcrumb{color:var(--sub);font-size:.85rem}.top .flag{color:#4a6259;background:#edf3ee;border-radius:99px;padding:6px 10px;font-size:.73rem;font-weight:700;white-space:nowrap}.canvas{max-width:1340px;margin:0 auto;padding:28px clamp(16px,4vw,45px) 50px}.titlebar,.rowline,.card-title{display:flex;align-items:center;justify-content:space-between;gap:14px}.titlebar{margin-bottom:22px}.titlebar p{color:var(--sub);margin-top:7px}.titlebar .actions,.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#fff;color:var(--forest);border:1px solid #cddcd3;border-radius:10px;padding:9px 13px;min-height:42px;text-decoration:none;font-weight:650;font-size:.88rem;white-space:normal}.btn:hover{background:#eef6f0}.btn.primary{background:var(--teal);color:white;border-color:var(--teal)}.btn.primary:hover{background:var(--forest)}.btn.danger{color:var(--bad)}.btn.tiny{min-height:34px;padding:6px 9px;font-size:.8rem}.btn.text{background:transparent;border-color:transparent;padding-left:0}.hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:25px;border:1px solid #cde3d5;border-radius:var(--radius);background:linear-gradient(130deg,#e9f5ee,#f6faf4 68%,#edf4e2);margin-bottom:15px}.hero h2{font-size:clamp(1.25rem,2.2vw,1.9rem);margin:4px 0}.hero p{color:var(--sub);margin-top:7px}.hero .hero-clock{font-size:1.85rem;font-variant-numeric:tabular-nums;color:var(--forest);font-weight:730;letter-spacing:-.06em}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.metric,.card{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:17px 19px;min-width:0}.metric strong{display:block;font-size:1.54rem;letter-spacing:-.05em;margin:5px 0 2px;font-variant-numeric:tabular-nums}.metric small{font-size:.81rem}.grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:14px;align-items:start}.stack{display:grid;gap:14px}.card-title{margin-bottom:12px}.card-title h2{min-width:0}.list{display:grid}.item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid #edf0ec;min-width:0}.item:first-child{border-top:0}.item>div:first-child{min-width:0;overflow-wrap:anywhere}.item strong,.item small{display:block}.item .time{color:var(--teal);font-weight:750;font-variant-numeric:tabular-nums;margin-right:9px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:4px 8px;font-size:.73rem;font-weight:680;color:#255a46;background:var(--mint);white-space:nowrap}.badge.warn{color:var(--warn);background:#fff3df}.badge.bad{color:var(--bad);background:#faece8}.badge.neutral{color:#4f625d;background:#eff2ef}.notice,.empty{border-radius:12px;padding:14px 16px;background:#edf5ef;color:#36554a;line-height:1.5}.notice.warn{background:#fdf2dd;color:#74531b}.notice.err{background:#fcefeb;color:var(--bad)}.empty{border:1px dashed #cddcd3;background:#fafbf9;margin-top:8px}.empty p{margin:4px 0 9px}.filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 15px}.filters input[type=search]{width:min(100%,300px)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;line-height:1.45;font-size:.9rem}th{padding:8px 10px;color:var(--sub);font-size:.74rem;text-transform:uppercase;letter-spacing:.05em}td{padding:12px 10px;border-top:1px solid #edf0ec;vertical-align:middle}td .muted{display:block;font-size:.78rem}td .actions{flex-wrap:wrap}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.timeline .item{border-left:2px solid #d9e9dd;padding:10px 0 12px 14px;position:relative}.timeline .item:before{content:"";position:absolute;left:-5px;top:17px;width:8px;height:8px;border-radius:50%;background:#3d816c}.session-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;padding:12px 14px;background:#f6f8f5;border-radius:10px;margin:9px 0}.week{display:grid;grid-template-columns:repeat(7,minmax(95px,1fr));gap:7px;overflow:auto;padding:3px 2px 12px}.day{background:#f8faf7;border:1px solid #e5ece5;border-radius:11px;padding:8px;min-height:128px}.day.today{border-color:#8fbaa4}.day small{display:block}.day strong{font-variant-numeric:tabular-nums}.event{width:100%;text-align:left;border:0;border-radius:8px;background:#e2f1e8;color:var(--forest);margin-top:7px;padding:7px;overflow-wrap:anywhere;font-size:.77rem;min-height:43px}.event.done{background:#edf0ed;color:#425752}.event.blocked{background:#fff1df;color:var(--warn)}.event.canceled{background:#f2eeee;color:var(--bad)}.event span{display:block;font-weight:700}.auth{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.auth-aside{background:radial-gradient(ellipse at 75% 15%,#255d50,#103d35 60%);color:#f5faf5;padding:clamp(28px,7vw,96px);display:flex;flex-direction:column;justify-content:center;gap:23px}.auth-aside .eyebrow{color:#c8ebd7}.auth-aside h1{font-size:clamp(2.2rem,5vw,4.4rem);max-width:10ch}.auth-aside p{max-width:33ch;color:#dcebe2}.auth-main{display:grid;align-content:center;padding:clamp(24px,6vw,85px)}.auth-box{max-width:445px;width:100%;margin:auto}.auth-box h2{font-size:1.65rem}.auth-box>p{margin:8px 0 17px}.auth-box form{display:grid;gap:12px}.demo-actions{margin-top:20px;padding-top:15px;border-top:1px solid var(--line)}.demo-actions p{margin-bottom:8px}.field{display:grid;gap:6px;font-size:.86rem;font-weight:650;min-width:0}.field small{font-weight:400}.field>span{line-height:1.35}input,select,textarea{width:100%;min-height:43px;padding:9px 11px;border:1px solid #b8cbbf;border-radius:9px;background:#fff;color:#172a25}input[type=checkbox]{min-height:0;width:16px;height:16px}textarea{resize:vertical;min-height:110px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.formgrid .wide{grid-column:1/-1}dialog{border:1px solid #cfe0d5;border-radius:18px;padding:0;width:min(95vw,570px);max-height:90dvh;background:#fff;color:inherit;box-shadow:0 24px 90px #142b2444}dialog::backdrop{background:#153d35a0}.dialog-head,.dialog-body,.dialog-foot{padding:16px 20px}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:9px;border-bottom:1px solid var(--line)}.dialog-foot{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;gap:8px}.dialog-body .notice{margin-top:10px}.dialog-body{overflow-wrap:anywhere}#toast:not(:empty){position:fixed;bottom:20px;right:20px;max-width:calc(100vw - 40px);padding:12px 16px;background:var(--deep);color:#fff;border-radius:12px;box-shadow:0 8px 24px #162f2340;z-index:3}#toast.error{background:#913c30}.alert-line{margin-bottom:14px}.toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.pill{display:inline-flex;padding:5px 9px;border:1px solid var(--line);border-radius:99px;color:var(--sub);font-size:.78rem}.space{margin-top:12px}.hidden,[hidden]{display:none!important}.wrap{overflow-wrap:anywhere}
@media(max-width:900px){.layout{grid-template-columns:178px minmax(0,1fr)}.sidebar{padding:18px 12px}.grid{grid-template-columns:1fr}.canvas{padding-top:20px}.metrics{gap:8px}.metric{padding:12px}.titlebar{align-items:start}.hero{grid-template-columns:1fr}}
@media(max-width:640px){.layout{display:block}.sidebar{position:static;height:auto;padding:12px;gap:10px}.sidebar .brand{padding:0}.sidebar .workspace,.sidebar .foot strong,.sidebar .foot small{display:none}.sidebar .foot{position:absolute;right:12px;top:12px}.nav{display:flex;overflow-x:auto;gap:4px}.nav button{padding:7px 9px;white-space:nowrap;min-height:36px;font-size:.82rem;gap:5px}.nav svg{width:15px;height:15px}.top{min-height:44px;padding:8px 12px}.canvas{padding:17px 12px 28px}.titlebar,.rowline{flex-wrap:wrap;align-items:start}.metrics{grid-template-columns:repeat(2,1fr)}.metrics .metric:last-child{grid-column:1/-1}.item{flex-wrap:wrap}.hero,.card{padding:14px}.auth{display:block}.auth-aside{padding:22px;gap:12px}.auth-aside h1{max-width:16ch;font-size:2rem}.auth-main{padding:22px}.formgrid{grid-template-columns:1fr}.dialog-head,.dialog-body,.dialog-foot{padding:12px 14px}td,th{padding:9px 7px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

:root {
  color-scheme: light;
  --bg:#f8f7f4; --paper:#fff; --text:#292139; --sub:#635b70; --line:#e8e2eb;
  --forest:#442784; --deep:#382463; --teal:#6240ab; --accent:#6443b1;
  --violet:#623cb0; --lilac:#f0e9fc; --mint:#e7f4ed;
  --shadow:0 6px 22px #2d174506; --radius:18px;
  color:var(--text); background:var(--bg);
}
body { background:var(--bg); }
:focus-visible { outline:2px solid #7545d4; outline-offset:3px; }
small { line-height:1.45; }
.layout { grid-template-columns:236px minmax(0,1fr); }
.sidebar { background:#fffdfb; border-right:1px solid var(--line); color:var(--text); gap:23px; padding:25px 16px 18px; }
.brand,.sidebar .brand { min-width:0; gap:10px; padding:0 6px; color:#2d2046; font-size:1.27rem; font-weight:760; }
.brand img { width:37px; height:37px; flex:none; }
.sidebar .workspace { background:#f5f0fd; border:1px solid #ede4fa; padding:12px; color:#412877; }
.workspace small,.foot small { color:var(--sub); }
.nav button { color:#5c536a; font-weight:620; border:1px solid transparent; padding:10px 12px; }
.nav button:hover,.nav button[aria-current] { color:#4d2b92; background:#f1eafa; }
.nav button[aria-current] { border-color:#e9ddf9; font-weight:720; }
.sidebar .foot { border-top:1px solid var(--line); padding:14px 2px 0; }
.sidebar .logout { color:#593b91; background:#fff; border:1px solid #e6dcef; border-radius:11px; display:grid; place-items:center; min-width:44px; min-height:44px; }
.sidebar .logout:hover { background:var(--lilac); }
.top { background:#fffdfb; }
.top .flag,.pill { color:#4f3288; background:#f1eafb; border-color:#e5d7f7; }
.canvas { max-width:1280px; padding-top:34px; }
.canvas h1 { font-size:clamp(2rem,4vw,3rem); letter-spacing:-.055em; }
.eyebrow { color:#6342a2; letter-spacing:.13em; }
.hero { background:linear-gradient(112deg,#f1eafb,#f8f3fd 55%,#fff7ed); border-color:#e8dbf5; padding:clamp(18px,3vw,31px); }
.hero .hero-clock { color:#5a359e; }
.hero p,.item small,.metric small,.field small,.titlebar p,.card .muted { color:var(--sub); }
.card,.metric { box-shadow:var(--shadow); }
.card { padding:clamp(16px,2vw,23px); }
.card-title { margin-bottom:14px; }
.item,.table-wrap td { border-color:var(--line); }
.metric { padding:16px 19px; }
.metric small:first-child { font-weight:680; }
.metric strong { font-size:clamp(1.24rem,2vw,1.68rem); letter-spacing:-.04em; color:#352451; }
.metric:first-child { background:linear-gradient(126deg,#fff,#f7f1ff); border-color:#e6d9f6; }
.mt-finance-metrics .metric:last-child { background:#fff9f4; border-color:#f1e2d7; }
.btn { gap:8px; min-height:44px; padding:10px 14px; border-color:#e1d8ea; border-radius:12px; color:#513580; background:#fff; font-weight:690; transition:background-color .16s,border-color .16s,box-shadow .16s; }
.btn:hover,.btn.tiny:hover { background:#f5effd; border-color:#c8b5e5; }
.btn.primary { background:#6339b2; border-color:#6339b2; color:#fff; box-shadow:0 4px 10px #56329622; }
.btn.primary:hover,.btn.primary.tiny:hover { background:#512a9c; border-color:#512a9c; }
.btn.danger { color:#973529; }
.btn.text { color:#6240a6; box-shadow:none; }
.btn.tiny { min-height:40px; padding:8px 11px; }
input,select,textarea { color:var(--text); background:#fff; border-color:#ddd3e6; min-height:46px; border-radius:11px; }
input::placeholder,textarea::placeholder { color:#71687d; }
.field small { font-size:.76rem; }
.notice,.session-text { background:#f4eefb; color:#47366a; }
.notice.err,.notice.error { background:#fff0ed; color:#8b312d; }
.notice.warn { background:#fff4e3; color:#72501e; }
.empty { border-color:#ded4ea; background:#fbf9fd; color:#47375f; }
.empty .btn { margin-top:3px; }
.badge.neutral { background:#f1edf7; color:#584879; }
.badge.warn { background:#fff1d7; color:#75501a; }
.badge.bad { background:#fbe9e8; color:#97362b; }
.timeline .item { border-left-color:#dfd1ee; }
.timeline .item:before { background:#9369d5; }
dialog { border-color:#e2d9ed; border-radius:20px; color:var(--text); box-shadow:0 24px 90px #2d184838; }
dialog::backdrop { background:#29203f6e; }
.dialog-head,.dialog-foot { background:#fdfbff; }
.dialog-body .formgrid>.notice { margin-top:0; }
.mt-models { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.mt-models article { border:1px solid #e8ddf2; background:#faf7fe; border-radius:14px; padding:15px; }
.mt-models p { color:var(--sub); margin:8px 0 12px; }
.mt-fee,.mt-calendar-head,.mt-calendar-controls { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.mt-fee { background:#f8f3fe; padding:12px 14px; border-radius:13px; }
.mt-fee strong { display:block; margin-top:3px; color:#4e3082; }
.mt-calendar { margin-bottom:14px; }
.mt-calendar-head { margin-bottom:16px; }
.mt-calendar-head .eyebrow,.mt-day-list .eyebrow { margin-bottom:4px; }
.mt-calendar-controls { gap:6px; }
.mt-calendar-controls .mt-arrow { width:44px; padding:0; font-size:1.65rem; line-height:1; }
.mt-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:9px; }
.mt-day { display:grid; place-items:center; gap:4px; min-width:0; min-height:84px; padding:8px 0; border-radius:15px; border:1px solid #e8e1ee; background:#faf8fc; color:#574769; transition:background-color .16s,border-color .16s; }
.mt-day:hover { background:#f2eafa; border-color:#ccb7ea; }
.mt-day[aria-pressed="true"] { border-color:#6339b2; color:white; background:#6339b2; box-shadow:0 4px 10px #54309126; }
.mt-day span:first-child { font-size:.76rem; font-weight:680; }
.mt-day strong { font-size:1.36rem; font-variant-numeric:tabular-nums; line-height:1.1; }
.mt-day-dot { height:5px; width:5px; border-radius:100%; }
.mt-day-dot.has-event { background:#9c73d3; }
.mt-day[aria-pressed="true"] .mt-day-dot.has-event { background:#fff; }
.mt-slot { display:grid; grid-template-columns:85px minmax(0,1fr) auto; gap:14px; align-items:center; border-top:1px solid var(--line); padding:12px 0; }
.mt-slot-time { background:#f4edf9; border-radius:12px; padding:8px 10px; font-variant-numeric:tabular-nums; }
.mt-slot-time strong,.mt-slot-time small { display:block; white-space:nowrap; }
.mt-slot-time strong { color:#4d2f80; font-size:1.04rem; }
.mt-slot-person { display:flex; align-items:flex-start; gap:4px 9px; flex-wrap:wrap; overflow-wrap:anywhere; }
.mt-fin-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:12px; }
.mt-fin-amount { display:grid; justify-items:end; gap:4px; }
.mt-fin-row .actions { justify-content:flex-end; }
.mt-auth { display:grid; grid-template-columns:1fr .94fr; min-height:100dvh; max-width:1800px; margin:auto; }
.mt-story { min-height:100dvh; display:flex; flex-direction:column; justify-content:space-between; padding:clamp(25px,5vw,78px); border-right:1px solid #ece3ee; background:radial-gradient(ellipse at 12% 93%,#ecdef9,transparent 55%),radial-gradient(ellipse at 100% 4%,#fff3de,transparent 61%),#f9f4fb; }
.mt-story .brand { padding:0; font-size:1.62rem; }
.mt-story .brand img { width:44px; height:44px; }
.mt-story-copy { padding:44px 0; }
.mt-story h1 { margin:13px 0 18px; color:#322046; font-size:clamp(45px,6.3vw,94px); letter-spacing:-.075em; line-height:1; }
.mt-story-copy>p { color:#615369; max-width:460px; font-size:clamp(15px,1.5vw,19px); }
.mt-feature { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.mt-feature span { display:inline-flex; align-items:center; gap:7px; padding:7px 11px; border-radius:99px; border:1px solid #e3d5ef; background:#fff9; color:#4d326f; font-size:.83rem; }
.mt-story-foot { color:#635175; font-size:.72rem; letter-spacing:.13em; font-weight:700; }
.mt-story-foot span { margin:0 7px; color:var(--violet); }
.mt-login { display:grid; place-items:center; background:#fcfaf7; padding:clamp(20px,5vw,66px); }
.mt-login-inner { width:min(100%,440px); padding:clamp(22px,4vw,42px); background:#fff; border:1px solid var(--line); border-radius:25px; box-shadow:0 14px 44px #4325510c; }
.mt-login-inner h2 { font-size:clamp(30px,3.8vw,47px); letter-spacing:-.06em; margin:5px 0; }
.mt-login-inner>p,.mt-login-foot { color:var(--sub); }
.mt-login-inner form { display:grid; gap:14px; margin-top:21px; }
.mt-login-inner .primary { width:100%; justify-content:space-between; }
.mt-login-foot { margin-top:16px; font-size:.82rem; }
@media(max-width:940px) {
  .layout { grid-template-columns:190px minmax(0,1fr); }
  .sidebar { padding:18px 12px; }
  .sidebar .brand { font-size:1.08rem; }
  .canvas { padding-top:24px; }
}
@media(max-width:680px) {
  .layout { display:block; }
  .sidebar { position:static; height:auto; padding:11px 12px 9px; gap:9px; }
  .sidebar .brand { padding:2px 0; }
  .sidebar .workspace,.sidebar .foot strong,.sidebar .foot small { display:none; }
  .sidebar .foot { position:absolute; right:12px; top:9px; border:0; padding:0; }
  .sidebar .brand img { width:31px; height:31px; }
  .nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; gap:3px; padding:0; }
  .nav button { white-space:normal; min-height:44px; font-size:.8rem; gap:5px; padding:7px; }
  .sidebar .nav:has(button:only-child) { grid-template-columns:1fr; }
  .canvas { padding:19px 12px 30px; }
  .titlebar { flex-wrap:wrap; align-items:flex-start; }
  .btn.tiny { min-height:44px; }
  .mt-days { gap:4px; }
  .mt-day { min-height:66px; border-radius:10px; }
  .mt-day strong { font-size:1.15rem; }
  .mt-day span:first-child { font-size:.68rem; }
  .mt-slot { grid-template-columns:70px minmax(0,1fr); gap:7px 10px; }
  .mt-slot-time { padding:8px; }
  .mt-slot-time small { font-size:.72rem; }
  .mt-slot>.btn { grid-column:2; justify-self:start; }
  .mt-fin-row { grid-template-columns:minmax(0,1fr) auto; }
  .mt-fin-row .actions { grid-column:1/-1; justify-content:flex-start; }
  .mt-models { grid-template-columns:1fr; }
  .mt-auth { display:block; }
  .mt-story { min-height:0; border-right:0; border-bottom:1px solid var(--line); }
  .mt-story .brand { font-size:1.35rem; }
  .mt-story .brand img { width:34px; height:34px; }
  .mt-story-copy { padding:22px 0 0; }
  .mt-story h1 { font-size:clamp(37px,9vw,51px); }
  .mt-story-foot,.mt-feature { display:none; }
  .mt-login { padding:17px 14px 28px; }
}
@media(prefers-reduced-motion:reduce) { .btn,.mt-day { transition:none; } }

.mt-today-hero {
  display:grid; grid-template-columns:minmax(0,1.7fr) minmax(190px,.7fr); align-items:center;
  gap:24px; padding:clamp(19px,4vw,42px); margin-bottom:18px; overflow:hidden;
  border-radius:24px; border:1px solid #e9daf4;
  background:radial-gradient(ellipse at 90% 0%,#f9eadc 0,transparent 57%),linear-gradient(115deg,#eee4fa,#faf6fc 66%,#f8f0eb);
}
.mt-hero-tag { display:inline-flex; align-items:center; gap:7px; color:#56338f; font-size:.82rem; font-weight:700; }
.mt-hero-tag .ico { width:16px; height:16px; }
.mt-hero-main h2 { font-size:clamp(1.55rem,4vw,2.7rem); line-height:1.14; margin:8px 0; overflow-wrap:anywhere; }
.mt-hero-main p { margin:0 0 15px; color:var(--sub); }
.mt-hero-side {
  display:grid; justify-items:start; align-content:center; padding:16px 18px; min-height:132px; gap:3px;
  border:1px solid #fff; border-radius:17px; background:#ffffffa8; box-shadow:var(--shadow);
}
.mt-hero-side span { font-size:.7rem; letter-spacing:.16em; font-weight:750; color:var(--violet); }
.mt-hero-side strong { font-size:2.45rem; line-height:1.04; font-variant-numeric:tabular-nums; letter-spacing:-.07em; }
.mt-home-grid,.mt-session-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; align-items:start; }
.mt-session-grid { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); }
.mt-queue-row { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:9px 0; border-top:1px solid var(--line); }
.mt-queue-row div { min-width:0; overflow-wrap:anywhere; }
.mt-queue-row small { display:block; margin-top:2px; }
.mt-queue-row .btn { flex-shrink:0; max-width:53%; }
.mt-queue-group { border:1px solid #ece4f1; border-radius:13px; margin-bottom:8px; overflow:hidden; }
.mt-queue-group:last-child { margin-bottom:0; }
.mt-queue-group summary,.mt-previous summary { cursor:pointer; color:#493170; font-weight:650; }
.mt-queue-group summary { display:flex; justify-content:space-between; align-items:center; gap:8px; min-height:50px; padding:9px 12px; background:#faf7fe; }
.mt-queue-group summary span:first-child { flex:1; }
.mt-queue-group summary:before { content:"+"; width:13px; color:var(--violet); font-weight:700; }
.mt-queue-group[open] summary:before { content:"−"; }
.mt-queue-group summary small { display:block; margin-top:2px; font-weight:400; }
.mt-queue-group summary:focus-visible { outline-offset:-3px; }
.mt-queue-body { padding:0 12px 8px; }
.mt-queue-body>p { padding-top:8px; }
.mt-today-foot {
  display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:10px; padding:12px 16px;
  margin-top:16px; border:1px solid var(--line); border-radius:16px; background:#fff;
}
.mt-today-foot>div { display:flex; align-items:center; gap:9px; color:var(--sub); }
.mt-today-foot strong { color:var(--ink,#2d2046); margin-left:4px; }
.mt-trail { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:3px; }
.mt-trail>.btn { min-height:36px; }
.mt-follow-point { padding:12px; margin:11px 0; border-radius:12px; background:#f5eefc; }
.mt-follow-point .eyebrow { margin-bottom:4px; }
.mt-follow-point p { white-space:pre-wrap; overflow-wrap:anywhere; }
.mt-previous { margin-top:11px; padding:8px 10px; background:#fcf9fe; border:1px solid var(--line); border-radius:11px; }
.mt-previous summary { padding:6px 0; }
.mt-return-notice { display:grid; gap:4px; justify-items:start; }
.mt-form-section { display:flex; align-items:start; gap:10px; margin-top:2px; padding:10px 0 3px; border-top:1px solid var(--line); }
.mt-form-section>span { display:grid; place-items:center; border-radius:9px; width:33px; height:33px; flex:none; background:var(--lilac); color:var(--violet); font-size:.75rem; font-weight:700; }
.mt-form-section p { margin-top:2px; color:var(--sub); font-size:.82rem; }
.dialog-head,.dialog-foot { position:sticky; z-index:1; }
.dialog-head { top:0; }
.dialog-foot { bottom:0; }
@media (max-width:980px) {
  .mt-home-grid,.mt-session-grid { grid-template-columns:1fr; }
}
@media (max-width:680px) {
  .mt-today-hero { grid-template-columns:1fr; gap:13px; }
  .mt-hero-side { min-height:0; padding:9px 12px; grid-template-columns:auto auto minmax(0,1fr); align-items:center; gap:8px; }
  .mt-hero-side strong { font-size:1.35rem; }
}
