:root{--color-primary: #f59e0b;--color-primary-light: #fbbf24;--color-primary-dark: #d97706;--color-primary-surface: rgba(245, 158, 11, .08);--color-success: #14b8a6;--color-warning: #f97316;--color-danger: #f43f5e;--color-bg: #f8fafc;--color-bg-card: #ffffff;--color-bg-elevated: #ffffff;--color-text: #111827;--color-text-secondary: #6b7280;--color-text-muted: #9ca3af;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--glass-bg: rgba(255, 255, 255, .65);--glass-border: rgba(255, 255, 255, .4);--glass-blur: blur(20px) saturate(180%);--color-transport: #7c3aed;--color-spot: #14b8a6;--color-meal: #f97316;--color-hotel: #ec4899;--color-activity: #f59e0b;--header-height: 52px;--bottom-nav-height: 0px;--content-max-width: 640px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--font-sans: "Inter", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-caption: .8125rem;--font-size-body: 1rem;--font-size-card-title: 1.125rem;--font-size-page-title: 1.75rem;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.375rem;--font-size-2xl: 1.75rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(245, 158, 11, .04), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 14px rgba(245, 158, 11, .06), 0 2px 6px rgba(0, 0, 0, .04);--shadow-lg: 0 8px 30px rgba(245, 158, 11, .08), 0 4px 12px rgba(0, 0, 0, .06);--transition-fast: .15s ease;--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--color-primary: #fbbf24;--color-primary-light: #fcd34d;--color-primary-dark: #f59e0b;--color-primary-surface: rgba(251, 191, 36, .1);--color-success: #2dd4bf;--color-warning: #fb923c;--color-danger: #fb7185;--color-bg: #121212;--color-bg-card: #1e1e1e;--color-bg-elevated: #2a2a2a;--color-text: #f3f4f6;--color-text-secondary: #9ca3af;--color-text-muted: #6b7280;--color-border: #2a2a2a;--color-border-light: #1e1e1e;--glass-bg: rgba(30, 30, 30, .6);--glass-border: rgba(255, 255, 255, .1);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 14px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:1.6;color:var(--color-text);background:var(--color-bg);min-height:100dvh;overflow-x:hidden}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;background:none}img{max-width:100%;display:block}.app-header{position:sticky;top:0;z-index:100;height:var(--header-height);display:flex;align-items:center;gap:var(--spacing-sm);padding:0 var(--spacing-md);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);color:var(--color-text);border-bottom:1px solid var(--glass-border)}.app-header__logo{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-sm);background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;flex-shrink:0}.app-header__back{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:var(--radius-sm);color:var(--color-primary);transition:all var(--transition-fast);flex-shrink:0;background:var(--color-primary-surface)}.app-header__back:hover{background:#f59e0b1f;text-decoration:none}.app-header__back:active{transform:scale(.92)}.app-header__titles{flex:1;min-width:0;display:flex;flex-direction:column;gap:0}.app-header__brand{font-size:.625rem;font-weight:var(--font-weight-extrabold);letter-spacing:1.5px;text-transform:uppercase;color:var(--color-primary);line-height:1}.app-header__title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;color:var(--color-text);letter-spacing:-.01em}.app-header__sync-status{display:inline-flex;align-items:center;margin-top:2px;font-size:.7rem;font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.app-header__sync-status--syncing,.app-header__sync-status--conflict-retrying{color:#d97706}.app-header__sync-status--synced{color:#15803d}.app-header__sync-status--error,.app-header__sync-status--readonly{color:#b91c1c}.app-header__theme-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:var(--radius-sm);color:var(--color-text-secondary);transition:all var(--transition-fast);flex-shrink:0;background:transparent;border:none;cursor:pointer;padding:0}.app-header__theme-toggle:hover{background:var(--color-primary-surface);color:var(--color-primary)}.app-header__theme-toggle:active{transform:scale(.92)}.app-header__actions{display:flex;align-items:center;gap:var(--spacing-xs)}.app-header__action-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--color-primary-surface);color:var(--color-primary);font-size:1.15rem;line-height:1;transition:all var(--transition-fast)}.app-header__action-btn:hover{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.app-header__action-btn:active,.app-header__action-btn--active{transform:scale(.95)}.app-header__action-btn:disabled{opacity:.45;cursor:not-allowed}.app-main{max-width:var(--content-max-width);margin:0 auto;padding:var(--spacing-md);padding-bottom:calc(var(--bottom-nav-height) + var(--spacing-xl));min-height:calc(100dvh - var(--header-height))}.readonly-banner{margin:0 auto;max-width:var(--content-max-width);background:#fff3cd;color:#6d4c00;border:1px solid #f0d98b;border-radius:var(--radius-md);padding:10px 12px;margin-top:var(--spacing-sm)}.day-tabs{display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) 0 var(--spacing-md) 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.day-tabs::-webkit-scrollbar{display:none}.day-tab{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background:var(--color-bg-card);border:2px solid var(--color-border);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);transition:all var(--transition-fast);white-space:nowrap;cursor:pointer;min-width:fit-content}.day-tab:hover{border-color:var(--color-primary-light);color:var(--color-primary)}.day-tab--active,.day-tab--active:hover,.day-tab--active:focus,.day-tab--active:active{background:var(--color-primary)!important;border-color:var(--color-primary)!important;color:#fff!important;font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-md)}.day-tab--active .day-tab__date{opacity:1;color:#fff!important}.day-tab__label{font-weight:var(--font-weight-semibold)}.day-tab__date{font-size:var(--font-size-xs);opacity:.8}.timeline{position:relative;padding-left:28px}.timeline:before{content:"";position:absolute;left:12px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--color-border-light) 0%,var(--color-border) 10%,var(--color-border) 90%,var(--color-border-light) 100%)}.timeline-card{position:relative;margin-bottom:var(--spacing-md);animation:fadeSlideIn var(--transition-slow) both}.timeline-card:nth-child(1){animation-delay:0ms}.timeline-card:nth-child(2){animation-delay:50ms}.timeline-card:nth-child(3){animation-delay:.1s}.timeline-card:nth-child(4){animation-delay:.15s}.timeline-card:nth-child(5){animation-delay:.2s}.timeline-card:nth-child(6){animation-delay:.25s}.timeline-card:nth-child(7){animation-delay:.3s}.timeline-card:nth-child(8){animation-delay:.35s}.timeline-card:nth-child(9){animation-delay:.4s}.timeline-card:nth-child(10){animation-delay:.45s}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.timeline-card__time{display:inline-block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);font-variant-numeric:tabular-nums;margin-bottom:var(--spacing-xs);letter-spacing:.5px}.timeline-card__dot{position:absolute;left:-22px;top:24px;width:12px;height:12px;border-radius:var(--radius-full);border:3px solid var(--color-primary);background:var(--color-bg);z-index:1}.timeline-card__dot--transport{border-color:var(--color-transport)}.timeline-card__dot--spot{border-color:var(--color-spot)}.timeline-card__dot--meal{border-color:var(--color-meal)}.timeline-card__dot--hotel{border-color:var(--color-hotel)}.timeline-card__dot--activity{border-color:var(--color-activity)}.timeline-card__body{display:block;background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm);border:1px solid var(--glass-border);transition:all var(--transition-fast);color:inherit;text-decoration:none}.timeline-card__body:hover{box-shadow:var(--shadow-md);border-color:var(--color-border);transform:translateY(-1px);text-decoration:none}.timeline-card__header{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.timeline-card__icon{font-size:1.5rem;line-height:1;flex-shrink:0}.timeline-card__info{flex:1;min-width:0}.timeline-card__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1.3;color:var(--color-text)}.timeline-card__desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px}.timeline-card__route{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.timeline-card__route-arrow{color:var(--color-primary);font-weight:var(--font-weight-bold)}.timeline-card__duration{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-border-light);padding:2px 8px;border-radius:var(--radius-full);margin-top:var(--spacing-sm)}.timeline-card__chevron{flex-shrink:0;color:var(--color-text-muted);font-size:1.125rem;align-self:center}.member-badges{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.member-badge{display:inline-flex;align-items:center;gap:2px;font-size:var(--font-size-xs);padding:2px 8px;border-radius:var(--radius-full);font-weight:var(--font-weight-medium)}.member-badge--join{background:#dcfce7;color:#166534}.member-badge--leave{background:#fee2e2;color:#991b1b}[data-theme=dark] .member-badge--join{background:#14532d;color:#86efac}[data-theme=dark] .member-badge--leave{background:#450a0a;color:#fca5a5}.event-detail{padding-bottom:var(--spacing-xl)}.event-detail__hero{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.event-detail__icon{font-size:2.5rem;line-height:1}.event-detail__meta{flex:1}.event-detail__type-tag{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;padding:2px 10px;border-radius:var(--radius-full);background:var(--color-primary-surface);color:var(--color-primary);margin-bottom:var(--spacing-xs)}.event-detail__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:1.3}.event-detail__time{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px}.event-detail__section{margin-bottom:var(--spacing-lg)}.event-detail__section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border-light)}.link-list{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-sm)}.link-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.link-item:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-sm);text-decoration:none}.link-item__icon{font-size:1.125rem}.link-item__label{flex:1}.link-item__external{color:var(--color-text-muted);font-size:.875rem}.route-display{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md)}.route-display__point{flex:1;text-align:center}.route-display__name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-base)}.route-display__arrow{font-size:1.5rem;color:var(--color-primary);flex-shrink:0}.memo-block{padding:var(--spacing-md);background:var(--color-primary-surface);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.7;white-space:pre-wrap}.map-button{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:all var(--transition-fast);text-decoration:none}.map-button:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-md);text-decoration:none}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:var(--spacing-md);color:var(--color-text-secondary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:var(--spacing-md);text-align:center;padding:var(--spacing-xl)}.error-container__icon{font-size:3rem}.error-container__message{color:var(--color-text-secondary);font-size:var(--font-size-sm)}@media(max-width:480px){.timeline{padding-left:24px}.timeline-card__dot{left:-18px;width:10px;height:10px}.timeline:before{left:10px}}@media(min-width:768px){.app-main{padding:var(--spacing-lg)}}.bottom-nav{position:fixed;bottom:calc(12px + env(safe-area-inset-bottom,0px));left:var(--spacing-md);right:var(--spacing-md);z-index:100;display:flex;height:64px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--color-text-muted);text-decoration:none;font-size:var(--font-size-xs);transition:color var(--transition-fast),transform var(--transition-fast);-webkit-tap-highlight-color:transparent;position:relative;min-width:44px;min-height:44px}.bottom-nav__item:hover{color:var(--color-text-secondary);text-decoration:none}.bottom-nav__item:active{transform:scale(.88)}.bottom-nav__item--active{color:var(--color-primary)}.bottom-nav__item--active .bottom-nav__icon{background:var(--color-primary-surface);border-radius:var(--radius-full);padding:4px 16px}.bottom-nav__icon{display:flex;align-items:center;justify-content:center;line-height:1;transition:all var(--transition-base);padding:4px 16px;border-radius:var(--radius-full)}.bottom-nav__label{font-size:.6rem;font-weight:var(--font-weight-medium);letter-spacing:.2px}.bottom-nav__item--active .bottom-nav__label{font-weight:var(--font-weight-bold)}.layout--with-nav .app-main{padding-bottom:calc(64px + 12px + env(safe-area-inset-bottom,0px) + var(--spacing-xl))}.page-summary{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-primary-surface);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);font-weight:var(--font-weight-semibold)}.page-summary__icon{font-size:1.5rem}.page-summary__text{font-size:var(--font-size-base)}.page-summary__sub{font-weight:var(--font-weight-normal);color:var(--color-text-secondary);margin-left:var(--spacing-xs)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl) var(--spacing-md);min-height:200px;text-align:center}.empty-state__icon{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.6}.empty-state__text{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.empty-state__sub{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--spacing-xs)}.packing-section{margin-bottom:var(--spacing-md);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--glass-border)}.packing-section__header{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);background:var(--color-bg-card);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);cursor:pointer;transition:background var(--transition-fast)}.packing-section__header:hover{background:var(--color-border-light)}.packing-section__icon{font-size:1.25rem}.packing-section__label{flex:1;text-align:left}.packing-section__count{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text-muted);background:var(--color-border-light);padding:2px 8px;border-radius:var(--radius-full)}.packing-section__chevron{color:var(--color-text-muted);font-size:var(--font-size-sm)}.packing-list{list-style:none;border-top:1px solid var(--color-border-light)}.packing-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border-light);transition:background var(--transition-fast)}.packing-item:hover{background:var(--color-border-light)}.packing-item--empty{justify-content:center;color:var(--color-text-muted);font-size:var(--font-size-sm);padding:var(--spacing-md)}.packing-item__info{flex:1;min-width:0}.packing-item__name{font-size:var(--font-size-sm);display:flex;align-items:center;gap:var(--spacing-xs)}.packing-item__shared{font-size:.875rem}.packing-item__checks{display:flex;gap:4px}.packing-check{position:relative;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:var(--radius-full);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);background:transparent;padding:0}.packing-check:active{animation:checkBounce .3s ease}@keyframes checkBounce{0%{transform:scale(1)}40%{transform:scale(.85)}70%{transform:scale(1.08)}to{transform:scale(1)}}.packing-check:hover{border-color:var(--color-primary-light)}.packing-check--checked{border-color:var(--color-success);background:var(--color-success)}.packing-check__icon{font-size:.75rem}.packing-check--checked .packing-check__icon{opacity:.3}.packing-check__mark{position:absolute;font-size:.75rem;color:#fff;font-weight:var(--font-weight-bold)}.packing-item__remove{width:28px;height:28px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:1rem;cursor:pointer;transition:all var(--transition-fast);opacity:0;background:transparent;border:none;padding:0}.packing-item__edit{width:28px;height:28px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast);opacity:0;background:transparent;border:none;padding:0}.packing-item:hover .packing-item__edit,.packing-item:hover .packing-item__remove{opacity:1}.packing-item__edit:hover{color:var(--color-primary);background:var(--color-primary-surface)}.packing-item__remove:hover{color:#dc2626;background:#fee2e2}.accommodation-day-group{margin-bottom:var(--spacing-lg)}.accommodation-day-group__title{display:flex;align-items:baseline;gap:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-xs);border-bottom:2px solid var(--color-primary)}.accommodation-day-group__date{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text-muted)}.accommodation-card{background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--glass-border);overflow:hidden;margin-bottom:var(--spacing-md);box-shadow:var(--shadow-sm)}.accommodation-card__header{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-primary-surface)}.accommodation-card__icon{font-size:2rem;line-height:1}.accommodation-card__title-area{flex:1}.accommodation-card__name{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);margin:0}.accommodation-card__reservation{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px;display:block}.accommodation-card__details{padding:var(--spacing-md)}.accommodation-card__times{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.accommodation-card__time-item{flex:1;text-align:center}.accommodation-card__time-label{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:2px}.accommodation-card__time-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary)}.accommodation-card__time-separator{color:var(--color-text-muted);font-size:1.25rem}.accommodation-card__address,.accommodation-card__phone{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.accommodation-card__rooms{margin-top:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border-light)}.accommodation-card__rooms-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);margin:0 0 var(--spacing-sm) 0}.accommodation-card__room{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.accommodation-card__room-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-width:80px}.accommodation-card__room-members{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.accommodation-card__member-badge{font-size:var(--font-size-xs);background:var(--color-border-light);padding:2px 8px;border-radius:var(--radius-full)}.accommodation-card__actions{display:flex;border-top:1px solid var(--color-border-light)}.accommodation-card__action{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary);transition:background var(--transition-fast);text-decoration:none}.accommodation-card__action:hover{background:var(--color-primary-surface);text-decoration:none}.accommodation-card__action+.accommodation-card__action{border-left:1px solid var(--color-border-light)}.room-edit-form{padding:var(--spacing-md)}.room-edit-block{border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);background:var(--color-bg)}.expense-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.expense-card{position:relative;background:var(--color-bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.expense-card__header{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.expense-card__category-icon{font-size:1.5rem;line-height:1}.expense-card__info{flex:1;min-width:0}.expense-card__title{display:block;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base)}.expense-card__category-label{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted)}.expense-card__amount-area{text-align:right;flex-shrink:0}.expense-card__amount{display:block;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary)}.expense-card__per-person{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted)}.expense-card__meta{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border-light);font-size:var(--font-size-sm)}.expense-card__paid-by,.expense-card__split{display:flex;align-items:center;gap:var(--spacing-xs)}.expense-card__meta-label{color:var(--color-text-muted);font-size:var(--font-size-xs)}.expense-card__member{font-size:var(--font-size-sm)}.expense-card__split-members{display:flex;gap:2px}.expense-card__split-badge{font-size:.875rem}.expense-card__actions{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);display:flex;gap:4px;opacity:0;transition:opacity var(--transition-fast)}.expense-card:hover .expense-card__actions{opacity:1}.expense-card__edit,.expense-card__remove{width:24px;height:24px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast);opacity:0;background:transparent;border:none;padding:0}.expense-card__edit:hover{color:var(--color-primary);background:var(--color-primary-surface)}.expense-card__remove:hover{color:#dc2626;background:#fee2e2}.settlement-section{background:var(--color-bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.settlement-section__title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-md) 0}.settlement-section__empty{text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);padding:var(--spacing-md) 0}.settlement-list{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-sm)}.settlement-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary-surface);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.settlement-item__from,.settlement-item__to{font-weight:var(--font-weight-semibold)}.settlement-item__arrow{color:var(--color-primary);font-weight:var(--font-weight-bold)}.settlement-item__amount{margin-left:auto;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-primary)}.filter-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);padding:var(--spacing-xs) 0}.filter-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-bg-card);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.filter-chip:hover{border-color:var(--color-primary-light);color:var(--color-primary)}.filter-chip--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.add-form{background:var(--color-bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-md)}.add-form__title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-md) 0}.add-form__input,.add-form__select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);margin-bottom:var(--spacing-sm);transition:border-color var(--transition-fast)}.add-form__input:focus,.add-form__select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-surface)}.add-form__checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-md);cursor:pointer}.add-form__actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.add-form__btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.add-form__btn--cancel{background:var(--color-border-light);color:var(--color-text-secondary)}.add-form__btn--cancel:hover{background:var(--color-border)}.add-form__btn--submit{background:var(--color-primary);color:#fff}.add-form__btn--submit:hover{background:var(--color-primary-dark)}.add-form__btn--submit:disabled{opacity:.5;cursor:not-allowed}.add-form__btn--danger{background:#fee2e2;color:#dc2626}.add-form__btn--danger:hover{background:#fecaca}.floating-action-btn{position:fixed;bottom:calc(64px + 12px + env(safe-area-inset-bottom,0px) + var(--spacing-md));right:var(--spacing-md);width:56px;height:56px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;font-size:1.75rem;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--color-primary-light);z-index:50;line-height:1}.floating-action-btn:hover{background:var(--color-primary-dark);transform:scale(1.05)}.floating-action-btn:active{transform:scale(.95)}.floating-action-btn--active{background:var(--color-primary-dark)}.floating-action-btn--neutral{background:var(--color-bg-card);color:var(--color-primary)}.comment-section{margin-top:var(--spacing-md)}.comment-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.comment-list__empty{text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);padding:var(--spacing-lg) 0}.comment-item{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);animation:fadeSlideIn var(--transition-base) both}.comment-item__header{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.comment-item__avatar{font-size:1.125rem;line-height:1}.comment-item__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.comment-item__time{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-left:auto}.comment-item__delete{width:28px;height:28px;min-width:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--color-text-muted);font-size:1rem;transition:all var(--transition-fast);cursor:pointer;flex-shrink:0}.comment-item__delete:hover{background:#f43f5e1a;color:var(--color-danger)}.comment-item__text{font-size:var(--font-size-body);color:var(--color-text);line-height:1.5;white-space:pre-wrap;word-break:break-word}.comment-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.comment-form__member-select{display:flex;gap:var(--spacing-xs);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px}.comment-form__member-select::-webkit-scrollbar{display:none}.comment-form__member-btn{width:40px;height:40px;min-width:40px;border-radius:var(--radius-full);border:2px solid var(--color-border);background:var(--color-bg-card);font-size:1.125rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.comment-form__member-btn:hover{border-color:var(--color-primary-light)}.comment-form__member-btn--active{border-color:var(--color-primary);background:var(--color-primary-surface);box-shadow:0 0 0 2px var(--color-primary-surface)}.comment-form__input-row{display:flex;gap:var(--spacing-sm)}.comment-form__input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-full);font-family:var(--font-sans);font-size:var(--font-size-body);color:var(--color-text);background:var(--color-bg-card);outline:none;transition:border-color var(--transition-fast)}.comment-form__input:focus{border-color:var(--color-primary)}.comment-form__input::placeholder{color:var(--color-text-muted)}.comment-form__submit{width:44px;height:44px;min-width:44px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.comment-form__submit:hover:not(:disabled){background:var(--color-primary-dark)}.comment-form__submit:active:not(:disabled){transform:scale(.92)}.comment-form__submit:disabled{opacity:.4;cursor:not-allowed}.vote-section{margin-top:var(--spacing-md)}.vote-average{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary-surface);border-radius:var(--radius-md)}.vote-average__stars{display:flex;gap:2px}.vote-average__star{font-size:1.25rem;color:var(--color-border);line-height:1}.vote-average__star--filled{color:var(--color-primary)}.vote-average__score{font-size:var(--font-size-card-title);font-weight:var(--font-weight-extrabold);color:var(--color-primary);font-variant-numeric:tabular-nums}.vote-average__count{font-size:var(--font-size-sm);color:var(--color-text-muted)}.vote-members{display:flex;flex-direction:column;gap:var(--spacing-sm)}.vote-member-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0}.vote-member-row__avatar{font-size:1.25rem;line-height:1;flex-shrink:0}.vote-member-row__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);min-width:60px}.vote-member-row__stars{display:flex;gap:2px;margin-left:auto}.vote-star-btn{width:36px;height:36px;min-width:36px;font-size:1.25rem;display:flex;align-items:center;justify-content:center;line-height:1;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);background:none;border:none;-webkit-tap-highlight-color:transparent}.vote-star-btn:hover{color:var(--color-primary-light);background:var(--color-primary-surface)}.vote-star-btn:active{transform:scale(.85)}.vote-star-btn--active{color:var(--color-primary)}.gps-bar{margin-bottom:var(--spacing-md)}.gps-bar__btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background:var(--color-primary-surface);color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);border:1px dashed var(--color-primary)}.gps-bar__btn:hover{background:#f59e0b26}.gps-bar__btn:active{transform:scale(.98)}.gps-bar--denied{display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background:#f43f5e14;color:var(--color-danger);font-size:var(--font-size-sm)}.timeline-card--active{position:relative}.timeline-card--active .timeline-card__body{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary),0 0 20px #f59e0b33,0 0 40px #f59e0b1a;transform:scale(1.02)}.timeline-card--active .timeline-card__dot{border-color:var(--color-primary)!important;background:var(--color-primary);animation:activeGlow 2s ease-in-out infinite}.timeline-card--active:before{content:"📍 いまここ";position:absolute;top:-6px;right:12px;z-index:2;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:2px 10px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm);line-height:1.4}@keyframes activeGlow{0%,to{box-shadow:0 0 4px var(--color-primary),0 0 8px #f59e0b4d}50%{box-shadow:0 0 8px var(--color-primary),0 0 16px #f59e0b80}}[data-theme=dark] .timeline-card--active .timeline-card__body{box-shadow:0 0 0 1px var(--color-primary),0 0 20px #fbbf2426,0 0 40px #fbbf2414}.settings-page{padding-bottom:var(--spacing-xl)}.settings-section{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg)}.settings-section__title{font-size:var(--font-size-card-title);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm)}.settings-section__desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-md);line-height:1.6}.settings-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);font-family:var(--font-sans);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);border:none;min-height:44px}.settings-btn:active{transform:scale(.95)}.settings-btn--primary{background:var(--color-primary);color:#fff}.settings-btn--primary:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-md)}.settings-btn--secondary{background:var(--color-bg-elevated);color:var(--color-text);border:1px solid var(--color-border)}.settings-btn--secondary:hover{border-color:var(--color-primary-light)}.settings-btn--danger{background:var(--color-danger);color:#fff}.settings-btn--danger:hover{opacity:.9}.settings-btn--outline-danger{background:transparent;color:var(--color-danger);border:1px solid var(--color-danger)}.settings-btn--outline-danger:hover{background:#f43f5e14}.settings-file-input{display:none}.settings-message{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.settings-message--success{background:#14b8a61a;color:var(--color-success)}.settings-message--error{background:#f43f5e1a;color:var(--color-danger)}.settings-confirm{padding:var(--spacing-md);background:#f43f5e0d;border:1px solid rgba(244,63,94,.2);border-radius:var(--radius-md)}.settings-confirm__text{font-size:var(--font-size-sm);color:var(--color-danger);margin-bottom:var(--spacing-md);font-weight:var(--font-weight-medium)}.settings-confirm__actions{display:flex;gap:var(--spacing-sm)}.settings-info-grid{display:flex;flex-direction:column;gap:var(--spacing-sm)}.settings-info-item{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light)}.settings-info-item:last-child{border-bottom:none}.settings-info-item__label{font-size:var(--font-size-sm);color:var(--color-text-muted);flex-shrink:0;min-width:80px}.settings-info-item__value{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);text-align:right;word-break:break-word}.settings-edit-row{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light)}.settings-edit-row:last-child{border-bottom:none}.settings-edit-row__label{font-size:var(--font-size-sm);color:var(--color-text-muted);display:block;margin-bottom:var(--spacing-xs)}.settings-edit-row__value-group{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.settings-edit-row__value{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text);word-break:break-word;flex:1}.settings-edit-row__edit-btn{background:none;border:none;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-md);font-size:1rem;transition:background var(--transition-fast);flex-shrink:0}.settings-edit-row__edit-btn:hover{background:var(--color-bg-elevated)}.settings-edit-inline{display:flex;flex-direction:column;gap:var(--spacing-sm)}.settings-edit-inline__input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-body);font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);transition:border-color var(--transition-fast);box-sizing:border-box}.settings-edit-inline__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb, 30, 136, 229),.15)}.settings-edit-inline__date-group{display:flex;align-items:center;gap:var(--spacing-sm)}.settings-edit-inline__date-group .settings-edit-inline__input{flex:1;min-width:0}.settings-edit-inline__separator{color:var(--color-text-muted);font-size:var(--font-size-sm);flex-shrink:0}.settings-edit-inline__actions{display:flex;gap:var(--spacing-sm)}.settings-edit-inline__btn{padding:var(--spacing-xs) var(--spacing-md);border:none;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);min-height:34px}.settings-edit-inline__btn--save{background:var(--color-primary);color:#fff}.settings-edit-inline__btn--save:hover{background:var(--color-primary-dark)}.settings-edit-inline__btn--save:disabled{opacity:.4;cursor:not-allowed}.settings-edit-inline__btn--cancel{background:var(--color-bg-elevated);color:var(--color-text-secondary);border:1px solid var(--color-border-light)}.settings-edit-inline__btn--cancel:hover{border-color:var(--color-border)}.settings-edit-inline__btn--danger{background:var(--color-danger);color:#fff}.settings-edit-inline__btn--danger:hover{opacity:.9}.settings-member-list{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.settings-member-item{padding:var(--spacing-sm);background:var(--color-bg-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.settings-member-item__display{display:flex;align-items:center;gap:var(--spacing-sm)}.settings-member-item__icon{font-size:1.3rem;flex-shrink:0}.settings-member-item__name{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);flex:1}.settings-member-item__actions{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.settings-member-item__action-btn{background:none;border:none;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-md);font-size:.9rem;transition:background var(--transition-fast)}.settings-member-item__action-btn:hover{background:var(--color-bg)}.settings-member-item__action-btn--danger:hover{background:#f43f5e1a}.settings-member-item__confirm{display:flex;gap:var(--spacing-xs)}.settings-member-edit{display:flex;flex-direction:column;gap:var(--spacing-sm)}.settings-member-edit__icon-picker{overflow-x:auto}.settings-member-edit__icon-grid{display:flex;flex-wrap:wrap;gap:4px}.settings-member-edit__icon-option{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-bg);cursor:pointer;font-size:1.1rem;transition:all var(--transition-fast)}.settings-member-edit__icon-option:hover{border-color:var(--color-primary-light);background:var(--color-bg-elevated)}.settings-member-edit__icon-option--selected{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb, 30, 136, 229),.1);box-shadow:0 0 0 1px var(--color-primary)}.settings-member-add-form{padding:var(--spacing-md);background:var(--color-bg-elevated);border:1px dashed var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.settings-btn--add-member{width:100%}.member-select-list{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--color-bg-elevated);border:1px solid var(--color-border-light);border-radius:var(--radius-md);margin-top:var(--spacing-xs)}.member-select-list__hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--spacing-xs)}.member-select-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);-webkit-user-select:none;user-select:none}.member-select-item:hover{background:var(--color-bg)}.member-select-item--checked{background:rgba(var(--color-primary-rgb, 30, 136, 229),.06)}.member-select-item--payer{opacity:.7;cursor:default}.member-select-item__checkbox{accent-color:var(--color-primary);width:16px;height:16px;flex-shrink:0}.member-select-item__icon{font-size:1.1rem;flex-shrink:0}.member-select-item__name{font-size:var(--font-size-sm);flex:1}.member-select-item__badge{font-size:var(--font-size-xs);background:var(--color-primary);color:#fff;padding:2px 8px;border-radius:var(--radius-full);font-weight:var(--font-weight-semibold)}.form-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#1118279e;display:flex;justify-content:center;align-items:center;z-index:1100;padding:var(--spacing-sm)}.form-modal{background:var(--color-bg-card);border-radius:var(--radius-lg);width:100%;min-height:180px;max-height:92vh;display:flex;flex-direction:column;border:1px solid var(--glass-border);box-shadow:0 28px 64px #00000052;overflow:hidden}.form-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid var(--color-border-light);background:linear-gradient(120deg,var(--color-primary-surface) 0%,transparent 100%)}.form-modal__title-wrap{display:flex;align-items:center;gap:var(--spacing-md)}.form-modal__icon{width:42px;height:42px;border-radius:var(--radius-md);display:grid;place-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-light);font-size:1.35rem;flex-shrink:0}.form-modal__title{margin:0;font-size:1.05rem;font-weight:var(--font-weight-bold)}.form-modal__subtitle{margin:2px 0 0;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.form-modal__close{width:32px;height:32px;border-radius:var(--radius-full);color:var(--color-text-secondary);font-size:1.2rem;line-height:1;transition:all var(--transition-fast)}.form-modal__close:hover{background:var(--color-border-light);color:var(--color-text)}.form-modal__body{padding:var(--spacing-md);overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-md);background:var(--color-bg-card)}.form-modal__actions{position:sticky;bottom:0;padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--color-border-light);display:flex;gap:var(--spacing-xs);background:var(--color-bg-card)}.event-edit-modal__body{display:flex;flex-direction:column;gap:var(--spacing-md)}.modal-form-grid{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-action-btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.form-action-btn--cancel{background:var(--color-border-light);color:var(--color-text-secondary)}.form-action-btn--cancel:hover{background:var(--color-border)}.form-action-btn--submit{background:var(--color-primary);color:#fff}.form-action-btn--submit:hover{background:var(--color-primary-dark)}.form-action-btn--submit:disabled{opacity:.5;cursor:not-allowed}.form-action-btn--danger{background:#fee2e2;color:#dc2626}.form-action-btn--danger:hover{background:#fecaca}.spacer{flex:1}.event-edit-card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-sm)}.event-edit-card__title{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-secondary)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.form-row{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.form-row .form-group{flex:1;min-width:180px}.form-input,.form-select,.form-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-surface)}.type-chip-list{display:flex;gap:var(--spacing-xs);overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.type-chip{display:inline-flex;align-items:center;gap:6px;padding:.5rem .7rem;border:1px solid var(--color-border-light);border-radius:var(--radius-full);background:var(--color-bg-elevated);color:var(--color-text-secondary);cursor:pointer;font-size:.78rem;white-space:nowrap;transition:all .2s}.type-chip:hover{border-color:var(--color-primary-light);color:var(--color-primary)}.type-chip--active{background:var(--color-primary-surface);border-color:var(--color-primary);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.type-chip__icon{font-size:1rem}.required{color:#ef4444}@media(max-width:480px){.form-modal{max-height:96vh;border-radius:var(--radius-lg)}.form-modal__header,.form-modal__body{padding:var(--spacing-sm)}.form-modal__actions{padding:var(--spacing-xs) var(--spacing-sm)}.form-action-btn{padding:.5rem .8rem;font-size:.82rem}}.packing-section{margin-bottom:var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden}.packing-section__header{width:100%;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-elevated);border:none;border-bottom:1px solid transparent;text-align:left;transition:all var(--transition-fast)}.packing-section__header--open{border-bottom-color:var(--color-border-light);background:var(--color-bg-card)}.packing-section__icon{font-size:1.2rem;line-height:1}.packing-section__label{flex:1;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text)}.packing-section__count{font-size:var(--font-size-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.packing-section__chevron{font-size:.8rem;color:var(--color-text-muted)}.packing-list{list-style:none;margin:0;padding:0}.packing-item{display:flex;align-items:center;align-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border-light);flex-wrap:wrap}.packing-item:last-child{border-bottom:none}.packing-item--empty{color:var(--color-text-muted);font-size:var(--font-size-sm);justify-content:center;font-style:italic;padding:var(--spacing-md)}.packing-item__info{flex:1;min-width:120px;margin-right:auto;order:1}.packing-item__name{font-size:var(--font-size-body);color:var(--color-text);word-break:break-all;line-height:1.4}.packing-item__shared{margin-right:4px;font-size:.9em;opacity:.7}.packing-item__checks{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:nowrap;flex-basis:100%;order:4;margin-top:4px}.packing-check{width:32px;height:32px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-bg);display:flex;align-items:center;justify-content:center;position:relative;transition:all var(--transition-fast);padding:0}.packing-check:hover:not(:disabled){border-color:var(--color-primary-light);background:var(--color-bg-elevated)}.packing-check--checked{background:rgba(var(--color-primary-rgb, 20, 184, 166),.1);border-color:var(--color-success);color:var(--color-success)}.packing-check--checked{background:var(--color-primary-surface);border-color:var(--color-primary);color:var(--color-primary)}.packing-check__icon{font-size:1rem;line-height:1;opacity:.5;filter:grayscale(100%);transition:all var(--transition-fast)}.packing-check--checked .packing-check__icon{opacity:1;filter:none}.packing-check__mark{position:absolute;bottom:-2px;right:-2px;background:var(--color-bg-card);color:var(--color-success);font-size:.7rem;font-weight:700;width:14px;height:14px;display:flex;align-items:center;justify-content:center;border-radius:50%;box-shadow:0 1px 2px #0000001a;border:1px solid var(--color-success)}.packing-item__edit,.packing-item__remove{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--color-text-muted);transition:all var(--transition-fast);opacity:.6}.packing-item__edit{order:2}.packing-item__remove{order:3}.packing-item__edit:hover,.packing-item__remove:hover{opacity:1;background:var(--color-bg-elevated);color:var(--color-text)}.packing-item__remove:hover{color:var(--color-danger);background:#f43f5e1a}
