@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--color-text:#2d2d2d;--color-text-muted:#6b7280;--color-bg:#f6f8fb;--color-surface:#fff;--color-surface-soft:#f9fafb;--color-border:#e5e7eb;--color-brand:#f60;--color-brand-strong:#e65c00;--color-brand-soft:#fff4ed;--color-highlight:#ff8533;--color-success:#10b981;--color-danger:#ef4444;--color-warning:#92400e;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--shadow-soft:0 10px 30px -22px #11182740;--space-1:.35rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.4rem;--space-6:2rem;color:var(--color-text);background:#f8fafc;font-family:Inter,Trebuchet MS,sans-serif}*{box-sizing:border-box}body{color:var(--color-text);margin:0}a{color:inherit}h1,h2,h3{margin:0;font-family:Inter,sans-serif;line-height:1.2}p{margin:0}input,textarea,select,button{font:inherit}button:disabled{opacity:.55;cursor:not-allowed}input,select{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;height:44px;padding:0 var(--space-4);background:#fff;transition:border-color .12s,box-shadow .12s}input:focus,select:focus{border-color:var(--color-brand);outline:none;box-shadow:0 0 0 2px #ff660026}textarea{resize:none;border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:120px;padding:var(--space-3) var(--space-4);background:#fff}textarea:focus{border-color:var(--color-brand);outline:none;box-shadow:0 0 0 2px #ff660026}button{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000}button:disabled{cursor:not-allowed;opacity:.5;color:#6b7280!important;background:#e5e7eb!important;border-color:#e5e7eb!important}:focus-visible{outline-offset:2px;outline:2px solid #f60}.app-shell{min-height:100vh}.topbar{z-index:10;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);background:#ffffffe0;grid-template-columns:auto 1fr auto;display:grid;position:sticky;top:0}.logo{font-weight:800;text-decoration:none}.logo strong{color:var(--color-brand)}.nav{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.nav a{color:var(--color-text-muted);border-radius:999px;padding:.45rem .8rem;font-weight:500;text-decoration:none;transition:all .16s}.nav a.active,.nav a:hover{color:var(--color-brand-strong);background:var(--color-brand-soft)}.nav-dropdown{position:relative}.nav-dropdown-toggle{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:.5rem;padding:.45rem .8rem;font-size:1rem;font-weight:500;transition:all .16s;display:flex}.nav-dropdown-toggle:hover,.nav-dropdown-toggle[aria-expanded=true]{color:var(--color-brand-strong);background:var(--color-brand-soft)}.dropdown-arrow{margin-left:-.2rem;font-size:1.3rem;transition:transform .2s;display:inline-block}.nav-dropdown-toggle:hover .dropdown-arrow,.nav-dropdown-toggle[aria-expanded=true] .dropdown-arrow{transform:translate(3px)}.nav-dropdown-menu{z-index:50;background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-width:240px;animation:.18s both dropdownFade;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 12px 32px #0000001a}.nav-dropdown-item{color:var(--color-text);border-bottom:1px solid #f3f4f6;padding:12px 16px;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .14s;display:block}.nav-dropdown-item:last-child{border-bottom:none}.nav-dropdown-item:hover{background:var(--color-brand-soft);color:var(--color-brand-strong)}.nav-dropdown-item:focus-visible{background:var(--color-brand-soft);color:var(--color-brand-strong);box-shadow:none;outline:none}.offer-tool{border-radius:var(--radius-sm);background:var(--color-brand,#1f8a5b);color:#fff;margin-left:.6rem;padding:.65rem 1rem;font-size:1rem;font-weight:600;line-height:1;text-decoration:none;transition:transform .12s,box-shadow .12s,background-color .12s;display:inline-block}.offer-tool:hover,.offer-tool:focus-visible{background:var(--color-brand-strong,#166c47);transform:translateY(-3px);box-shadow:0 6px 18px #1118271f}.page-actions{margin-top:-.6rem;margin-bottom:var(--space-3);justify-content:flex-end;align-items:center;display:flex}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.topbar-right{align-items:center;gap:var(--space-3);display:flex}.notification-bell-wrap{color:inherit;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}.notification-bell-wrap:focus-visible{outline:none}.notification-bell{border:1px solid var(--color-border);background:var(--color-surface);color:#334155;border-radius:999px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;transition:color .12s,background-color .12s,border-color .12s;display:inline-flex}.notification-bell svg{fill:currentColor;width:1.1rem;height:1.1rem}.notification-bell-wrap:hover .notification-bell,.notification-bell-wrap:focus-visible .notification-bell{color:var(--color-brand-strong);background:var(--color-brand-soft);border-color:var(--color-brand)}.notification-bell-badge{background:var(--color-brand);color:#fff;border:2px solid var(--color-surface);box-sizing:border-box;pointer-events:none;border-radius:999px;justify-content:center;align-items:center;min-width:1.125rem;height:1.125rem;padding:0 .28rem;font-size:.62rem;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:-.15rem;right:-.15rem}.profile-menu{background:0 0;border:0;border-radius:0;padding:0;position:relative}.profile-menu summary{cursor:pointer;list-style:none;display:flex}.profile-menu summary:focus-visible{outline:none}.profile-menu summary::-webkit-details-marker{display:none}.profile-avatar{border:1px solid var(--color-border);background:var(--color-surface);color:#334155;border-radius:999px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;transition:color .12s,background-color .12s,border-color .12s;display:inline-flex}.profile-avatar svg{fill:currentColor;width:1.2rem;height:1.2rem}.profile-menu[open] .profile-avatar,.profile-menu summary:hover .profile-avatar,.profile-menu summary:focus-visible .profile-avatar{color:var(--color-brand-strong);background:var(--color-brand-soft);border-color:var(--color-brand)}.profile-menu-panel{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:190px;padding:var(--space-2);gap:var(--space-1);background:#fff;display:grid;position:absolute;top:calc(100% + .45rem);right:0;box-shadow:0 16px 30px -24px #11182780}.profile-menu-meta{color:var(--color-text-muted);border-bottom:1px solid var(--color-border);margin-bottom:.1rem;padding:.2rem .5rem .3rem;font-size:.85rem}.profile-menu-item{text-align:left;width:100%;color:var(--color-text);background:0 0;border:none;border-radius:8px;padding:.5rem .55rem;text-decoration:none;display:block}.profile-menu-item:hover{background:var(--color-surface-soft)}.profile-menu-logout{color:var(--color-danger)}.btn,button.btn,button:not([class]){background:var(--color-brand);color:#fff;border:1px solid var(--color-brand);border-radius:var(--radius-md);justify-content:center;align-items:center;gap:.35rem;height:44px;padding:0 1.25rem;font-weight:600;text-decoration:none;transition:all .12s;display:inline-flex}.btn:hover,button.btn:hover,button:not([class]):hover{background:var(--color-brand-strong);border-color:var(--color-brand-strong)}.btn.secondary,button.secondary{color:var(--color-brand);border:2px solid var(--color-brand);background:0 0}.btn.secondary:hover,button.secondary:hover{background:var(--color-brand-soft);border-color:var(--color-brand-strong);color:var(--color-brand-strong)}button.ghost{color:var(--color-text);background:0 0;border:1px solid #0000}button.ghost:hover{background:var(--color-surface-soft);color:var(--color-text)}a.btn.ghost{color:var(--color-text);background:0 0;border:1px solid #0000}a.btn.ghost:hover{background:var(--color-surface-soft);color:var(--color-text)}.btn.mini,button.mini{height:32px;padding:0 .75rem;font-size:.86rem}.content{max-width:1180px;padding:var(--space-5) var(--space-4) 2.5rem;gap:var(--space-4);margin:0 auto;display:grid}.session-info{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-soft);justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;display:flex}.guest-banner{align-items:center;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:72px;padding:var(--space-4);box-shadow:var(--shadow-soft);grid-template-columns:44px minmax(0,1fr) auto;display:grid}.guest-banner-icon{border-radius:var(--radius-md);background:var(--color-brand-soft);width:44px;height:44px;color:var(--color-brand-strong);text-align:center;box-sizing:border-box;justify-content:center;align-items:center;padding-left:1px;font-size:22px;line-height:1;display:flex;overflow:hidden}.guest-banner-copy{gap:var(--space-1);min-width:0;display:grid}.guest-banner-copy h2{font-size:18px;font-weight:600;line-height:29px}.guest-banner-copy p{color:var(--color-text-muted);font-size:14px;line-height:21px}.guest-banner .btn{height:44px;padding:0 var(--space-4)}.hero p{color:var(--color-text-muted);max-width:70ch}.eyebrow{text-transform:uppercase;color:var(--color-brand-strong);letter-spacing:1.2px;margin:0;font-size:.78rem;font-weight:800}.surface{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-soft);padding:var(--space-5);gap:var(--space-4);display:grid}.surface.interactive{transition:transform .18s,box-shadow .18s}.surface.interactive:hover{transform:translateY(-2px);box-shadow:0 14px 34px -24px #11182773}.search-page .surface.interactive{transition:box-shadow .18s,border-color .18s}.search-page .surface.interactive:hover{box-shadow:var(--shadow-soft);transform:none}.surface-head{gap:var(--space-2);display:grid}.surface-head p{color:var(--color-text-muted)}.stack,.new-tool-page{gap:var(--space-4);display:grid}.new-tool-page h1{color:var(--color-text);font-size:30px;font-weight:600}.new-tool-form{gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);display:grid}.new-workshop-page{gap:var(--space-4);display:grid}.new-workshop-page h1{color:var(--color-text);font-size:30px;font-weight:600}.new-workshop-form{gap:var(--space-4);display:grid}.new-workshop-form textarea{resize:vertical;min-height:120px}.new-workshop-form .photo-upload>label,.new-workshop-form .workshop-tools-builder>label,.new-workshop-form .equipment-select>label{color:var(--color-text);font-size:.95rem;font-weight:700}.new-workshop-form .photo-upload>.hint,.new-workshop-form .workshop-tools-builder>.hint,.new-workshop-form .equipment-select>.hint{color:var(--color-text-muted);font-size:.84rem;line-height:1.45}.new-workshop-form .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.new-workshop-form .photo-item,.new-workshop-form .photo-upload-button{aspect-ratio:16/9;border-radius:var(--radius-md);min-height:176px}.new-workshop-form .photo-upload-button{background:linear-gradient(#fff4edb8,#fffffff5),#fff;border:1.5px dashed #f2b284}.new-workshop-form .photo-upload-button:hover,.new-workshop-form .photo-upload-button:focus-visible{border-color:var(--color-brand);background:var(--color-brand-soft);outline:none}.new-workshop-form .photo-label{background:color-mix(in srgb, var(--color-brand) 90%, transparent)}.workshop-empty-photo-upload{width:100%;color:inherit;font:inherit}.workshop-capacity-field{gap:.5rem}.new-workshop-form .capacity-button{border-radius:var(--radius-md);width:44px;height:44px}.new-workshop-form .capacity-display{border-radius:var(--radius-md);appearance:textfield;text-align:center;width:72px;height:44px;padding:0;line-height:44px}.new-workshop-form .capacity-display::-webkit-inner-spin-button{appearance:none;margin:0}.new-workshop-form .capacity-display::-webkit-outer-spin-button{appearance:none;margin:0}.workshop-availability-section{gap:var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--color-border);display:grid}.workshop-form-section-heading{gap:var(--space-1);display:grid}.workshop-section-kicker{color:var(--color-brand-strong);text-transform:uppercase;font-size:.78rem;font-weight:700;line-height:1.4}.workshop-form-section-heading h2{margin:0;font-size:1.25rem;font-weight:600}.workshop-form-section-heading p,.workshop-empty-slots{color:var(--color-text-muted);margin:0}.workshop-slot-builder{gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.workshop-slot-date-group{gap:var(--space-2);min-width:0;display:grid}.workshop-slot-date-group>strong{font-size:14px;font-weight:600;line-height:21px}.workshop-slot-editor{gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);display:grid}.workshop-slot-editor-heading,.workshop-slot-editor-actions,.workshop-slot-list-heading{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.workshop-slot-editor-heading>div{gap:2px;display:grid}.workshop-slot-editor-heading strong,.workshop-slot-list-heading strong{font-size:.95rem;line-height:1.45}.workshop-slot-editor-heading span,.workshop-slot-list-heading span{color:var(--color-text-muted);font-size:.82rem}.workshop-block-toggle{align-items:center;gap:var(--space-3);min-height:64px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;background:#fff;display:flex}.workshop-block-toggle input{width:20px;height:20px;accent-color:var(--color-brand);flex:none;margin:0}.workshop-block-toggle span{gap:2px;display:grid}.workshop-block-toggle small{color:var(--color-text-muted)}.workshop-add-slot{flex:none;min-height:44px}.workshop-add-slot,.workshop-remove-slot,.workshop-slot-copy{align-items:center;gap:var(--space-2);display:inline-flex}.workshop-created-slots{margin:0;padding:0}.workshop-slot-copy,.workshop-slot-copy>span:last-child{min-width:0}.workshop-remove-slot{flex:none;justify-content:center;width:44px;min-height:44px;padding:0}.workshop-form-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.workshop-form-actions>button,.workshop-form-actions>.btn{min-width:170px;min-height:44px}@media (width<=760px){.new-workshop-form .photo-grid,.workshop-slot-builder{grid-template-columns:1fr}.new-workshop-form .workshop-tools-input-row{grid-template-columns:1fr;align-items:stretch}.new-workshop-form .workshop-tools-input-row .btn{justify-content:center;width:100%}.new-workshop-form .photo-item,.new-workshop-form .photo-upload-button{min-height:152px}.workshop-slot-editor-heading,.workshop-slot-editor-actions,.workshop-slot-list-heading{flex-direction:column;align-items:stretch}.workshop-add-slot{justify-content:center;align-self:stretch}.workshop-form-actions>button,.workshop-form-actions>.btn{justify-content:center;width:100%}.slot-item{flex-direction:column;align-items:flex-start}}.required-note{color:var(--color-danger);font-size:.9rem;font-weight:600}.tool-form-field{gap:.5rem;display:grid}.tool-form-field>span,.category-select label,.image-upload label{color:var(--color-text);font-size:.95rem;font-weight:700}.tool-form-field small,.category-select .hint,.image-upload .hint{color:var(--color-text-muted);font-size:.84rem;line-height:1.45}.tool-form-field textarea{min-height:120px}.field-label-row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.char-count{color:var(--color-text-muted);white-space:nowrap;font-size:.82rem;font-weight:500}.new-tool-actions{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.new-tool-actions .btn,.new-tool-actions button{min-width:170px}.new-tool-address-section{padding-top:var(--space-4);border-top:1px solid var(--color-border)}.new-tool-address-grid{margin-top:var(--space-1)}.new-tool-form .button-group{display:none}@media (width<=760px){.new-tool-address-grid{grid-template-columns:minmax(0,1fr) minmax(7rem,.65fr)}.new-tool-address-grid .address-field-city,.new-tool-address-grid .address-field-country{grid-column:1/-1}}@media (width<=520px){.address-grid-compact{grid-template-columns:1fr}.address-grid-compact .address-field{grid-column:1}.new-tool-address-grid{grid-template-columns:1fr}.new-tool-address-grid .address-field{grid-column:1}.new-tool-actions .btn,.new-tool-actions button{width:100%}}.row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.grid{gap:var(--space-3);display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.cards{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.search-page .btn,.search-page button.btn{border-radius:var(--radius-md);min-height:44px}.offer-strip{justify-content:space-between;align-items:center;gap:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-4) var(--space-5);flex-wrap:wrap;display:flex}.offer-strip h2{margin-bottom:var(--space-1);font-size:18px;font-weight:700;line-height:1.35}.offer-strip p{color:var(--color-text-muted);font-size:14px;font-weight:400;line-height:1.45}.offer-strip .offer-tool{min-width:176px;padding-inline:var(--space-5);white-space:nowrap}.search-page{--color-text:#2d2d2d;--color-text-muted:#6b7280;--color-brand:#f60;--color-brand-strong:#e65c00;--color-brand-soft:#fff4ed;--color-success:#10b981}.search-page .cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:stretch}.search-page .cards>.empty-state{grid-column:1/-1;width:100%}.search-page .cards.cards-empty{width:100%;display:block}.ds-workshop-card{color:#2d2d2d;text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:16px;grid-template-rows:178px 1fr;width:100%;max-width:100%;min-height:409px;padding:0;font-family:Inter,sans-serif;text-decoration:none;transition:border-color .18s,background-color .18s,transform .18s;display:grid;overflow:hidden}.ds-workshop-card.card-link{display:grid}.ds-workshop-card:hover,.ds-workshop-card:focus-visible,.ds-workshop-card.selected{background:#fff4ed;border-color:#f60;transform:translateY(-1px)}.ds-workshop-card-media{background:#e5e7eb;border-bottom:1px solid #e5e7eb;place-items:center;height:178px;display:grid;position:relative;overflow:hidden}.ds-workshop-card-badge{color:#fff;z-index:1;background:#10b981;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:600;line-height:1;display:inline-flex;position:absolute;top:8px;right:8px}.ds-workshop-card-badge.unavailable{background:#ef4444}.ds-workshop-card-icon{color:#2d2d2d;font-size:84px;line-height:1;transform:rotate(-45deg)}.ds-workshop-card-image{object-fit:cover;width:100%;height:100%;display:block}.ds-workshop-card-body{grid-template-rows:18px 58px 21px 1px 34px;gap:16px;min-width:0;padding:16px;display:grid}.ds-workshop-card-distance{text-align:right;color:#6b7280;font-size:14px;line-height:18px}.ds-workshop-card h3{color:#2d2d2d;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:24px;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.ds-workshop-card p{color:#6b7280;min-width:0;margin:0;font-size:14px;line-height:21px}.ds-workshop-card-description{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ds-workshop-card-divider{background:#e5e7eb;height:1px}.ds-workshop-card-footer{justify-content:space-between;align-items:center;gap:8px;min-width:0;min-height:34px;display:flex}.ds-workshop-card-owner{color:#2d2d2d;flex:auto;align-items:center;gap:8px;min-width:0;font-size:14px;line-height:21px;display:flex}.ds-workshop-card-owner>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ds-workshop-card-avatar{color:#2d2d2d;background:#fff;border:1px solid #e5e7eb;border-radius:9999px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:14px;display:grid}.ds-workshop-card-details{color:#f60;flex:none;font-size:14px;font-weight:600;line-height:21px}.card{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);background:#fff;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid;overflow:hidden}.card:hover{border-color:#c8d1d8;transform:translateY(-4px);box-shadow:0 18px 32px -24px #11182766}.card figure{height:180px;margin:0}.card img{object-fit:cover;width:100%;height:100%}.card-content{padding:var(--space-4);gap:var(--space-3);display:grid}.meta-list{color:var(--color-text-muted);gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.profile-settings-page{gap:var(--space-4);width:min(100%,1040px);margin:0 auto;display:grid}.profile-settings-page>h1{margin:0 0 var(--space-2);font-size:30px;font-weight:600;line-height:1.3}.profile-settings-card{gap:var(--space-4);padding:var(--space-5)}.profile-settings-card .surface-head{gap:0}.profile-settings-card .surface-head h2{font-size:18px;font-weight:600;line-height:29px}.profile-account-data{gap:var(--space-1);font-size:14px;line-height:21px;display:grid}.profile-account-data>span{font-weight:600}.profile-account-data a{width:fit-content;color:var(--color-brand-strong);overflow-wrap:anywhere}.profile-password-button,.profile-save-button{justify-self:start;width:min(100%,280px);height:44px}.profile-settings-form{gap:var(--space-4);display:grid}.profile-settings-form .field{gap:var(--space-2)}.profile-settings-form .field>span{font-size:14px;font-weight:600;line-height:21px}@media (width<=600px){.profile-settings-page>h1{font-size:24px}.profile-password-button,.profile-save-button{width:100%}}.status-pill{border:1px solid var(--color-border);background:#fff;border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.78rem;font-weight:700;display:inline-flex}.status-pill.success{color:var(--color-success);background:#f0fdf4;border-color:#86efac}.status-pill.warning{color:var(--color-warning);background:#fff7ed;border-color:#fcd34d}.status-pill.danger{color:var(--color-danger);background:#fef2f2;border-color:#fca5a5}.status-pill.neutral{color:#374151}.field{gap:var(--space-2);display:grid}.field>span{font-weight:700}.field small{color:var(--color-text-muted)}.address-autocomplete{position:relative}.address-input{gap:var(--space-2);display:grid}.address-mode-hint{color:var(--color-text-muted);margin:0;font-size:13px;line-height:20px}.address-mode-toggle{color:var(--color-brand-strong);font:inherit;text-underline-offset:2px;background:0 0;border:0;border-radius:0;padding:0;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;display:inline}.address-mode-toggle:hover{color:var(--color-brand);background:0 0}.address-mode-toggle:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.address-input-compact .address-mode-hint{padding-left:var(--space-2);font-weight:400}.address-input-compact .address-mode-toggle{font-weight:400}.address-dropdown{z-index:25;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;padding:.35rem;position:absolute;top:calc(100% + .35rem);left:0;right:0;box-shadow:0 20px 35px -24px #11182773}.address-dropdown-head{color:var(--color-text-muted);border-bottom:1px solid var(--color-border);margin:0;padding:.3rem .45rem .45rem;font-size:.8rem;font-weight:700}.address-suggestion-list{gap:.15rem;max-height:210px;margin:0;padding:.3rem 0 0;list-style:none;display:grid;overflow-y:auto}.address-suggestion-item{text-align:left;width:100%;color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:8px;gap:.12rem;padding:.55rem .6rem;display:grid}.address-suggestion-title{font-size:.92rem;font-weight:600}.address-suggestion-meta{color:var(--color-text-muted);font-size:.8rem}.address-suggestion-item:hover{background:var(--color-brand-soft);color:var(--color-brand-strong)}.address-suggestion-empty{color:var(--color-text-muted);margin:0;padding:.6rem .55rem .45rem;font-size:.92rem}.address-grid{gap:var(--space-2);grid-template-columns:minmax(0,1.9fr) minmax(7.2rem,.75fr) minmax(6rem,.65fr) minmax(0,1.3fr);display:grid}.address-grid-compact{grid-template-columns:repeat(12,minmax(0,1fr))}.address-grid-compact .address-field-street{grid-column:span 8}.address-grid-compact .address-field-house-number{grid-column:span 4}.address-grid-compact .address-field-postal-code{grid-column:span 3}.address-grid-compact .address-field-city{grid-column:span 4}.address-grid-compact .address-field-country{grid-column:span 5}.address-field{gap:.3rem;display:grid}.address-grid input{min-width:0}.address-grid .form-label span{white-space:nowrap}.address-field-street,.address-field-city{grid-column:auto}.address-field-country{grid-column:1/-1}.empty-state{border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);padding:var(--space-5);gap:var(--space-2);display:grid}.hint{color:var(--color-text-muted);font-size:.92rem}.input-invalid{background:#fff5f5;border-color:#fca5a5}.field-error{color:var(--color-danger);margin:0;font-size:.82rem}.field-success{color:var(--color-success);margin:0;font-size:.82rem}details{border:1px dashed var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3);background:#fcfdfc}summary{cursor:pointer;color:#374151;font-weight:700}.result-summary{color:var(--color-text-muted);min-height:21px;font-size:14px;font-weight:400;line-height:21px}.filter-toolbar{justify-content:space-between;align-items:flex-start;gap:var(--space-2);flex-wrap:wrap;min-height:44px;display:flex}.chip{color:#14532d;background:#f3faf6;border:1px solid #b7e2ca;border-radius:999px;align-items:center;padding:.2rem .6rem;font-size:.8rem;font-weight:700;display:inline-flex}.request-panel{border-radius:var(--radius-md);padding:var(--space-4);gap:var(--space-3);background:#f5fbf8;border:1px solid #cde8d8;display:grid}.slider-row{gap:var(--space-2);display:grid}.slider-row label{align-items:baseline;gap:var(--space-1);font-size:.875rem;font-weight:600;line-height:1.25;display:inline-flex}.slider-row label strong{text-align:right;min-width:2ch;display:inline-block}.slider-row input[type=range]{accent-color:var(--color-brand)}.slider-row input.capacity-slider[type=range],.search-map-control input.radius-slider[type=range]{appearance:none;background:linear-gradient(to right, var(--color-brand) 0 var(--range-progress,0%), var(--color-border) var(--range-progress,0%) 100%);cursor:pointer;border:0;border-radius:9999px;width:100%;height:8px;padding:0}.slider-row input.capacity-slider[type=range]::-webkit-slider-thumb{appearance:none;background:var(--color-brand);width:20px;height:20px;box-shadow:var(--shadow-soft);border:3px solid #fff;border-radius:9999px}.search-map-control input.radius-slider[type=range]::-webkit-slider-thumb{appearance:none;background:var(--color-brand);width:20px;height:20px;box-shadow:var(--shadow-soft);border:3px solid #fff;border-radius:9999px}.slider-row input.capacity-slider[type=range]::-moz-range-thumb{background:var(--color-brand);width:20px;height:20px;box-shadow:var(--shadow-soft);border:3px solid #fff;border-radius:9999px}.search-map-control input.radius-slider[type=range]::-moz-range-thumb{background:var(--color-brand);width:20px;height:20px;box-shadow:var(--shadow-soft);border:3px solid #fff;border-radius:9999px}.slider-row input.capacity-slider[type=range]::-moz-range-track{background:0 0;border-radius:9999px;height:8px}.search-map-control input.radius-slider[type=range]::-moz-range-track{background:0 0;border-radius:9999px;height:8px}.advanced-filter-panel{border:0;border-top:1px solid var(--color-border);padding:var(--space-3) 0 0;background:0 0;border-radius:0}.advanced-filter-panel summary{cursor:pointer;color:var(--color-text);font-size:.875rem;font-weight:600}.advanced-filter-grid{gap:var(--space-4);padding-top:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(280px,380px);align-items:start;display:grid}.advanced-filter-fields{gap:var(--space-3);align-self:start;display:grid}.advanced-filter-fields .grid-2{align-items:start}.search-map{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-soft);min-height:260px;position:relative;overflow:hidden}.search-map-tiles{-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.search-map-tiles img{pointer-events:none;-webkit-user-select:none;user-select:none;width:256px;max-width:none;height:256px;max-height:none;position:absolute}.search-map-overlay{pointer-events:none;position:absolute;inset:0}.search-map-radius{aspect-ratio:1;z-index:1;background:#ff660024;border:2px solid #ff6600b8;border-radius:9999px;width:min(56%,220px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.search-map-user{aspect-ratio:1;background:var(--color-brand);width:16px;box-shadow:0 0 0 3px #ff66003d, var(--shadow-soft);z-index:2;border:3px solid #fff;border-radius:9999px;position:absolute;transform:translate(-50%,-50%)}.search-map-marker{background:var(--color-success);z-index:2;border:2px solid #fff;border-radius:9999px 9999px 9999px 2px;width:18px;height:18px;position:absolute;transform:translate(-50%,-50%)rotate(-45deg);box-shadow:0 4px 10px #0f172a3d}.search-map-marker.outside{opacity:.74;background:#94a3b8}.search-map-control{top:var(--space-3);right:var(--space-3);width:min(240px,100% - 2rem);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);gap:var(--space-2);z-index:5;background:#fff;display:grid;position:absolute}.search-map-control label{justify-content:space-between;gap:var(--space-2);color:var(--color-text);font-size:.82rem;font-weight:700;display:flex}.search-map-control input[type=range]{accent-color:var(--color-brand);padding:0}.search-map-attribution{left:var(--space-2);bottom:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-muted);z-index:5;background:#ffffffe6;padding:.15rem .4rem;font-size:.68rem;text-decoration:none;position:absolute}.search-map-attribution:hover{color:var(--color-text)}@media (width<=760px){.advanced-filter-grid{grid-template-columns:1fr}.search-page .cards{grid-template-columns:minmax(0,1fr)}.ds-workshop-card{width:100%}}.card-enter{animation:.22s both fadeUp}.skeleton-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.skeleton-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(90deg,#f3f4f6 25%,#eceff2 37%,#f3f4f6 63%) 0 0/400% 100%;height:270px;animation:1.2s linear infinite shimmer}.empty-state p{color:var(--color-text-muted)}.inbox-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);padding:var(--space-4);gap:var(--space-3);display:grid}.inbox-chat-layout{gap:var(--space-4);grid-template-columns:minmax(220px,320px) 1fr;display:grid}.inbox-chat-list{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);gap:var(--space-2);background:#fff;max-height:70vh;display:grid;overflow:auto}.inbox-chat-thread{border-radius:var(--radius-sm);width:100%;color:var(--color-text);padding:var(--space-3);text-align:left;background:#fff;border:1px solid #0000;gap:.35rem;display:grid}.inbox-chat-thread:hover{background:#f9fdfb;border-color:#cce8d9}.inbox-chat-thread.active{background:#f3faf6;border-color:#9bcfb3}.inbox-chat-thread-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.inbox-chat-thread-meta{color:var(--color-text-muted);font-size:.82rem}.inbox-chat-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);gap:var(--space-3);background:#fff;display:grid}.inbox-chat-panel-head{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-3);gap:var(--space-1);display:grid}.inbox-chat-panel-head p{color:var(--color-text-muted)}.inbox-chat-messages{gap:var(--space-2);max-height:50vh;padding-right:.2rem;display:grid;overflow:auto}.chat-bubble{max-width:min(95%,38rem);padding:var(--space-3);border-radius:14px;gap:.35rem;display:grid}.chat-bubble.incoming{background:#f5fbf8;border:1px solid #d4ebe2}.chat-bubble.incoming.chat-bubble--unread{cursor:pointer;background:linear-gradient(152deg,#f6fdf9 0%,#eef8f2 55%,#f5fbf8 100%);border-color:#7ec9a3;box-shadow:0 0 0 1px #1f8a5b24}.chat-bubble.incoming.chat-bubble--unread:hover{border-color:#5fba8c;box-shadow:0 0 0 1px #1f8a5b38}.chat-bubble.outgoing{background:#f7f9fc;border:1px solid #dbe4ef;margin-left:auto}.chat-bubble p{margin:0}.chat-bubble small{color:var(--color-text-muted)}.is-struck{text-decoration:line-through;text-decoration-thickness:1.5px}.inbox-chat-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.inbox-chat-counter{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);padding:var(--space-3);gap:var(--space-2);display:grid}.inbox-chat-counter label{font-size:.9rem;font-weight:600}.auth-wrapper{min-height:calc(100vh - 64px - var(--space-5) - 2.5rem);background:0 0;place-items:center;padding:0;display:grid}.auth-card{border-radius:var(--radius-lg);width:min(860px,100%);box-shadow:var(--shadow-soft);background:#fff;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.auth-card.register-mode{width:min(860px,100%)}.auth-brand{background:linear-gradient(165deg, #ff8a3d 0%, var(--color-brand) 100%);color:#fff;align-content:center;gap:var(--space-3);padding:2.2rem;display:grid;position:relative;overflow:hidden}.auth-brand:after{content:"";background:#ffffff2e;border-radius:999px;width:260px;height:260px;position:absolute;inset:auto -20% -30% auto}.auth-card.register-mode .auth-brand:after{inset:auto -8% -12% auto}.auth-brand h1{letter-spacing:-.01em;color:#fff;z-index:1;font-size:36px;font-weight:700;line-height:1.25;position:relative}.auth-brand p{color:#ffffffeb;z-index:1;font-size:16px;line-height:26px;position:relative}.auth-brand p.eyebrow{color:#ffffffe6;text-transform:uppercase;letter-spacing:.05em;z-index:1;margin-bottom:-8px;font-size:14px;font-weight:700;position:relative}.auth-form{gap:var(--space-3);background:#fff;padding:2rem;display:grid}.auth-form h2{color:var(--color-text);margin-bottom:4px;font-size:32px;font-weight:600}.auth-form .form-label{gap:0}.auth-form .form-label>span{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.auth-switch{cursor:pointer;text-align:left;font-size:14px;font-weight:500;text-decoration:none;display:inline-block;color:var(--color-text)!important;background:0 0!important;border:none!important;width:auto!important;height:auto!important;padding:0!important}.auth-switch:hover{color:var(--color-text)!important}.auth-switch-text{color:var(--color-text-muted)}.auth-switch-link{color:var(--color-brand);font-weight:600;text-decoration:underline}.auth-switch:hover .auth-switch-link{color:var(--color-brand-strong)}.form-label{color:var(--color-text);gap:6px;width:100%;font-size:14px;font-weight:600;display:grid}.form-label span{color:var(--color-text);font-size:14px;font-weight:600}.password-input-wrapper{align-items:center;width:100%;display:flex;position:relative}.password-input-wrapper input{padding-right:48px}.password-input-wrapper input[type=password]::-ms-reveal{width:0;height:0;display:none}.password-input-wrapper input[type=password]::-ms-clear{width:0;height:0;display:none}.password-toggle-btn{cursor:pointer;justify-content:center;align-items:center;display:flex;position:absolute;right:6px;color:var(--color-text-muted)!important;width:32px!important;height:32px!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:9999px!important;padding:0!important;transition:color .12s,background-color .12s!important}.password-toggle-btn:hover{background-color:var(--color-brand-soft)!important;color:var(--color-brand)!important}.password-toggle-btn svg{width:20px;height:20px}.toast-viewport{left:var(--space-4);bottom:var(--space-4);z-index:60;gap:var(--space-2);width:min(420px,100% - 2rem);display:grid;position:fixed}.toast{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);background:#fff;grid-template-columns:24px minmax(0,1fr) 32px;animation:.18s ease-out toast-enter;display:grid}.toast p{color:var(--color-text);margin:0;font-size:14px;line-height:21px}.toast-icon{font-size:22px}.toast.success{border-color:#86efac}.toast.success .toast-icon{color:var(--color-success)}.toast.error{border-color:#fca5a5}.toast.error .toast-icon{color:var(--color-danger)}.toast.info{border-color:var(--color-brand)}.toast.info .toast-icon{color:var(--color-brand)}.toast .icon-button{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.toast .icon-button:hover{color:var(--color-brand-strong);background:var(--color-brand-soft)}.toast .icon-button .material-symbols-outlined{font-size:20px}.icon-button{color:var(--color-text-muted);background:0 0;border:none;padding:0}.global-progress{z-index:100;opacity:0;pointer-events:none;background:0 0;height:4px;transition:opacity .12s;position:fixed;inset:0 0 auto;overflow:hidden}.global-progress.visible{opacity:1;background:var(--color-brand-soft)}.global-progress-bar{border-radius:0 var(--radius-pill) var(--radius-pill) 0;background:var(--color-brand);width:42%;height:100%;animation:1.15s ease-in-out infinite global-progress-move;display:block;box-shadow:0 0 8px #ff660052}@keyframes global-progress-move{0%{transform:translate(-110%)}55%{transform:translate(105%)}to{transform:translate(245%)}}@keyframes toast-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.global-progress-bar,.toast{animation:none}}table{border-collapse:collapse;width:100%}.table-scroll{overflow-x:auto}th,td{text-align:left;border-bottom:1px solid var(--color-border);padding:.6rem .4rem}.admin-user-meta{gap:.1rem;display:grid}.admin-user-meta span{color:var(--color-text-muted);font-size:.88rem}.admin-actions{flex-wrap:wrap;gap:.45rem;display:flex}.moderation-report-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.moderation-report-head{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.moderation-report-meta{color:var(--color-text-muted);font-size:.88rem}.moderation-target-link{text-underline-offset:2px;font-weight:600;text-decoration:underline}.moderation-context{white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto}.moderation-actions-block{gap:var(--space-3);margin-top:var(--space-2);display:grid}.moderation-actions{flex-wrap:wrap;gap:.45rem;display:flex}.moderation-archive{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);padding:var(--space-3);margin:0}.moderation-archive>summary{justify-content:space-between;align-items:center;gap:var(--space-2);color:var(--color-text);font-weight:600;list-style:none;display:flex}.moderation-archive>summary::-webkit-details-marker{display:none}.moderation-archive>summary:after{content:"expand_more";color:var(--color-text-muted);font-family:Material Symbols Outlined;font-size:1.35rem;transition:transform .2s}.moderation-archive[open]>summary:after{transform:rotate(180deg)}.moderation-archive-empty{margin:var(--space-3) 0 0}.moderation-decision-box{margin-top:var(--space-2);padding:var(--space-3);border-left:3px solid var(--color-border);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#fff}.moderation-report--rejected .moderation-decision-box{border-left-color:#dc2626}@media (width<=900px){.topbar,.inbox-chat-layout,.auth-card{grid-template-columns:1fr}.guest-banner{grid-template-columns:44px minmax(0,1fr)}.guest-banner .btn{grid-column:1/-1;width:100%}.address-grid:not(.address-grid-compact){grid-template-columns:1fr}}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.image-upload{gap:var(--space-2);display:grid}.image-upload label{color:var(--color-text);font-weight:700}.image-preview-container{border-radius:var(--radius-md);cursor:pointer;min-height:232px;padding:var(--space-4);width:min(620px,100%);text-align:inherit;color:inherit;box-shadow:inset 0 0 0 1px #ff66000d, var(--shadow-soft);background:linear-gradient(#fff4edb8,#fffffff5),#fff;border:1.5px dashed #f2b284;justify-content:center;justify-self:center;align-items:center;transition:border-color .12s,box-shadow .12s,transform .12s,background-color .12s;display:flex;position:relative;overflow:hidden}.image-preview-container:hover,.image-preview-container.is-dragging{border-color:var(--color-brand);background:linear-gradient(#fff4edf0,#fffffffa),#fff;transform:translateY(-1px);box-shadow:0 14px 34px -28px #ff660085}.image-preview-container:focus-visible{outline-offset:2px;outline:3px solid #ff660038}.image-preview{object-fit:cover;border-radius:calc(var(--radius-md) - 3px);width:100%;height:100%;max-height:400px}.image-placeholder{place-items:center;gap:var(--space-3);color:var(--color-text-muted);text-align:center;width:100%;max-width:520px;padding:var(--space-6) var(--space-4);display:grid}.image-placeholder p,.image-placeholder span{margin:0}.upload-icon{border-radius:var(--radius-md);width:58px;height:58px;color:var(--color-brand);background:#fff;border:1px solid #ff66003d;place-items:center;display:grid;box-shadow:0 12px 28px -22px #1118278c}.upload-icon svg{width:29px;height:29px}.upload-copy{gap:var(--space-1);justify-items:center;display:grid}.upload-title{color:var(--color-text);font-size:1rem;font-weight:700}.upload-description{max-width:34ch;color:var(--color-text-muted);font-size:.9rem;line-height:1.45}.upload-meta{min-height:28px;padding:.2rem var(--space-3);color:var(--color-text-muted);white-space:nowrap;background:#fff;border:1px solid #ff66002e;border-radius:999px;align-items:center;font-size:.8rem;font-weight:600;display:inline-flex}@media (width<=640px){.image-placeholder{padding:var(--space-5) var(--space-3)}.upload-meta{white-space:normal}}.image-info{right:var(--space-4);bottom:var(--space-4);left:var(--space-4);border-radius:var(--radius-sm);color:#fff;padding:var(--space-3) var(--space-4);background:#111827d1;position:absolute}.image-info p{margin:0;font-size:.9rem}.button-group{gap:var(--space-2);flex-wrap:wrap;display:flex}.btn-secondary{color:var(--color-text)!important;border-color:var(--color-border)!important;background:#f3f4f6!important}.btn-secondary:hover{background:#e5e7eb!important}.btn-outline{border-radius:var(--radius-md);color:var(--color-brand)!important;border:2px solid var(--color-brand)!important;background:0 0!important}.btn-outline:hover{background:var(--color-brand-soft)!important}.category-select{gap:var(--space-2);display:grid}.category-select label{color:var(--color-text);font-weight:700}.select-field{height:44px;padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;background:#fff;font-size:1rem}.select-field:focus{border-color:var(--color-brand);outline:none;box-shadow:0 0 0 3px #ff660024}.select-field option{padding:var(--space-2)}.owner-contact-card{border-radius:var(--radius-md);padding:var(--space-4);gap:var(--space-3);background:#f5fbf8;border:1px solid #cde8d8;display:grid}.owner-contact-card h3{color:var(--color-brand-strong);margin:0;font-size:1.1rem}.contact-info{gap:var(--space-3);display:grid}.contact-field{gap:var(--space-1);display:grid}.contact-field label{color:var(--color-brand-strong);font-size:.9rem;font-weight:700}.contact-field p{color:var(--color-text);margin:0}.contact-field a{color:var(--color-brand);text-decoration:none}.contact-field a:hover{text-decoration:underline}.contact-note{padding-top:var(--space-2);margin-top:var(--space-2);border-top:1px solid #b7e2ca}.contact-note p{color:#14532d;margin:0;font-size:.85rem}.info-box{border-left:4px solid var(--color-brand);padding:var(--space-3) var(--space-4);background:var(--color-brand-soft);border-radius:var(--radius-sm);gap:var(--space-2);display:grid}.info-box p{color:var(--color-brand-strong);margin:0}.dashboard{gap:var(--space-5);display:grid}.discover-page{gap:var(--space-4);grid-template-rows:auto auto;min-height:0}.content:has(>.discover-page){padding-bottom:var(--space-5)}.discover-hero{height:clamp(280px,43dvh,350px);min-height:280px;position:relative}.discover-hero-image{object-fit:cover;object-position:56% center;border:1px solid var(--color-border);border-radius:var(--radius-md);width:72%;height:100%;box-shadow:var(--shadow-soft);display:block;position:absolute;inset:0 0 0 auto}.discover-hero-copy{top:50%;left:var(--space-3);z-index:1;gap:var(--space-4);width:min(460px,44%);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;display:grid;position:absolute;transform:translateY(-50%);box-shadow:0 18px 44px -28px #11182773}.discover-hero-copy h1{max-width:19ch;color:var(--color-text);letter-spacing:0;font-size:34px;font-weight:700;line-height:1.2}.hero-playtomic{gap:var(--space-4);border-radius:calc(var(--radius-lg) + 4px);background:radial-gradient(circle at 100% 0,#2fa66e24,#0000 34%),linear-gradient(135deg,#fff 0%,#f4fbf7 100%);border:1px solid #1f8a5b29;padding:clamp(1.5rem,3vw,2.5rem);display:grid;box-shadow:0 18px 48px -30px #11182773}.hero-playtomic h1{max-width:16ch;color:var(--color-text);font-size:clamp(2.2rem,4vw,3.6rem)}.hero-playtomic p{color:var(--color-text-muted);max-width:70ch;font-size:1.05rem;line-height:1.6}.hero-playtomic .row{margin-top:var(--space-1)}.quick-start-section{gap:var(--space-3);display:grid}.quick-start-section h2{color:var(--color-text);margin:0;font-size:20px;font-weight:600}.quick-start-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.quick-start-card{gap:var(--space-2);min-height:156px;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);color:inherit;box-shadow:var(--shadow-soft);background:#fff;grid-template-rows:44px auto 1fr;text-decoration:none;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;position:relative}.quick-start-card:hover,.quick-start-card:focus-visible{border-color:var(--color-brand);outline:none;transform:translateY(-2px);box-shadow:0 16px 34px -24px #ff660073}.card-icon{border-radius:var(--radius-sm);color:#fff;justify-content:center;align-items:center;width:44px;height:44px;font-size:24px;display:flex}.card-icon svg{stroke:currentColor;width:24px;height:24px}.tools-icon,.workshops-icon,.inbox-icon{background:var(--color-brand)}.inbox-icon .material-symbols-outlined{font-size:24px}.quick-start-card h3{color:var(--color-text);margin:0;font-size:16px;font-weight:600;line-height:1.4}.quick-start-card p{color:var(--color-text-muted);max-width:34ch;margin:0;font-size:13px;line-height:1.5}.card-arrow{top:var(--space-4);right:var(--space-4);color:var(--color-brand);font-size:21px;font-weight:500;transition:transform .2s;position:absolute}.quick-start-card:hover .card-arrow{transform:translate(4px)}@media (width<=820px){.discover-page{grid-template-rows:auto;min-height:auto}.discover-hero{border:1px solid var(--color-border);border-radius:var(--radius-md);height:auto;min-height:420px;box-shadow:var(--shadow-soft);overflow:hidden}.discover-hero-image{object-position:65% center;width:100%;height:100%;box-shadow:none;border:0;border-radius:0;inset:0}.discover-hero-copy{top:auto;right:var(--space-4);bottom:var(--space-4);left:var(--space-4);width:auto;padding:var(--space-5);transform:none}.discover-hero-copy h1{font-size:30px}.quick-start-grid{grid-template-columns:1fr}.quick-start-card{min-height:164px}}@media (width<=520px){.discover-hero{min-height:390px}.discover-hero-copy{padding:var(--space-4)}.discover-hero-copy h1{font-size:26px}}.featured-section{gap:var(--space-3);display:grid}.featured-section h2{color:var(--color-text);margin:0;font-size:1.5rem}.horizontal-scroll{gap:var(--space-4);padding-bottom:var(--space-2);scroll-behavior:smooth;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.horizontal-scroll::-webkit-scrollbar{height:6px}.horizontal-scroll::-webkit-scrollbar-track{background:#f0f0f0;border-radius:999px}.horizontal-scroll::-webkit-scrollbar-thumb{background:var(--color-brand-soft);border-radius:999px}.horizontal-scroll::-webkit-scrollbar-thumb:hover{background:var(--color-brand)}.scroll-card{border:1px solid var(--color-border);border-radius:var(--radius-md);width:240px;box-shadow:var(--shadow-soft);cursor:pointer;background:#fff;flex:none;transition:all .2s;overflow:hidden}.scroll-card:hover{border-color:var(--color-brand);transform:translateY(-4px);box-shadow:0 14px 34px -24px #11182766}.scroll-card-image{background:var(--color-surface-soft);width:100%;height:160px;overflow:hidden}.scroll-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .2s}.scroll-card:hover .scroll-card-image img{transform:scale(1.05)}.scroll-card h4{padding:var(--space-3);color:var(--color-text);margin:0;padding-bottom:0;font-size:1rem}.scroll-card p{padding:0 var(--space-3) var(--space-3);color:var(--color-text-muted);margin:0;font-size:.85rem}.scroll-card-category{padding:0 var(--space-3);color:var(--color-text-muted)!important;font-size:.85rem!important}.scroll-card-status{padding:0 var(--space-3) var(--space-3);gap:var(--space-2);display:flex}.status-badge{background:#fff;border:1px solid;border-radius:999px;align-items:center;padding:.25rem .6rem;font-size:.75rem;font-weight:700;display:inline-flex}.status-badge.available{color:var(--color-success);background:#f0fdf4;border-color:#86efac}.status-badge.borrowed{color:var(--color-warning);background:#fff7ed;border-color:#fcd34d}.card-link{color:inherit;cursor:pointer;text-decoration:none;transition:all .3s;display:block}.card-link:hover{border-color:var(--color-brand);transform:translateY(-8px);box-shadow:0 20px 40px #1f8a5b24}.card-link:hover figure img{transform:scale(1.04)}.card-link figure img{transition:transform .2s}.card-link-hint{color:var(--color-brand);margin:var(--space-2) 0 0 0;font-size:.85rem;font-weight:600}.tool-detail-page{width:min(1120px,100%);padding:var(--space-5) var(--space-4);gap:var(--space-4);margin:0 auto;display:grid}.detail-topbar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.detail-topbar-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.back-button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);min-width:44px;height:44px;color:var(--color-text);cursor:pointer;padding:0 var(--space-3);background:0 0;border:1px solid #0000;margin-bottom:0;font-family:inherit;font-size:14px;font-weight:500;line-height:1;transition:color .12s,background-color .12s,border-color .12s;display:inline-flex}.tool-detail-page>.detail-topbar .back-button,.workshop-modal-toolbar .back-button{margin-bottom:0}.back-button:hover{color:var(--color-brand-strong);background:var(--color-brand-soft)}.back-button:active{background:#ffe8d8;border-color:#ff660059}.back-button:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px;color:var(--color-brand-strong);background:var(--color-brand-soft);box-shadow:none}.back-button-icon{font-variation-settings:"wght" 500;font-size:20px;line-height:1}.detail-report-trigger{border:1px solid var(--color-border,#e5e7eb);color:var(--color-text-muted,#6b7280);border-radius:var(--radius-sm);cursor:pointer;background:#fff;padding:.45rem .75rem;font-size:.875rem;font-weight:500;transition:color .15s,border-color .15s,background-color .15s}.detail-report-trigger:hover,.detail-report-trigger:focus-visible{color:var(--color-brand-strong,#166c47);border-color:var(--color-brand,#1f8a5b);background:var(--color-brand-soft,#ecfdf3)}.kebab-menu{display:inline-flex;position:relative}.kebab-menu-trigger{color:var(--color-text-muted,#6b7280)}.kebab-menu-panel{z-index:40;background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-width:11rem;animation:.18s both dropdownFade;position:absolute;top:calc(100% + 6px);overflow:hidden;box-shadow:0 12px 32px #0000001a}.kebab-menu--right .kebab-menu-panel{right:0}.kebab-menu--left .kebab-menu-panel{left:0}.kebab-menu-item{text-align:left;width:100%;color:var(--color-text);cursor:pointer;background:0 0;border:none;padding:.7rem .9rem;font-size:.92rem;display:block}.kebab-menu-item:hover:not(:disabled),.kebab-menu-item:focus-visible:not(:disabled){background:var(--color-brand-soft,#ecfdf3);color:var(--color-brand-strong,#166c47)}.kebab-menu-item:disabled{opacity:.5;cursor:not-allowed}.messenger-chat-header-actions{flex-shrink:0;align-items:center;gap:.35rem;margin-left:auto;display:inline-flex}.report-form-backdrop{z-index:120;padding:var(--space-4);background:#1118276b;place-items:center;display:grid;position:fixed;inset:0}.report-form-panel{border-radius:var(--radius-lg);width:min(100%,28rem);box-shadow:var(--shadow-soft);padding:var(--space-4);background:#fff}.report-form-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.report-form-head h2{margin:0;font-size:1.15rem}.report-form-actions{margin-top:var(--space-3);justify-content:flex-end}.workshop-modal-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:0;display:flex}.workshop-modal-toolbar .detail-topbar{width:100%;margin-bottom:0}.tool-hero{margin-bottom:var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.tool-hero img{object-fit:cover;width:100%;height:400px;display:block}.tool-status-badge{top:var(--space-4);left:var(--space-4);position:absolute}.tool-content-grid{gap:var(--space-5);grid-template-columns:1.2fr 1fr;align-items:start;display:grid}.tool-info-column{gap:var(--space-4);display:grid}.tool-header{gap:var(--space-2);display:grid}.tool-header h1{color:var(--color-text);margin:0;font-size:2.2rem;line-height:1.1}.tool-category{color:var(--color-text-muted);margin:0;font-size:1rem;font-weight:500}.tool-description{color:var(--color-text);margin:0;font-size:1rem;line-height:1.6}.owner-card{border-radius:var(--radius-md);padding:var(--space-4);background:#f5fbf8;border:1px solid #d4ebe2}.owner-card h3{margin:0 0 var(--space-3) 0;color:var(--color-text);text-transform:uppercase;letter-spacing:.5px;font-size:.95rem;font-weight:700}.owner-details{align-items:center;gap:var(--space-3);display:flex}.owner-info{flex:1}.owner-name{color:var(--color-text);font-size:1rem;font-weight:600}.owner-meta{color:var(--color-text-muted);margin-top:2px;font-size:.85rem}.tool-booking-column{position:sticky;top:100px}.playtomic-booking-panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;gap:24px;padding:24px;display:grid;box-shadow:0 8px 24px #2d2d2d14}.tool-detail-image{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);cursor:zoom-in;width:100%;height:300px;padding:0;transition:border-color .15s,box-shadow .15s;display:block;position:relative;overflow:hidden}.tool-detail-image:hover,.tool-detail-image:focus-visible{border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-soft);outline:none}.tool-detail-image img{object-fit:cover;width:100%;height:100%;display:block}.tool-detail-layout{gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(360px,420px);align-items:start;display:grid}.tool-detail-main{gap:var(--space-4);display:grid}.tool-detail-header{justify-items:start;gap:var(--space-1);display:grid}.tool-detail-header h1{margin:0;font-size:30px;font-weight:600;line-height:1.2}.tool-detail-category{min-height:26px;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);color:var(--color-text-muted);align-items:center;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.tool-detail-main .workshop-detail-section h2{margin:0;font-size:18px;font-weight:600;line-height:1.35}.tool-location-note{color:var(--color-text-muted)!important}.tool-detail-booking{top:var(--space-4);position:sticky}.playtomic-booking-panel h2,.playtomic-booking-panel h3{color:var(--color-text);margin:0;font-size:24px;font-weight:600;line-height:1.3}.playtomic-booking-panel.unavailable{text-align:center;background:linear-gradient(135deg,#fff7ed 0%,#fef3c7 100%);border-color:#fcd34d}.booking-section{gap:16px;display:grid}.booking-intro{margin:calc(var(--space-3) * -1) 0 0;color:var(--color-text-muted);font-size:14px;line-height:21px}.booking-section-title{gap:var(--space-3);grid-template-columns:4px 1fr;align-items:center;display:grid}.booking-section-title>span{background:var(--color-brand);border-radius:9999px;width:4px;height:26px}.booking-section-title strong{font-size:16px;font-weight:600;line-height:26px}.booking-fields-row{gap:var(--space-3);grid-template-columns:minmax(0,1fr) 128px;display:grid}.booking-fields-row label{gap:var(--space-2);min-width:0;display:grid}.booking-fields-row label>span{color:var(--color-text);font-size:14px;line-height:21px}.booking-divider{background:var(--color-border);height:1px}.booking-input{width:100%;height:44px;padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);background:#fff;font-family:inherit;font-size:14px;transition:border-color .2s}.booking-input:focus{border-color:var(--color-brand);outline:none;box-shadow:0 0 0 3px #ff660024}.booking-input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(45%)sepia(98%)saturate(3827%)hue-rotate(359deg)brightness(101%)contrast(106%)}.duration-picker{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);justify-content:space-between;align-items:center;gap:var(--space-2);background:#fff;display:flex}.duration-btn{border:1px solid var(--color-border);border-radius:var(--radius-md);width:44px;height:44px;color:var(--color-brand);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;transition:all .2s;display:flex}.duration-btn:hover{background:var(--color-brand);color:#fff;border-color:var(--color-brand)}.duration-btn:active{transform:scale(.95)}.duration-display{text-align:center;flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.duration-display strong{color:var(--color-text);font-size:1.5rem}.duration-label{color:var(--color-text-muted);font-size:.8rem}.booking-end-date{margin:var(--space-2) 0 0 0;color:var(--color-text-muted);font-size:.85rem}.booking-button{background:var(--color-brand);color:#fff;border-radius:var(--radius-md);width:100%;height:44px;padding:0 var(--space-4);cursor:pointer;text-align:center;border:none;justify-content:center;align-items:center;font-size:14px;font-weight:600;text-decoration:none;transition:background .18s,box-shadow .18s;display:inline-flex}.booking-button:hover:not(:disabled){background:var(--color-brand-strong);box-shadow:0 8px 16px #ff660038}.booking-button:disabled{opacity:.7;cursor:not-allowed}.booking-hint{color:var(--color-text-muted);text-align:left;margin:0;font-size:14px;line-height:21px}.booking-actions{gap:var(--space-3);padding-top:var(--space-2);display:grid}@media (width<=900px){.tool-detail-layout,.tool-content-grid{grid-template-columns:1fr}.tool-detail-booking,.tool-booking-column{position:static}.tool-header h1{font-size:1.8rem}}@media (width<=640px){.tool-detail-page{padding:var(--space-4) 0}.tool-detail-image{height:220px}.tool-hero img{height:250px}.tool-header h1{font-size:1.5rem}.tool-content-grid{gap:var(--space-4)}.playtomic-booking-panel{padding:var(--space-4) var(--space-3);gap:var(--space-3)}.playtomic-booking-panel h2{font-size:1.2rem}}.workshop-tools-builder{gap:var(--space-2);display:grid}.workshop-tools-input-row{gap:var(--space-2);grid-template-columns:minmax(170px,1fr) 1.6fr auto;align-items:center;display:grid}.workshop-tools-list{gap:var(--space-2);display:grid}.workshop-tools-item{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;display:flex}@media (width<=720px){.workshop-tools-input-row{grid-template-columns:1fr}}.equipment-select{gap:var(--space-2);display:grid}.equipment-select label{font-weight:700}.equipment-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.equipment-option{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:#fff;transition:all .16s;display:flex;overflow:hidden}.equipment-option input[type=checkbox]{cursor:pointer;width:20px;height:20px;accent-color:var(--color-brand);border-radius:4px;flex:0 0 20px;margin:0;padding:0}.equipment-option input[type=checkbox]:focus,.equipment-option input[type=checkbox]:focus-visible{border-color:initial;box-shadow:none;outline:none}.equipment-option:has(input[type=checkbox]:focus-visible){border-color:var(--color-brand)}.equipment-option.selected{border-color:var(--color-brand);background:var(--color-brand-soft)}.equipment-content{justify-content:center;align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;width:100%;min-width:0;display:flex}.equipment-icon{max-width:100%;font-size:1.8rem;overflow:hidden}.equipment-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--color-text);font-size:.9rem;font-weight:600;overflow:hidden}.photo-upload{gap:var(--space-2);display:grid}.photo-upload>label{font-weight:700}.photo-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.photo-item{border-radius:var(--radius-sm);aspect-ratio:1;background:var(--color-surface-soft);border:1px solid var(--color-border);position:relative;overflow:hidden}.photo-preview{object-fit:cover;width:100%;height:100%}.photo-remove{color:#fff;cursor:pointer;background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;width:1.8rem;height:1.8rem;font-size:1rem;font-weight:700;transition:background .16s;display:flex;position:absolute;top:.3rem;right:.3rem}.photo-remove:hover{background:#000000e6}.photo-label{color:#fff;text-align:center;background:#1f8a5bd9;padding:.3rem .4rem;font-size:.75rem;font-weight:700;position:absolute;bottom:0;left:0;right:0}.photo-upload-button{border:2px dashed var(--color-border);border-radius:var(--radius-sm);padding:var(--space-4);aspect-ratio:1;cursor:pointer;background:#fff;flex-direction:column;justify-content:center;align-items:center;min-height:160px;transition:all .16s;display:flex}.photo-upload-button:hover{border-color:var(--color-brand);background:var(--color-brand-soft)}.photo-placeholder{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.placeholder-icon{color:var(--color-brand);font-size:2rem;font-weight:700}.placeholder-text{color:var(--color-text);font-size:.9rem;font-weight:600}.meta-text{color:var(--color-text-muted);margin:0;font-size:.85rem}.capacity-input{align-items:center;gap:var(--space-3);width:fit-content;display:flex}.capacity-button{border:1px solid var(--color-border);width:2.2rem;height:2.2rem;color:var(--color-text);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;transition:all .16s;display:flex}.capacity-button:hover{border-color:var(--color-brand);color:var(--color-brand);background:var(--color-brand-soft)}.capacity-display{text-align:center;border:1px solid var(--color-border);width:3.5rem;padding:var(--space-2);font-size:1.1rem;font-weight:700}.time-slots-list{padding:var(--space-3);background:var(--color-surface-soft);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.slot-item{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:#fff;display:flex}.slot-item.slot-item-editing{align-items:stretch}.slot-edit-form{gap:var(--space-3);width:100%;display:grid}.slot-actions,.slot-edit-actions{gap:var(--space-2);flex-wrap:wrap}.slot-badge{color:var(--color-warning);margin-left:var(--space-2);background:#fed7aa;border-radius:4px;padding:.15rem .4rem;font-size:.75rem;font-weight:700;display:inline-block}.subtitle{color:var(--color-text-muted);margin:0;font-size:1rem}.btn.danger,button.danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn.danger:hover,button.danger:hover{background:#a31d1d;border-color:#a31d1d}.workshop-selector{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.workshop-card{border:2px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);text-align:left;cursor:pointer;gap:var(--space-2);background:#fff;flex-direction:column;width:100%;transition:all .16s;display:flex}.workshop-card:hover{border-color:var(--color-brand);box-shadow:0 4px 12px #1f8a5b1a}.workshop-card.selected{border-color:var(--color-brand);background:var(--color-brand-soft)}.workshop-card-content{gap:var(--space-2);flex-direction:column;display:flex}.workshop-card h3{color:var(--color-text);margin:0;font-size:1rem;font-weight:700}.workshop-card p{color:var(--color-text-muted);margin:0;font-size:.9rem}.workshop-card-media{border-radius:var(--radius-sm);aspect-ratio:16/9;background:var(--color-surface-soft);position:relative;overflow:hidden}.workshop-card-media img{object-fit:cover;width:100%;height:100%}.workshop-card-badge{color:var(--color-brand-strong);background:#ffffffe6;border-radius:999px;padding:.25rem .6rem;font-size:.72rem;font-weight:700;position:absolute;top:.75rem;left:.75rem}.workshop-card-heading{justify-content:space-between;gap:var(--space-2);align-items:start;display:flex}.workshop-card-rating{color:var(--color-brand);flex-shrink:0;font-size:.85rem;font-weight:700}.workshop-card-footer{justify-content:flex-start;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.workshop-dashboard{gap:var(--space-4);display:grid}.workshop-dashboard-stats{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.workshop-dashboard-stat{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);padding:var(--space-4);gap:var(--space-2);display:grid}.workshop-dashboard-stat span{color:var(--color-text-muted);font-size:.86rem}.workshop-dashboard-stat strong{font-size:1.5rem;line-height:1}.workshop-dashboard-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.workshop-card-public{min-height:100%}.search-page.has-workshop-detail>.offer-strip,.search-page.has-workshop-detail>.page-header,.search-page.has-workshop-detail>.surface,.search-page.has-workshop-detail>.cards{display:none}.search-page.has-workshop-detail{display:block}.workshop-detail-page{width:100%}.workshop-detail-page-content{gap:var(--space-4);width:min(1120px,100%);padding:var(--space-5) var(--space-4);margin:0 auto;display:grid}.workshop-detail-gallery{gap:var(--space-4);display:grid}.workshop-detail-gallery-grid{gap:var(--space-3);grid-template-columns:minmax(0,2.15fr) minmax(180px,.8fr);display:grid}.workshop-detail-gallery-grid.single{grid-template-columns:1fr}.workshop-detail-image-main,.workshop-detail-image-thumb{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);cursor:zoom-in;margin:0;padding:0;transition:border-color .15s,box-shadow .15s;overflow:hidden}.workshop-detail-image-main:hover,.workshop-detail-image-main:focus-visible,.workshop-detail-image-thumb:hover,.workshop-detail-image-thumb:focus-visible{border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-soft);outline:none}.workshop-detail-gallery img{object-fit:cover;width:100%;height:100%;display:block}.workshop-detail-image-main{height:280px}.workshop-detail-image-stack{gap:var(--space-3);grid-template-rows:1fr 1fr;display:grid}.workshop-detail-image-thumb{height:134px}.workshop-image-viewer{z-index:150;background:#111827e6;place-items:center;padding:clamp(56px,8vw,96px);display:grid;position:fixed;inset:0}.workshop-image-viewer-content{place-items:center;max-width:100%;max-height:100%;display:grid;position:relative}.workshop-image-viewer-content img{object-fit:contain;border-radius:var(--radius-md);width:auto;max-width:min(1200px,100%);height:auto;max-height:calc(100vh - 120px);display:block;box-shadow:0 20px 60px #00000059}.workshop-image-viewer-close,.workshop-image-viewer-nav{z-index:1;color:#fff;cursor:pointer;background:#111827b8;border:1px solid #ffffff59;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid;position:fixed}.workshop-image-viewer-close:hover,.workshop-image-viewer-close:focus-visible,.workshop-image-viewer-nav:hover,.workshop-image-viewer-nav:focus-visible{background:var(--color-brand);border-color:var(--color-brand);outline:none}.workshop-image-viewer-close{top:var(--space-4);right:var(--space-4)}.workshop-image-viewer-nav{top:50%;transform:translateY(-50%)}.workshop-image-viewer-nav.previous{left:var(--space-4)}.workshop-image-viewer-nav.next{right:var(--space-4)}.workshop-image-viewer-counter{left:50%;bottom:var(--space-3);border-radius:var(--radius-sm);color:#fff;background:#111827c7;padding:6px 10px;font-size:13px;font-weight:600;position:absolute;transform:translate(-50%)}.workshop-detail-layout{gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(360px,420px);align-items:start;display:grid}.workshop-detail-main,.workshop-detail-header,.workshop-detail-section{display:grid}.workshop-detail-main{gap:var(--space-4)}.workshop-detail-header{gap:var(--space-2)}.workshop-detail-header h2{margin:0;font-size:32px;line-height:1.2}.workshop-detail-section{gap:var(--space-2)}.workshop-detail-section h3{margin:0;font-size:18px;line-height:1.35}.workshop-detail-section p{color:var(--color-text);margin:0;font-size:14px;line-height:1.55}.workshop-detail-list{padding-left:var(--space-5);color:var(--color-text);margin:0;font-size:14px;line-height:1.5}.workshop-detail-list li span{margin-left:var(--space-2);color:var(--color-text-muted);font-size:12px;font-weight:600}.workshop-detail-list .is-muted{color:var(--color-text-muted)}.workshop-detail-chip-grid{gap:var(--space-2);flex-wrap:wrap;display:flex}.workshop-detail-chip{align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);background:#fff;font-size:14px;font-weight:600;display:inline-flex}.workshop-detail-chip .material-symbols-outlined{color:var(--color-brand);font-size:20px}.workshop-detail-provider{align-items:center;gap:var(--space-3);width:min(360px,100%);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);display:flex}.workshop-detail-provider>div{gap:2px;display:grid}.workshop-detail-provider strong{font-size:14px;line-height:1.4}.workshop-detail-provider span{color:var(--color-text-muted);font-size:13px}.workshop-calendar-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.workshop-calendar-navigation{gap:var(--space-1);display:flex}.workshop-calendar-navigation button{border:1px solid var(--color-border);border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text);background:#fff;place-items:center;padding:0;display:grid}.workshop-calendar-navigation button:hover:not(:disabled),.workshop-calendar-navigation button:focus-visible{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-strong)}.workshop-calendar-navigation button:disabled{opacity:.4}.workshop-calendar-navigation .material-symbols-outlined{font-size:20px}.workshop-calendar-instruction{color:var(--color-text-muted);font-size:13px;line-height:20px}.workshop-calendar-months{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.workshop-calendar-month{gap:var(--space-2);display:grid}.workshop-calendar-month h4{text-align:center;text-transform:capitalize;margin:0;font-size:14px;line-height:21px}.workshop-calendar{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.workshop-calendar-weekday{color:var(--color-text-muted);text-align:center;font-size:12px;font-weight:700}.workshop-calendar-day{border-radius:var(--radius-sm);background:var(--color-brand-soft);width:100%;min-width:0;height:28px;color:var(--color-brand-strong);border:1px solid #0000;font-size:12px;font-weight:600}.workshop-calendar-day.available:hover,.workshop-calendar-day.range-start,.workshop-calendar-day.range-end{border-color:var(--color-brand);background:var(--color-brand);color:#fff}.workshop-calendar-day.in-range:not(.range-start):not(.range-end){background:var(--color-brand-soft);color:var(--color-brand-strong);border-color:#ffd2b3}.workshop-calendar-day.unavailable{color:var(--color-text-muted);cursor:not-allowed;background:#f3f4f6;text-decoration:line-through}.workshop-calendar-day.empty{background:0 0;height:28px}.workshop-calendar-legend{gap:var(--space-3);color:var(--color-text-muted);flex-wrap:wrap;font-size:13px;display:flex}.workshop-calendar-legend span{align-items:center;gap:var(--space-1);display:inline-flex}.workshop-calendar-legend i{border-radius:9999px;width:10px;height:10px}.workshop-calendar-legend i.available{background:var(--color-brand)}.workshop-calendar-legend i.unavailable{background:#9ca3af}.workshop-detail-booking{top:var(--space-4);position:sticky}.workshop-modal-header{justify-content:space-between;align-items:start;gap:var(--space-3);display:flex}.workshop-modal-header h2{margin-bottom:.35rem}.workshop-modal-close{color:var(--color-text);background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:999px;padding:.4rem}.workshop-modal-body{gap:var(--space-3);display:grid}.workshop-modal-meta{gap:var(--space-2);flex-wrap:wrap;display:flex}.workshop-equipment-list{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));display:grid}.workshop-booking-tools{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.workshop-booking-tool-option{align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2);background:#fff;grid-template-columns:auto 1fr;display:grid}.workshop-booking-tool-option small{color:var(--color-text-muted);grid-column:2;font-size:.78rem}.workshop-booking-tool-option.is-disabled{opacity:.65}.workshop-equipment-chip{border:2px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2);min-height:74px;color:var(--color-text);text-align:center;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;display:flex}.workshop-equipment-chip .material-symbols-outlined{font-size:1.15rem}.workshop-equipment-chip small{color:var(--color-text-muted);font-size:.72rem;font-weight:500}.workshop-modal-footer{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.workshop-slots-count{color:var(--color-brand);font-size:.85rem;font-weight:600}.time-slots-display{padding:var(--space-3);background:var(--color-surface-soft);border-radius:var(--radius-sm);border:1px solid var(--color-border)}@media (width<=980px){.workshop-detail-layout,.workshop-detail-gallery-grid{grid-template-columns:1fr}.workshop-detail-image-stack{grid-template-rows:none;grid-template-columns:repeat(2,minmax(0,1fr))}.workshop-detail-booking{position:static}}@media (width<=720px){.workshop-calendar-months,.booking-fields-row{grid-template-columns:1fr}}@media (width<=640px){.workshop-detail-page-content{padding:var(--space-4) 0}.workshop-detail-header h2{font-size:24px}.workshop-detail-image-main{height:220px;min-height:0}.workshop-detail-image-stack{grid-template-columns:1fr}.workshop-detail-image-thumb{height:160px}.workshop-image-viewer{padding:64px var(--space-3)}.workshop-image-viewer-nav{width:40px;height:40px}.workshop-image-viewer-nav.previous{left:var(--space-2)}.workshop-image-viewer-nav.next{right:var(--space-2)}}.page-header{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.page-header h1{flex:1;min-width:200px;margin:0}.material-symbols-outlined{text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;vertical-align:middle;direction:ltr;font-family:Material Symbols Outlined;font-size:20px;font-style:normal;font-weight:400;line-height:1;display:inline-flex}button .material-symbols-outlined{font-size:18px}.capacity-button .material-symbols-outlined{font-size:20px}.equipment-icon{font-size:24px!important}.placeholder-icon{font-size:32px!important}.photo-remove .material-symbols-outlined{font-size:16px}.inbox-messenger-page{gap:var(--space-4);display:grid}.inbox-messenger-title-row{align-items:baseline;gap:var(--space-3);display:flex}.inbox-loading-hint{color:var(--color-text-muted);font-size:.9rem}.messenger-shell{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);height:clamp(22rem,100dvh - 11rem,52rem);min-height:22rem;box-shadow:var(--shadow-soft);grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(260px,340px) 1fr;display:grid;overflow:hidden}.messenger-thread-list{border-right:1px solid var(--color-border);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#fafbfc;flex-direction:column;min-height:0;display:flex;overflow:hidden auto}.messenger-thread-item{align-items:flex-start;gap:var(--space-3);text-align:left;width:100%;padding:var(--space-3) var(--space-3);border:none;border-bottom:1px solid var(--color-border);cursor:pointer;color:var(--color-text);background:0 0;outline:none;transition:background .12s,box-shadow .12s;display:flex}.messenger-thread-item:focus-visible{outline:2px solid var(--color-brand);outline-offset:-2px}.messenger-thread-item.active{box-shadow:inset 3px 0 0 var(--color-brand);background:#0f172a0e}.messenger-thread-item--unread{box-shadow:inset 4px 0 0 var(--color-highlight);background:linear-gradient(95deg,#1f8a5b1c 0%,#fafbfcfa 52%)}.messenger-thread-item--unread:hover{background:linear-gradient(95deg,#1f8a5b26 0%,#f6fbf7 52%)}.messenger-thread-item--unread.active{box-shadow:inset 4px 0 0 var(--color-highlight);background:linear-gradient(95deg,#1f8a5b29 0%,#ecfbf1 55%)}.messenger-thread-item .msg-avatar{border-color:#0f172a1f}.messenger-thread-item .msg-avatar-fallback{color:#334155;background:linear-gradient(145deg,#eef2f6,#f3f4f6)}.messenger-thread-body{flex:1;gap:.15rem;min-width:0;display:grid}.messenger-thread-top{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.messenger-thread-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:600;overflow:hidden}.messenger-thread-item--unread .messenger-thread-preview{color:var(--color-text);font-weight:600}.messenger-thread-time{color:var(--color-text-muted);flex-shrink:0;font-size:.78rem}.messenger-thread-sub{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.messenger-thread-preview{color:#374151;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.msg-avatar{object-fit:cover;border:1px solid var(--color-border);border-radius:999px;flex-shrink:0}.msg-avatar-sm{width:2rem;height:2rem}.msg-avatar-md{width:2.75rem;height:2.75rem}.msg-avatar-lg{width:3rem;height:3rem}.msg-avatar-fallback{color:var(--color-brand-strong);background:linear-gradient(145deg,#eaf7f1,#f3f4f6);justify-content:center;align-items:center;font-size:.78rem;font-weight:800;display:inline-flex}.messenger-msg-row .msg-avatar-fallback,.messenger-chat-header .msg-avatar-fallback{color:#1f2937;background:linear-gradient(145deg,#eef2f6,#e8ecf2);border-color:#0f172a1f}.msg-avatar-lg.msg-avatar-fallback{font-size:.95rem}.messenger-chat{background:#fff;flex-direction:column;min-height:0;display:flex;overflow:hidden}.messenger-chat-header{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.messenger-chat-header-text{flex:1;gap:.15rem;min-width:0;display:grid}.messenger-chat-header-text strong{color:var(--color-text);letter-spacing:-.02em;font-size:1.06rem;font-weight:700}.messenger-chat-header-sub{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.messenger-chat-scroll{overscroll-behavior:contain;min-height:0;padding:var(--space-4);background:linear-gradient(#f9fafb 0%,#fff 28%);flex:1;overflow-y:auto}.messenger-chat-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);flex-shrink:0}.messenger-msg-row{align-items:flex-end;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.messenger-msg-row.incoming{justify-content:flex-start}.messenger-msg-row.outgoing{justify-content:flex-end}.messenger-msg-avatar-col{flex-shrink:0;width:2rem}.messenger-msg-bubble-col{max-width:min(100%,26rem)}.messenger-msg-row.outgoing .messenger-msg-bubble-col{margin-left:auto}.request-bubble-card{gap:var(--space-3);display:grid}.request-bubble-visual{gap:var(--space-3);align-items:flex-start;display:flex}.request-bubble-thumb{border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--color-border);flex-shrink:0;width:4.5rem;height:4.5rem}.request-bubble-intro{gap:.25rem;min-width:0;display:grid}.request-bubble-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--color-brand-strong);background:var(--color-brand-soft);border-radius:999px;align-self:flex-start;padding:.15rem .45rem;font-size:.72rem;font-weight:800;display:inline-flex}.request-bubble-title{margin:0;font-family:Fraunces,serif;font-size:1.05rem;font-weight:700}.request-bubble-line{color:var(--color-text);margin:0;font-size:.88rem;line-height:1.35}.request-bubble-status{color:var(--color-text-muted);margin:0;font-size:.82rem}.request-bubble-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.request-bubble-actions.proposal-reply-actions{margin-top:var(--space-2)}.proposal-reply-block{gap:0;display:grid}.request-bubble-counter.proposal-counter-inline{margin-top:var(--space-1)}.request-bubble-counter{gap:var(--space-2);padding-top:var(--space-2);border-top:1px dashed var(--color-border);display:grid}.request-bubble-counter-label{color:var(--color-text-muted);font-size:.82rem;font-weight:700}.request-bubble-counter-row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.request-bubble-counter-datetime input[type=date],.request-bubble-counter-datetime input[type=time]{flex:1;min-width:7.5rem}.request-bubble-counter-datetime input[type=date]{min-width:10rem}@media (width<=900px){.messenger-shell{grid-template-columns:unset;grid-template-rows:unset;flex-direction:column;height:auto;min-height:20rem;max-height:calc(100dvh - 8rem);display:flex}.messenger-thread-list{border-right:none;border-bottom:1px solid var(--color-border);flex:0 auto;min-height:0;max-height:min(42vh,18rem)}.messenger-chat{flex:auto;min-height:0}}.inbox-messenger-page{gap:var(--space-3)}.inbox-messenger-title-row h1{letter-spacing:0;font-size:30px;font-weight:600}.messenger-shell{border-radius:var(--radius-md);height:clamp(28rem,100dvh - 12rem,50rem);min-height:28rem;box-shadow:var(--shadow-soft);grid-template-columns:minmax(250px,29%) minmax(0,1fr)}.messenger-thread-list{background:var(--color-surface)}.messenger-thread-item{min-height:88px;padding:var(--space-3) var(--space-4);align-items:center;transition:background .12s,box-shadow .12s}.messenger-thread-item:hover{background:var(--color-brand-soft)}.messenger-thread-item--unread,.messenger-thread-item--unread:hover{background:var(--color-brand-soft);box-shadow:inset 3px 0 0 var(--color-highlight)}.messenger-thread-item.active,.messenger-thread-item--unread.active{background:var(--color-brand-soft);box-shadow:inset 3px 0 0 var(--color-brand)}.messenger-thread-item.active .msg-avatar{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text)}.messenger-thread-item.active .messenger-thread-name{color:var(--color-text);font-weight:700}.messenger-thread-item--unread .messenger-thread-time{color:var(--color-brand-strong);font-weight:600}.messenger-thread-item .msg-avatar-fallback,.messenger-msg-row .msg-avatar-fallback,.messenger-chat-header .msg-avatar-fallback{background:var(--color-surface-soft);color:var(--color-text);border-color:var(--color-border)}.messenger-thread-body{gap:var(--space-1)}.messenger-thread-name{font-size:16px;font-weight:600;line-height:26px}.messenger-thread-item--unread .messenger-thread-name{font-weight:700}.messenger-thread-sub,.messenger-thread-preview{font-size:14px;line-height:21px}.messenger-thread-sub{color:var(--color-text-muted)}.messenger-thread-preview{color:var(--color-text);font-weight:400}.messenger-thread-time{font-size:14px;line-height:21px}.messenger-chat-header{min-height:72px;padding:var(--space-3) var(--space-4)}.messenger-chat-header-text strong{letter-spacing:0;font-size:24px;font-weight:600}.messenger-chat-header-text{gap:var(--space-1)}.messenger-chat-header-sub{font-size:14px;line-height:21px}.messenger-chat-scroll{padding:var(--space-4);background:var(--color-surface-soft)}.messenger-msg-row{align-items:flex-start;gap:var(--space-3);width:min(100%,540px);margin-bottom:var(--space-4)}.messenger-msg-row.outgoing{margin-left:auto}.messenger-msg-avatar-col{margin-top:var(--space-3);width:44px}.messenger-msg-row .msg-avatar-sm{width:44px;height:44px}.messenger-msg-bubble-col{flex:1;min-width:0;max-width:none}.request-message-card{gap:var(--space-4);width:100%;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);transition:box-shadow .12s,border-color .12s;display:grid;box-shadow:0 8px 24px #2d2d2d14}.request-message-card:hover{box-shadow:0 12px 28px #2d2d2d1f}.request-message-card:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.request-message-card--unread{background:var(--color-surface);border-color:var(--color-border);box-shadow:0 8px 24px #2d2d2d14}.messenger-thread-item--unread,.messenger-thread-item--unread:hover{box-shadow:none;background:0 0}.messenger-thread-item--unread.active{background:var(--color-brand-soft);box-shadow:inset 3px 0 0 var(--color-brand)}.messenger-thread-item--unread .messenger-thread-name,.messenger-thread-item--unread .messenger-thread-preview,.messenger-thread-item--unread .messenger-thread-time{color:inherit;font-weight:inherit}.messenger-thread-avatar-wrap{flex:none;display:inline-flex;position:relative}.messenger-thread-unread-badge{border:2px solid var(--color-surface);background:var(--color-brand);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:1rem;height:1rem;font-size:.625rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-.2rem;right:-.3rem}.request-message-card-head{align-items:flex-start;gap:var(--space-4);display:flex}.request-message-card-icon{border-radius:var(--radius-md);background:var(--color-brand);color:#fff;width:44px;height:44px;box-shadow:0 2px 0 var(--color-brand-strong);flex:0 0 44px;place-items:center;font-size:22px;font-weight:700;display:grid}.request-message-card-icon .material-symbols-outlined{font-size:22px;font-weight:600}.request-message-card-heading{gap:4px;min-width:0;display:grid}.request-message-card-heading>span{color:var(--color-brand-strong);font-size:14px;font-weight:600;line-height:21px}.request-message-card-heading h3{color:var(--color-text);letter-spacing:0;overflow-wrap:anywhere;font-size:24px;font-weight:700;line-height:1.2}.request-message-card-metadata{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.request-message-card-metadata>div{min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);gap:4px;display:grid}.request-message-card-metadata span{color:var(--color-text-muted);font-size:14px;font-weight:600;line-height:21px}.request-message-card-metadata strong{overflow-wrap:anywhere;color:var(--color-text);font-size:16px;font-weight:400;line-height:26px}.request-card-form-grid{gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(8rem,.55fr);display:grid}.request-card-form-grid--workshop{grid-template-columns:minmax(0,1fr) minmax(7rem,.65fr)}.request-card-form-grid label{gap:var(--space-2);min-width:0;color:var(--color-text);font-size:14px;display:grid}.request-card-form-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.request-card-send-button{background:var(--color-brand);color:#fff;border:none;place-items:center;width:44px;height:44px;padding:0;transition:background .12s,border-color .12s;display:grid}.request-card-send-button:hover{background:var(--color-brand-strong)}.request-card-send-button .material-symbols-outlined{font-size:20px}.messenger-chat-footer{min-height:68px;padding:var(--space-3) var(--space-4);background:var(--color-surface);align-items:center;display:flex}.messenger-chat-footer--actions,.messenger-chat-footer--completion{justify-content:flex-end;gap:var(--space-2)}.messenger-chat-footer--actions button{min-height:44px}.messenger-chat-footer--actions .secondary{height:44px;padding:0 var(--space-4);border:2px solid var(--color-brand);border-radius:var(--radius-md);color:var(--color-brand);background:0 0;font-weight:600}.messenger-chat-footer--actions .secondary:hover{background:var(--color-brand-soft);border-color:var(--color-brand-strong);color:var(--color-brand-strong)}.inbox-reject-button{color:var(--color-danger);border-color:#0000}.messenger-chat-header-actions .icon-button{width:44px;height:44px}@media (width<=900px){.messenger-shell{height:auto;max-height:none}.messenger-thread-list{max-height:16rem}.messenger-chat{min-height:34rem}}@media (width<=640px){.request-message-card-metadata,.request-card-form-grid,.request-card-form-grid--workshop{grid-template-columns:1fr}.messenger-chat-header-text strong,.request-message-card-heading h3{font-size:20px}.messenger-chat-header{align-items:flex-start}.messenger-chat-header-actions{gap:0}.messenger-chat-footer--actions{flex-direction:column;align-items:stretch}.messenger-chat-footer--actions button{width:100%}}
