.rdp-root{--rdp-accent-color: blue;--rdp-accent-background-color: #f0f0ff;--rdp-day-height: 44px;--rdp-day-width: 44px;--rdp-day_button-border-radius: 100%;--rdp-day_button-border: 2px solid transparent;--rdp-day_button-height: 42px;--rdp-day_button-width: 42px;--rdp-selected-border: 2px solid var(--rdp-accent-color);--rdp-disabled-opacity: .5;--rdp-outside-opacity: .75;--rdp-today-color: var(--rdp-accent-color);--rdp-dropdown-gap: .5rem;--rdp-months-gap: 2rem;--rdp-nav_button-disabled-opacity: .5;--rdp-nav_button-height: 2.25rem;--rdp-nav_button-width: 2.25rem;--rdp-nav-height: 2.75rem;--rdp-range_middle-background-color: var(--rdp-accent-background-color);--rdp-range_middle-color: inherit;--rdp-range_start-color: white;--rdp-range_start-background: linear-gradient( var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50% );--rdp-range_start-date-background-color: var(--rdp-accent-color);--rdp-range_end-background: linear-gradient( var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50% );--rdp-range_end-color: white;--rdp-range_end-date-background-color: var(--rdp-accent-color);--rdp-week_number-border-radius: 100%;--rdp-week_number-border: 2px solid transparent;--rdp-week_number-height: var(--rdp-day-height);--rdp-week_number-opacity: .75;--rdp-week_number-width: var(--rdp-day-width);--rdp-weeknumber-text-align: center;--rdp-weekday-opacity: .75;--rdp-weekday-padding: .5rem 0rem;--rdp-weekday-text-align: center;--rdp-gradient-direction: 90deg;--rdp-animation_duration: .3s;--rdp-animation_timing: cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction: -90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity: unset}.rdp-root{position:relative;box-sizing:border-box}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;justify-content:center;align-items:center;display:flex;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius)}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;position:relative;display:inline-flex;align-items:center;white-space:nowrap;border:0}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto Highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{border:none;background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;-moz-appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;position:relative;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height)}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{display:inline-block;fill:var(--rdp-accent-color)}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform:rotate(180deg);transform-origin:50%}.rdp-dropdowns{position:relative;display:inline-flex;align-items:center;gap:var(--rdp-dropdown-gap)}.rdp-dropdown{z-index:2;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;width:100%;margin:0;padding:0;cursor:inherit;border:none;line-height:inherit}.rdp-dropdown_root{position:relative;display:inline-flex;align-items:center}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{display:flex;align-content:center;height:var(--rdp-nav-height);font-weight:700;font-size:large}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{position:absolute;inset-inline-start:0;top:0;height:var(--rdp-nav-height);display:inline-flex}.rdp-root[data-nav-layout=around] .rdp-button_next{position:absolute;inset-inline-end:0;top:0;height:var(--rdp-nav-height);display:inline-flex;justify-content:center}.rdp-months{position:relative;display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:fit-content}.rdp-month_grid{border-collapse:collapse}.rdp-nav{position:absolute;inset-block-start:0;inset-inline-end:0;display:flex;align-items:center;height:var(--rdp-nav-height)}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);font-weight:500;font-size:smaller;text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform)}.rdp-week_number{opacity:var(--rdp-week_number-opacity);font-weight:400;font-size:small;height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align)}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-weight:700;font-size:large}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}:root{--brand-primary: #50de97;--brand-link: #36ac67;--brand-success: #5ac189;--brand-warning: #ff7f44;--brand-error: #e04355;--brand-info: #444e7c;--bg: #eef2f7;--surface: #ffffff;--ink: #1f2733;--muted: #6b7688;--line: #e3e8f1;--radius-card: 22px;--radius-ctl: 12px;--topbar-h: 62px;--shadow-sm: 0 1px 2px rgba(31, 39, 51, .06);--shadow-md: 0 10px 30px rgba(31, 39, 51, .1);--maxw: 1160px;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--brand-link);text-decoration:none}.app{display:flex;flex-direction:column;min-height:100%}.topbar{position:sticky;top:0;z-index:10;height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#ffffffdb;-webkit-backdrop-filter:saturate(1.2) blur(8px);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;min-width:0}.brand-logo{height:34px;width:auto;display:block}.brand-name{font-size:20px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.topbar-right{display:flex;align-items:center;gap:14px}.user{color:var(--muted);font-size:14px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-logout{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:14px;padding:7px 14px;border-radius:999px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.btn-logout:hover{border-color:var(--brand-primary);box-shadow:var(--shadow-sm)}.btn-primary{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:var(--brand-primary);color:#04331f;font:inherit;font-weight:600;padding:10px 18px;border-radius:var(--radius-ctl);cursor:pointer}.catalog{width:100%;max-width:var(--maxw);margin:0 auto;padding:32px 24px 64px}.group+.group{margin-top:40px}.group-title{margin:0 0 16px;font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:20px}.card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;color:var(--ink);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:transparent}.card-thumb{height:118px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,color-mix(in srgb,var(--brand-primary) 22%,white),color-mix(in srgb,var(--brand-primary) 8%,white));border-bottom:1px solid var(--line)}.card-thumb span{font-size:34px;font-weight:800;letter-spacing:-.02em;color:color-mix(in srgb,var(--brand-link) 78%,#0c3f27);opacity:.85}.card-body{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px}.card-title{font-size:15.5px;font-weight:600;line-height:1.3}.card-uses{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px}.card-uses li{position:relative;padding-left:15px;font-size:12.5px;line-height:1.4;color:var(--muted)}.card-uses li:before{content:"";position:absolute;left:2px;top:.55em;width:5px;height:5px;border-radius:50%;background:color-mix(in srgb,var(--brand-primary) 55%,transparent)}.card-cta{margin-top:auto;font-size:13px;font-weight:600;color:var(--brand-link)}.dash-view{position:relative;display:flex;flex-direction:column;height:calc(100vh - var(--topbar-h))}.dash-bar{display:flex;align-items:center;gap:18px;padding:14px 24px;border-bottom:1px solid var(--line);background:var(--surface);position:relative;z-index:20}.back{font-weight:600;color:var(--brand-link)}.dash-name{font-weight:600;color:var(--ink)}.dash-frame{flex:1;min-height:0;background:var(--bg)}.dash-frame iframe{display:block;width:100%;height:100%;border:0}.dash-view .spinner-wrap{position:absolute;left:0;right:0;top:calc(50% + 20px);transform:translateY(-50%)}.spinner-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;padding:64px 24px;color:var(--muted)}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid color-mix(in srgb,var(--brand-primary) 30%,var(--line));border-top-color:var(--brand-primary);animation:spin .8s linear infinite}.spinner-label{font-size:14px}@keyframes spin{to{transform:rotate(360deg)}}.center-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px}.notice{max-width:640px;margin:12px auto;padding:14px 18px;border-radius:var(--radius-ctl);border:1px solid var(--line);background:var(--surface);font-size:14.5px;box-shadow:var(--shadow-sm)}.notice.error{border-color:color-mix(in srgb,var(--brand-error) 45%,var(--line));background:color-mix(in srgb,var(--brand-error) 6%,white);color:color-mix(in srgb,var(--brand-error) 70%,#3a1116)}.dp{position:relative;margin-left:auto}.dp-trigger{display:inline-flex;align-items:center;gap:10px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:14px;padding:8px 14px;border-radius:999px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.dp-trigger:hover{border-color:var(--brand-primary);box-shadow:var(--shadow-sm)}.dp-trigger-label{font-weight:600}.dp-caret{color:var(--muted);font-size:11px}.dp-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:30;display:flex;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-md);overflow:hidden}.dp-presets{display:flex;flex-direction:column;gap:4px;padding:14px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--bg) 55%,white);min-width:168px}.dp-preset{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ink);font:inherit;font-size:14px;text-align:left;padding:8px 12px;border-radius:var(--radius-ctl);cursor:pointer;transition:background .12s,color .12s}.dp-preset:hover{background:color-mix(in srgb,var(--brand-primary) 14%,white)}.dp-preset.is-active{background:color-mix(in srgb,var(--brand-primary) 20%,white);color:var(--brand-link);font-weight:600}.dp-calendar{display:flex;flex-direction:column;padding:12px 14px 14px}.dp-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px;padding-top:12px;border-top:1px solid var(--line)}.dp-cancel,.dp-apply{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:14px;font-weight:600;padding:8px 16px;border-radius:var(--radius-ctl);cursor:pointer}.dp-cancel{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.dp-cancel:hover{border-color:var(--brand-primary)}.dp-apply{border:0;background:var(--brand-primary);color:#04331f}.dp-apply:disabled{opacity:.5;cursor:not-allowed}.dp-calendar .rdp-root{--rdp-accent-color: var(--brand-primary);--rdp-accent-background-color: color-mix(in srgb, var(--brand-primary) 18%, white);--rdp-today-color: var(--brand-link);--rdp-range_middle-background-color: color-mix(in srgb, var(--brand-primary) 14%, white);--rdp-range_middle-color: var(--ink);--rdp-selected-border: 2px solid var(--brand-primary);margin:0;font-size:14px}.dp-calendar .rdp-day_button{color:var(--ink)}.dp-calendar .rdp-chevron{fill:var(--brand-link)}@media (max-width: 640px){.dp-panel{flex-direction:column;right:auto;left:0;max-width:calc(100vw - 32px)}.dp-presets{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line);min-width:0}}.chat-launcher{position:fixed;right:24px;bottom:24px;z-index:40;display:inline-flex;align-items:center;gap:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:var(--brand-primary);color:#04331f;font:inherit;font-weight:600;padding:12px 18px;border-radius:999px;cursor:pointer;box-shadow:var(--shadow-md);transition:transform .15s ease,box-shadow .15s ease}.chat-launcher:hover{transform:translateY(-2px)}.chat-launcher-icon{font-size:16px}.chat-panel{position:fixed;right:24px;bottom:24px;z-index:40;width:384px;max-width:calc(100vw - 32px);height:560px;max-height:calc(100vh - var(--topbar-h) - 32px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-md);overflow:hidden}.chat-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--brand-primary) 10%,var(--surface))}.chat-head-title{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--ink)}.chat-head-dot{width:9px;height:9px;border-radius:50%;background:var(--brand-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary) 24%,transparent)}.chat-head-actions{display:inline-flex;gap:6px}.chat-head-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--muted);font:inherit;font-size:13px;padding:5px 10px;border-radius:999px;cursor:pointer;transition:border-color .15s,color .15s}.chat-head-btn:hover{border-color:var(--brand-primary);color:var(--ink)}.chat-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:16px}.chat-hint{color:var(--muted);font-size:14px;line-height:1.5}.chat-hint p{margin:0 0 10px}.chat-hint-eg{color:var(--ink)}.chat-msg{display:flex;flex-direction:column;gap:8px;max-width:100%}.chat-msg-user{align-items:flex-end}.chat-bubble{max-width:92%;padding:10px 14px;border-radius:16px;font-size:14.5px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.chat-msg-assistant .chat-bubble{align-self:flex-start;background:color-mix(in srgb,var(--bg) 60%,var(--surface));border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:4px}.chat-msg-user .chat-bubble{align-self:flex-end;background:color-mix(in srgb,var(--brand-primary) 20%,var(--surface));color:var(--ink);border-bottom-right-radius:4px}.chat-links{display:flex;flex-wrap:wrap;gap:8px}.chat-link-chip{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--brand-primary) 40%,var(--line));background:color-mix(in srgb,var(--brand-primary) 10%,var(--surface));color:var(--brand-link);font-size:13px;font-weight:600;transition:border-color .15s,box-shadow .15s}.chat-link-chip:hover{border-color:var(--brand-primary);box-shadow:var(--shadow-sm)}.chat-input{display:flex;align-items:flex-end;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--surface)}.chat-textarea{flex:1;resize:none;max-height:120px;border:1px solid var(--line);border-radius:var(--radius-ctl);padding:10px 12px;font:inherit;font-size:14.5px;color:var(--ink);background:var(--surface);outline:none;transition:border-color .15s}.chat-textarea:focus{border-color:var(--brand-primary)}.chat-send{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:var(--brand-primary);color:#04331f;font:inherit;font-weight:600;padding:10px 16px;border-radius:var(--radius-ctl);cursor:pointer}.chat-send:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.chat-panel{right:8px;left:8px;bottom:8px;width:auto;height:72vh}.chat-launcher{right:16px;bottom:16px}}
