:root{--color-primary: #1e3675;--color-primary-dark: #1e3675;--color-primary-rgb: 30, 54, 117;--color-bg: #f8fafc;--color-surface: #ffffff;--color-border: #d8dee8;--color-text: #111827;--color-muted: #667085;--color-soft: rgba(var(--color-primary-rgb), .08);--color-success: #23b26d;--color-danger: #e53935;--color-warning: #f59e0b;--radius-card: 14px;--radius-button: 10px;--shadow-card: 0 8px 24px rgba(15, 23, 42, .08);--container-width: 1220px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--color-bg);color:var(--color-text)}body{overflow-x:hidden}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.page{min-height:100vh;min-height:calc(100dvh - 1px);display:flex;flex-direction:column;background:linear-gradient(180deg,#fff,#f7f9fc 52%,#fff)}.meta-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.meta-badges span{display:inline-flex;align-items:center;gap:6px;width:fit-content;max-width:100%;border-radius:999px;padding:6px 10px;background:#eef2f7;color:#475569;font-size:12px;font-weight:700;line-height:1;white-space:nowrap}.btn{border:0;border-radius:10px;height:40px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:800;cursor:pointer;transition:background .15s ease,transform .12s ease,box-shadow .15s ease,border-color .15s ease}.btn.primary,.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 8px 18px rgba(var(--color-primary-rgb),.22)}.btn.primary:hover,.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 10px 20px rgba(var(--color-primary-rgb),.28)}.btn.primary:active,.btn-primary:active{transform:translateY(0)}.btn.secondary{background:#fff;color:var(--color-text);border:1px solid var(--color-border)}.btn.secondary:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn.danger{background:#dc2626;color:#fff;box-shadow:0 8px 18px #dc262633}.btn.danger:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 10px 20px #dc262642}.btn.small{height:36px;padding-inline:14px}.btn.tiny{height:30px;padding-inline:10px;font-size:12px}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.btn-link{background:transparent;color:var(--color-primary);padding-inline:6px;box-shadow:none}.auth-button{width:100%;height:44px;border-radius:10px;font-size:15px}.icon-btn{width:36px;height:36px;border:1px solid var(--color-border);border-radius:10px;background:#fff;display:grid;place-items:center;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.icon-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:#f8fafc}.icon-btn.danger{border-color:#fecaca;color:#dc2626}.icon-btn.danger:hover{border-color:#dc2626;background:#fef2f2;color:#b91c1c}.icon-btn.small-icon{width:30px;height:30px;border-radius:9px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0f172a73;display:grid;place-items:center;padding:24px}.dialog-card{width:min(720px,100%);background:#fff;border-radius:18px;border:1px solid var(--color-border);box-shadow:0 24px 70px #0f172a47;padding:24px}.dialog-head{display:flex;justify-content:space-between;gap:18px;margin-bottom:22px}.dialog-head h2{margin:0;font-size:22px}.dialog-head p{margin:6px 0 0;color:var(--color-muted)}@media(max-width:700px){.dialog-actions{flex-direction:column}.dialog-backdrop{align-items:end;padding:12px}.dialog-actions .btn{width:100%;justify-content:center}.dialog-card{padding:18px;border-radius:18px 18px 10px 10px}}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;align-content:start;gap:6px}.field>input:not([type=checkbox]),.field>select{height:46px}.field.full,.switch-row.full{grid-column:1 / -1}.field span{font-size:13px;font-weight:800;color:#334155}.field input,.field textarea,.field select{width:100%;border:1px solid var(--color-border);border-radius:10px;padding:11px 12px;font:inherit;background:#fff}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid rgba(var(--color-primary-rgb),.2);border-color:var(--color-primary)}.switch-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:6px}.switch-row label{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:#334155}.form-error{margin:16px 0 0;color:#dc2626;font-weight:800}.weekday-grid{display:flex;flex-wrap:wrap;gap:8px}.weekday-grid label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-border);border-radius:999px;padding:7px 10px;background:#f8fafc;font-weight:800;color:#334155;font-size:13px}@media(max-width:700px){.form-grid{grid-template-columns:1fr}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.soft-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-card)}.white-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:0 8px 20px #0f172a0a}.state-card{padding:24px;color:var(--color-muted)}.state-card.error{color:#dc2626}.empty-card{min-height:320px;display:grid;place-items:center;text-align:center;padding:40px;color:var(--color-muted)}.empty-card h2{margin:14px 0 4px;color:var(--color-text)}.container{width:min(var(--container-width),calc(100% - 40px));margin-inline:auto}.section{padding:56px 0}.confirmation-banner.svelte-b96sye{position:fixed;right:20px;bottom:20px;z-index:900;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;width:min(760px,calc(100vw - 40px));padding:14px 16px;border:1px solid #f4c46b;border-radius:14px;background:#fffaf0;box-shadow:0 14px 38px #0f172a2e;color:#172033}.banner-icon.svelte-b96sye{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#ffedd5;color:#b45309}.banner-copy.svelte-b96sye{display:grid;gap:3px;min-width:0}.banner-copy.svelte-b96sye strong:where(.svelte-b96sye){font-size:14px}.banner-copy.svelte-b96sye span:where(.svelte-b96sye){color:#64748b;font-size:12px;line-height:1.4}.banner-actions.svelte-b96sye{display:flex;gap:7px}.banner-actions.svelte-b96sye button:where(.svelte-b96sye),.modal.svelte-b96sye footer:where(.svelte-b96sye) button:where(.svelte-b96sye){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 12px;border:1px solid #cfd8e6;border-radius:9px;background:#fff;color:#173b78;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.banner-actions.svelte-b96sye button:where(.svelte-b96sye):disabled,.modal.svelte-b96sye button:where(.svelte-b96sye):disabled{cursor:wait;opacity:.6}.modal-backdrop.svelte-b96sye{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:18px;background:#0f172a9e}.modal.svelte-b96sye{width:min(520px,100%);overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 22px 60px #0f172a4d}.modal.svelte-b96sye header:where(.svelte-b96sye){display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:22px 24px 18px;border-bottom:1px solid #e2e8f0}.modal.svelte-b96sye h2:where(.svelte-b96sye){margin:0;color:#111827;font-size:21px}.modal.svelte-b96sye header:where(.svelte-b96sye) p:where(.svelte-b96sye){margin:5px 0 0;color:#64748b;font-size:13px}.close.svelte-b96sye{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #d7e0ec;border-radius:9px;background:#fff;cursor:pointer}.modal-body.svelte-b96sye{display:grid;gap:15px;padding:22px 24px}.modal-body.svelte-b96sye label:where(.svelte-b96sye){display:grid;gap:6px;color:#172033;font-size:12px;font-weight:800}.modal-body.svelte-b96sye input:where(.svelte-b96sye){height:43px;padding:0 12px;border:1px solid #cfd8e6;border-radius:9px;font:inherit}.modal-body.svelte-b96sye input:where(.svelte-b96sye):focus{border-color:#1e407c;outline:2px solid rgba(30,64,124,.15)}.modal.svelte-b96sye footer:where(.svelte-b96sye){display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid #e2e8f0;background:#f8fafc}.modal.svelte-b96sye footer:where(.svelte-b96sye) .primary:where(.svelte-b96sye){border-color:#1e407c;background:#1e407c;color:#fff}.spin.svelte-b96sye{display:inline-flex;animation:svelte-b96sye-spin .8s linear infinite}@keyframes svelte-b96sye-spin{to{transform:rotate(360deg)}}@media(max-width:700px){.confirmation-banner.svelte-b96sye{right:10px;bottom:10px;grid-template-columns:auto 1fr;width:calc(100vw - 20px)}.banner-actions.svelte-b96sye{grid-column:1 / -1}.banner-actions.svelte-b96sye button:where(.svelte-b96sye){flex:1}.modal.svelte-b96sye header:where(.svelte-b96sye),.modal-body.svelte-b96sye,.modal.svelte-b96sye footer:where(.svelte-b96sye){padding-inline:17px}}.notification-center.svelte-1qus79u{position:fixed;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:10000;display:grid;gap:10px;width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}.notification.svelte-1qus79u{display:flex;align-items:flex-start;gap:11px;padding:14px 12px 14px 15px;border:1px solid #bfdbfe;border-left:4px solid #2563eb;border-radius:12px;background:#fff;box-shadow:0 16px 40px #0f172a33;color:#1e3a5f}.notification.error.svelte-1qus79u{border-color:#fecaca;border-left-color:#dc2626;color:#991b1b}.notification.success.svelte-1qus79u{border-color:#bbf7d0;border-left-color:#16a34a;color:#166534}.notification-icon.svelte-1qus79u{flex:0 0 auto;margin-top:1px}.notification.svelte-1qus79u p:where(.svelte-1qus79u){flex:1;margin:0;color:#1e293b;font-size:14px;font-weight:650;line-height:1.45;overflow-wrap:anywhere}.notification.svelte-1qus79u button:where(.svelte-1qus79u){flex:0 0 auto;display:grid;place-items:center;width:26px;height:26px;margin:-4px -3px 0 0;padding:0;border:0;border-radius:6px;background:transparent;color:#64748b;cursor:pointer}.notification.svelte-1qus79u button:where(.svelte-1qus79u):hover{background:#f1f5f9;color:#0f172a}.notification.svelte-1qus79u button:where(.svelte-1qus79u):focus-visible{outline:2px solid #2563eb;outline-offset:2px}
