:root{--line-green:#06c755;--line-green-dark:#00b900;--line-green-light:#e8f9ef;--primary:#06c755;--primary-dark:#00b900;--primary-light:#e8f9ef;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--glass-bg:hsla(0,0%,100%,.75);--glass-bg-dark:hsla(0,0%,100%,.6);--glass-border:hsla(0,0%,100%,.18);--glass-shadow:0 8px 32px 0 rgba(31,38,135,.15);--glass-shadow-hover:0 12px 40px 0 rgba(31,38,135,.25);--blur-strong:blur(20px);--blur-medium:blur(12px);--blur-light:blur(8px);--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow:0 2px 8px 0 rgba(0,0,0,.08),0 1px 3px 0 rgba(0,0,0,.04);--shadow-md:0 4px 12px -2px rgba(0,0,0,.08),0 2px 6px -1px rgba(0,0,0,.04);--shadow-lg:0 10px 24px -5px rgba(0,0,0,.1),0 4px 8px -2px rgba(0,0,0,.04);--shadow-xl:0 20px 40px -8px rgba(0,0,0,.12),0 8px 16px -4px rgba(0,0,0,.06);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25);--transition-smooth:cubic-bezier(0.4,0,0.2,1);--transition-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--transition-spring:cubic-bezier(0.175,0.885,0.32,1.275);color-scheme:light;font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,sans-serif;line-height:1.6;background-color:var(--gray-50);color:var(--gray-900)}body{margin:0;padding:0;background:linear-gradient(135deg,#e8f5e9,#f1f8f4 50%,#fff);background-attachment:fixed;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth}.app-root{max-width:600px;margin:0 auto;gap:1.25rem;padding:1rem 1rem 2.5rem}.app-root,.header{display:flex;flex-direction:column}.header{background:radial-gradient(circle at 20% 15%,hsla(0,0%,100%,.22),transparent 45%),linear-gradient(135deg,rgba(7,176,90,.98),rgba(0,136,66,.95));backdrop-filter:var(--blur-strong);-webkit-backdrop-filter:var(--blur-strong);border-radius:1.75rem;padding:1.75rem 1.5rem;color:#fff;box-shadow:var(--glass-shadow),0 0 0 1px hsla(0,0%,100%,.12) inset;position:relative;overflow:hidden;border:1px solid hsla(0,0%,100%,.2);gap:1rem}.header:before{top:-55%;right:-12%;width:240px;height:240px;background:radial-gradient(circle,hsla(0,0%,100%,.18) 0,transparent 70%);border-radius:50%;filter:blur(22px)}.header:after,.header:before{content:"";position:absolute;pointer-events:none}.header:after{left:-20%;bottom:-55%;width:320px;height:320px;background:radial-gradient(circle,hsla(0,0%,100%,.12) 0,transparent 65%);filter:blur(28px)}.header-content{position:relative;margin-bottom:0;z-index:1}.header-title{margin:0;font-size:1.6rem;font-weight:800;position:relative;text-shadow:0 8px 20px rgba(0,0,0,.18);letter-spacing:-.02em;line-height:1.15}.header-title-line{display:block}.header p{margin:0;opacity:.95;font-size:.9rem;position:relative;font-weight:500}.auth-status{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;position:relative;z-index:1}.header-badge{opacity:.7;transition:opacity .3s var(--transition-smooth),transform .3s var(--transition-smooth)}.header-badge.is-ready{opacity:1}.header-badge.is-ready:hover{transform:translateY(-1px)}.navigation{--nav-padding:0.75rem;--nav-indicator-left:0px;--nav-indicator-width:0px;display:flex;gap:.5rem;padding:var(--nav-padding);background:var(--glass-bg);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);border-radius:1.5rem;box-shadow:var(--shadow-lg),0 0 0 1px hsla(0,0%,100%,.5) inset;overflow:hidden;flex-wrap:nowrap;align-items:center;border:1px solid hsla(0,0%,100%,.3);position:relative}.navigation::-webkit-scrollbar{display:none}.nav-indicator{position:absolute;top:var(--nav-padding);left:0;height:calc(100% - (var(--nav-padding) * 2));width:var(--nav-indicator-width,0);transform:translateX(var(--nav-indicator-left,0));border-radius:1rem;background:linear-gradient(135deg,rgba(6,199,85,.95),rgba(0,185,0,.9));box-shadow:0 6px 16px rgba(6,199,85,.25),inset 0 0 0 1px hsla(0,0%,100%,.18);opacity:0;pointer-events:none;will-change:transform,width;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .55s cubic-bezier(.22,.78,.2,1),width .55s cubic-bezier(.22,.78,.2,1),opacity .2s ease;z-index:0}.navigation[data-indicator=ready] .nav-indicator{opacity:1}.nav-link{padding:.75rem 1.25rem;border-radius:1rem;font-size:.875rem;font-weight:700;color:var(--gray-700);background:transparent;border:none;white-space:nowrap;text-decoration:none;transition:color .3s ease,background-color .3s ease,transform .3s ease,box-shadow .3s ease;cursor:pointer;flex-shrink:0;display:flex;align-items:center;gap:.5rem;position:relative;z-index:1}.nav-link:hover{background:hsla(0,0%,100%,.6);color:var(--gray-900);transform:translateY(-1px)}.nav-link.active{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);color:#fff;box-shadow:0 4px 12px rgba(6,199,85,.35),inset 0 0 0 1px hsla(0,0%,100%,.2);transform:translateY(-2px);transition:color .3s ease .1s,background-color .3s ease,transform .3s ease,box-shadow .3s ease}.nav-link.active:hover{transform:translateY(-3px);box-shadow:0 6px 16px rgba(6,199,85,.4),inset 0 0 0 1px hsla(0,0%,100%,.2)}.navigation[data-indicator=ready] .nav-link.active{color:#fff;transition:color .2s ease}.navigation[data-indicator=ready] .nav-link.active,.navigation[data-indicator=ready] .nav-link.active:hover{background:transparent;box-shadow:none;transform:none}.navigation[data-indicator=ready] .nav-link:hover{background:hsla(0,0%,100%,.1)}.navigation[data-indicator=ready] .nav-link:active{background:hsla(0,0%,100%,.16)}.panel{background:var(--glass-bg);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);border-radius:1.5rem;padding:1.5rem;box-shadow:var(--shadow-md),0 0 0 1px hsla(0,0%,100%,.5) inset;display:flex;flex-direction:column;gap:1rem;border:1px solid hsla(0,0%,100%,.3)}.panel h2{margin:0;font-size:1.25rem;font-weight:700;color:var(--gray-900)}.panel h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--gray-800)}.panel p{margin:0;color:var(--gray-600);line-height:1.6}.list{display:grid;grid-template-columns:1fr;grid-gap:.875rem;gap:.875rem}.list button{border:1.5px solid hsla(0,0%,100%,.5);border-radius:1.25rem;padding:1.25rem;background:var(--glass-bg);backdrop-filter:var(--blur-light);-webkit-backdrop-filter:var(--blur-light);text-align:left;display:flex;flex-direction:column;gap:.5rem;cursor:pointer;transition:all .3s var(--transition-smooth);box-shadow:var(--shadow-sm),0 0 0 1px hsla(0,0%,100%,.3) inset}.list button:active{transform:scale(.98)}.list button:hover{border-color:rgba(6,199,85,.5);box-shadow:0 8px 20px rgba(6,199,85,.15),inset 0 0 0 1px hsla(0,0%,100%,.4);transform:translateY(-2px)}.list button.selected{border-color:var(--primary);background:linear-gradient(135deg,rgba(6,199,85,.1),rgba(0,185,0,.05));box-shadow:0 8px 24px rgba(6,199,85,.25),inset 0 0 0 1px rgba(6,199,85,.3);transform:translateY(-2px)}.list button strong{font-size:1rem;font-weight:600;color:var(--gray-900)}.list button span{font-size:.875rem;color:var(--gray-600)}.badge{background:var(--glass-bg);backdrop-filter:var(--blur-light);-webkit-backdrop-filter:var(--blur-light);color:var(--primary);padding:.5rem 1rem;border-radius:999px;font-size:.8125rem;font-weight:600;border:1px solid rgba(6,199,85,.3);box-shadow:0 2px 8px rgba(6,199,85,.1),inset 0 0 0 1px hsla(0,0%,100%,.5);display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-width:100px;white-space:nowrap}.badge-user{box-shadow:0 2px 8px rgba(0,0,0,.1),inset 0 0 0 1px hsla(0,0%,100%,.15)}.badge-success,.badge-user{background:hsla(0,0%,100%,.25);color:#fff;border:1px solid hsla(0,0%,100%,.35);min-width:auto;font-weight:600}.badge-success{box-shadow:0 4px 12px rgba(0,0,0,.15),inset 0 0 0 1px hsla(0,0%,100%,.2)}.status-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.02em;border:1px solid var(--status-border,rgba(15,23,42,.12));background:var(--status-bg,hsla(0,0%,100%,.7));color:var(--status-text,#1f2937);box-shadow:none;white-space:nowrap}.status-badge:before{content:"";width:.45rem;height:.45rem;border-radius:999px;background:var(--status-accent,currentColor);box-shadow:0 0 0 2px hsla(0,0%,100%,.7)}.history-card-body.applied,.status-badge.applied,.status-summary.applied{--status-accent:#2563eb;--status-text:#1d4ed8;--status-bg:rgba(37,99,235,.12);--status-soft:rgba(37,99,235,.08);--status-border:rgba(37,99,235,.22)}.history-card-body.winner,.status-badge.winner,.status-summary.winner{--status-accent:#059669;--status-text:#047857;--status-bg:rgba(16,185,129,.14);--status-soft:rgba(16,185,129,.08);--status-border:rgba(16,185,129,.22)}.history-card-body.waiting,.status-badge.waiting,.status-summary.waiting{--status-accent:#d97706;--status-text:#b45309;--status-bg:rgba(245,158,11,.14);--status-soft:rgba(245,158,11,.08);--status-border:rgba(245,158,11,.24)}.history-card-body.cancelled,.status-badge.cancelled,.status-summary.cancelled{--status-accent:#6b7280;--status-text:#4b5563;--status-bg:rgba(148,163,184,.18);--status-soft:rgba(148,163,184,.1);--status-border:rgba(148,163,184,.25)}.history-card-body.promoted,.status-badge.promoted,.status-summary.promoted{--status-accent:#7c3aed;--status-text:#6d28d9;--status-bg:rgba(168,85,247,.14);--status-soft:rgba(168,85,247,.08);--status-border:rgba(168,85,247,.24)}button.danger,button.primary,button.secondary{border:none;border-radius:999px;padding:.875rem 1.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s var(--transition-smooth);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:inherit;min-height:48px;position:relative;overflow:hidden}button.primary{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);color:#fff;box-shadow:0 4px 16px rgba(6,199,85,.35),inset 0 0 0 1px hsla(0,0%,100%,.2)}button.primary:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,hsla(0,0%,100%,.2),hsla(0,0%,100%,0));opacity:0;transition:opacity .3s var(--transition-smooth)}button.primary:hover:not(:disabled):before{opacity:1}button.primary:hover:not(:disabled){box-shadow:0 8px 24px rgba(6,199,85,.45),inset 0 0 0 1px hsla(0,0%,100%,.3);transform:translateY(-2px)}button.primary:active:not(:disabled){transform:translateY(0)}button.secondary{background:var(--glass-bg);backdrop-filter:var(--blur-light);-webkit-backdrop-filter:var(--blur-light);color:var(--primary);border:2px solid var(--primary);box-shadow:0 2px 8px rgba(6,199,85,.1),inset 0 0 0 1px hsla(0,0%,100%,.5)}button.secondary:hover:not(:disabled){background:rgba(6,199,85,.1);transform:translateY(-2px);box-shadow:0 4px 12px rgba(6,199,85,.2),inset 0 0 0 1px hsla(0,0%,100%,.5)}button.danger{background:linear-gradient(135deg,#f87171,#ef4444);color:#fff;border:none;box-shadow:0 6px 18px rgba(239,68,68,.35)}button.danger:hover:not(:disabled){box-shadow:0 8px 24px rgba(239,68,68,.4);transform:translateY(-2px)}button.danger:active:not(:disabled){transform:translateY(0)}button.danger:disabled,button.primary:disabled,button.secondary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}label{display:flex;flex-direction:column;gap:.5rem;font-weight:600;font-size:.875rem;color:var(--gray-700)}input[type=email],input[type=tel],input[type=text],select,textarea{padding:.875rem 1rem;border-radius:1rem;border:1.5px solid hsla(0,0%,100%,.5);font-size:1rem;font-family:inherit;transition:all .3s var(--transition-smooth);background:var(--glass-bg);backdrop-filter:var(--blur-light);-webkit-backdrop-filter:var(--blur-light);color:var(--gray-900);min-height:48px;box-shadow:var(--shadow-sm),0 0 0 1px hsla(0,0%,100%,.3) inset}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px rgba(6,199,85,.1),0 2px 8px rgba(6,199,85,.2);background:hsla(0,0%,100%,.9)}input::placeholder,textarea::placeholder{color:var(--gray-400)}.hero{text-align:center;padding:2rem 1rem}.hero h2{font-size:1.875rem;margin:0 0 .75rem;font-weight:700;color:var(--gray-900);line-height:1.3;background:linear-gradient(135deg,var(--gray-900) 0,var(--gray-700) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero p{font-size:1rem;color:var(--gray-600);margin:0 0 2rem;line-height:1.7}.action-buttons{display:flex;flex-direction:column;gap:.875rem;width:100%}@media (min-width:640px){.action-buttons{flex-direction:row;justify-content:center}}.feature-grid{display:grid;grid-template-columns:1fr;grid-gap:1rem;gap:1rem}.feature-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.feature-list-item{display:flex;align-items:flex-start;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgba(17,24,39,.08)}.feature-list-item:last-child{border-bottom:none;padding-bottom:0}.feature-list-item h3{margin:0 0 .25rem;font-size:1rem;font-weight:700;color:var(--gray-900)}.feature-list-item p{margin:0;color:var(--gray-600);font-size:.9rem;line-height:1.6}.feature-icon{width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;flex-shrink:0;color:inherit}.feature-icon--green{color:#06c755;background:rgba(6,199,85,.12);border-color:rgba(6,199,85,.25)}.feature-icon--blue{color:#3b82f6;background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.25)}.feature-icon--amber{color:#f59e0b;background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.25)}.flow-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.flow-header h2{margin:0}.flow-badge{padding:.35rem .75rem;border-radius:999px;font-size:.75rem;font-weight:700;color:#14532d;background:rgba(6,199,85,.12);border:1px solid rgba(6,199,85,.25);white-space:nowrap}.flow-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.flow-item{display:grid;grid-template-columns:auto 1fr;grid-gap:.75rem;gap:.75rem;padding:.9rem 1rem;border-radius:.9rem;background:hsla(0,0%,100%,.6);border:1px solid rgba(17,24,39,.08)}.flow-step{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.8rem;color:#065f46;background:rgba(6,199,85,.15);border:1px solid rgba(6,199,85,.25)}.flow-body h3{margin:0 0 .25rem;font-size:1rem;font-weight:700;color:var(--gray-900)}.flow-body p{margin:0;color:var(--gray-600);font-size:.9rem;line-height:1.6}@media (max-width:639px){.flow-header{flex-direction:column;align-items:flex-start}.flow-item{grid-template-columns:1fr}.flow-step{width:36px;height:36px}}.feature-card{background:hsla(0,0%,100%,.6);border-radius:.9rem;padding:1.25rem;border:1px solid rgba(17,24,39,.08);transition:background-color .2s ease,border-color .2s ease;box-shadow:none}.feature-card:hover{border-color:rgba(17,24,39,.14);background:hsla(0,0%,100%,.8);box-shadow:none;transform:none}.feature-card h3{margin:0 0 .5rem;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.125rem;font-weight:700}.feature-card p{margin:0;color:var(--gray-600);font-size:.9375rem;line-height:1.6}.event-card{padding:1.1rem 1.25rem;border-radius:1rem;gap:.5rem}.event-card h3{font-size:1rem}.event-card p{font-size:.9rem;line-height:1.5}.glass-banner{background:var(--glass-bg);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);border-radius:1.25rem;padding:1rem 1.25rem;border:1px solid hsla(0,0%,100%,.4);box-shadow:var(--shadow-sm),0 0 0 1px hsla(0,0%,100%,.2) inset;display:flex;align-items:center;gap:.75rem;color:var(--gray-700)}.glass-banner.success{background:linear-gradient(135deg,rgba(6,199,85,.12),rgba(0,185,0,.08));border-color:rgba(6,199,85,.25);color:#166534}.history-list{display:flex;flex-direction:column;gap:.875rem}.history-card{display:block;cursor:pointer;text-decoration:none;color:inherit}.history-card-body{position:relative;padding:1.1rem 1.25rem;border-radius:1rem;border:1px solid rgba(15,23,42,.08);border-left:4px solid var(--status-accent,rgba(15,23,42,.12));background:linear-gradient(135deg,var(--status-soft,rgba(248,250,252,.95)) 0,hsla(0,0%,100%,.95) 60%);transition:background-color .2s ease,border-color .2s ease}.history-card-body:hover{border-color:rgba(15,23,42,.16);background:linear-gradient(135deg,var(--status-soft,hsla(0,0%,100%,.95)) 0,#fff 60%)}.history-card-meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.85rem;color:var(--gray-600)}.history-card-meta span{display:inline-flex;align-items:center;gap:.35rem}.detail-card{background:hsla(0,0%,100%,.6);border-radius:.9rem;padding:1.25rem;border:1px solid rgba(17,24,39,.08);box-shadow:none;display:flex;flex-direction:column;gap:1rem}.status-summary{border-radius:1rem;padding:.9rem 1rem;background:var(--status-soft,rgba(248,250,252,.95));border:1px solid var(--status-border,rgba(15,23,42,.12));display:grid;grid-gap:.45rem;gap:.45rem}.status-summary-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.status-summary-label{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-500)}.status-summary-message{margin:0;color:var(--status-text,#1f2937);font-size:.9rem;line-height:1.6}.detail-row{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.75rem;font-weight:600;color:var(--gray-500);letter-spacing:.02em;text-transform:uppercase}.detail-value{font-size:.95rem;font-weight:600;color:var(--gray-900);line-height:1.5}.status-message{margin-top:.5rem;padding:.75rem 1rem;border-radius:1rem;background:linear-gradient(135deg,rgba(6,199,85,.08),rgba(0,185,0,.05));border:1px solid rgba(6,199,85,.2);color:#166534;font-size:.9rem;line-height:1.6}.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--gray-600);display:flex;flex-direction:column;align-items:center;gap:1rem}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1rem;gap:1rem}.admin-card{height:100%;position:relative}.admin-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;background:hsla(0,0%,100%,.25);border:1px solid hsla(0,0%,100%,.3);box-shadow:var(--shadow-sm)}.admin-notes{padding-left:1.5rem;color:var(--gray-600);line-height:1.7}.timeslot-card{background:hsla(0,0%,100%,.7);border:1px solid rgba(6,199,85,.2);border-radius:.9rem;padding:1.25rem;cursor:pointer;transition:border-color .2s ease,background-color .2s ease;box-shadow:none;width:100%;text-align:left;font-family:inherit;color:var(--gray-900)}.timeslot-card:hover{border-color:rgba(6,199,85,.5);background:hsla(0,0%,100%,.9)}.timeslot-card.selected{border-color:var(--primary);background:rgba(6,199,85,.12);box-shadow:none}.timeslot-card:disabled{opacity:.7;cursor:not-allowed;transform:none}.timeslot-card h4{margin:0 0 .5rem;color:var(--gray-900);font-weight:600}.timeslot-card p{margin:.25rem 0;font-size:.875rem;color:var(--gray-600)}.geofence-overlay,.loading-overlay,.modal-backdrop,.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;animation:fadeIn .25s ease-out}.modal-backdrop{padding:0;display:block}.geofence-overlay,.loading-overlay,.modal-container{display:flex;align-items:center;justify-content:center;padding:1rem}.modal-container{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:1001}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.geofence-card,.loading-card,.modal,.modal-content{background:var(--glass-bg);backdrop-filter:var(--blur-strong);-webkit-backdrop-filter:var(--blur-strong);border-radius:1.75rem;padding:2rem;max-width:500px;width:100%;box-shadow:var(--shadow-2xl),0 0 0 1px hsla(0,0%,100%,.5) inset;border:1px solid hsla(0,0%,100%,.3);animation:slideUp .35s var(--transition-spring);pointer-events:auto}.dialog-card{--dialog-accent:#3b82f6;--dialog-bg:rgba(59,130,246,.16);--dialog-border:rgba(59,130,246,.28);--dialog-soft:rgba(59,130,246,.08);position:relative;padding:0;overflow:hidden}.dialog-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--dialog-accent),hsla(0,0%,100%,.2))}.dialog-card[data-variant=primary]{--dialog-accent:var(--primary);--dialog-bg:rgba(6,199,85,.18);--dialog-border:rgba(6,199,85,.3);--dialog-soft:rgba(6,199,85,.08)}.dialog-card[data-variant=success]{--dialog-accent:#16a34a;--dialog-bg:rgba(22,163,74,.18);--dialog-border:rgba(22,163,74,.3);--dialog-soft:rgba(22,163,74,.08)}.dialog-card[data-variant=warning]{--dialog-accent:#d97706;--dialog-bg:rgba(217,119,6,.18);--dialog-border:rgba(217,119,6,.3);--dialog-soft:rgba(217,119,6,.08)}.dialog-card[data-variant=danger],.dialog-card[data-variant=error]{--dialog-accent:#ef4444;--dialog-bg:rgba(239,68,68,.18);--dialog-border:rgba(239,68,68,.32);--dialog-soft:rgba(239,68,68,.08)}.dialog-header{display:flex;align-items:center;gap:.9rem;padding:1.5rem 1.5rem .85rem}.dialog-icon{width:52px;height:52px;border-radius:16px;background:var(--dialog-bg);border:1px solid var(--dialog-border);display:grid;place-items:center;color:var(--dialog-accent);box-shadow:0 10px 20px rgba(15,23,42,.08);flex-shrink:0}.dialog-title{margin:0;font-size:1.1rem;font-weight:700;color:var(--gray-900);letter-spacing:-.01em;line-height:1.4}.dialog-body{padding:0 1.5rem 1.25rem}.dialog-message{margin:0;font-size:.9rem;color:var(--gray-600);line-height:1.7;white-space:pre-line}.dialog-details{display:grid;grid-gap:.75rem;gap:.75rem;padding:.95rem;border-radius:1rem;background:var(--dialog-soft);border:1px solid rgba(15,23,42,.08)}.dialog-detail{display:flex;gap:.75rem;align-items:flex-start}.dialog-detail-icon{width:36px;height:36px;border-radius:12px;background:hsla(0,0%,100%,.6);border:1px solid rgba(15,23,42,.08);display:grid;place-items:center;color:var(--gray-600);flex-shrink:0}.dialog-detail-text{display:grid;grid-gap:.2rem;gap:.2rem}.dialog-detail-label{font-size:.72rem;font-weight:700;color:var(--gray-500);letter-spacing:.1em;text-transform:uppercase}.dialog-detail-value{font-size:.92rem;font-weight:600;color:var(--gray-900);line-height:1.5}.dialog-actions{display:flex;gap:.75rem;padding:0 1.5rem 1.5rem}.dialog-actions button{flex:1 1}.dialog-actions.single button{width:100%}@keyframes slideUp{0%{transform:translateY(30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal h3,.modal-content h3{margin:0 0 1rem;color:var(--gray-900);font-weight:700;font-size:1.25rem}.modal p,.modal-content p{margin:0 0 .75rem;color:var(--gray-600);line-height:1.6}.modal-actions{display:flex;gap:.875rem;justify-content:flex-end;margin-top:1.5rem}.geofence-card,.loading-card{text-align:center;max-width:400px}.geofence-card h2,.loading-card h2{font-size:1.25rem;font-weight:700}.geofence-card p,.loading-card p{color:var(--gray-600)}.geofence-card.geofence-error{border:2px solid var(--error);box-shadow:0 8px 32px rgba(239,68,68,.2)}.spinner-large{width:56px;height:56px;border:4px solid rgba(6,199,85,.1);border-top:4px solid var(--primary);border-radius:50%;margin:0 auto}.loading-spinner,.spinner-large{animation:spin .8s linear infinite;box-shadow:0 0 16px rgba(6,199,85,.2)}.loading-spinner{border-style:solid;border-color:rgba(6,199,85,.12);border-top-color:var(--primary);border-radius:50%;display:inline-block;position:relative}@keyframes spin{to{transform:rotate(1turn)}}.error-icon{font-size:3rem;margin-bottom:.5rem}.status{color:var(--info)}.error,.status{font-weight:600}.error{color:var(--error)}.actions{display:flex;gap:.875rem;align-items:center;flex-wrap:wrap}@media (min-width:640px){.app-root{padding:1.5rem}.panel{padding:1.75rem}.header{padding:2rem}.header-title{font-size:1.9rem}.hero h2{font-size:2.125rem}.feature-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:639px){.geofence-card,.loading-card,.modal,.modal-content{padding:1.5rem}.dialog-header{padding:1.25rem 1.25rem .75rem}.dialog-body{padding:0 1.25rem 1.1rem}.dialog-actions{padding:0 1.25rem 1.25rem;flex-direction:column}.navigation{--nav-padding:0.5rem;gap:.4rem;padding:var(--nav-padding)}.nav-link{flex:1 1;min-width:0;padding:.6rem .4rem;font-size:.75rem;justify-content:center;gap:.35rem;flex-shrink:1}.nav-link span{min-width:0;overflow:hidden;text-overflow:ellipsis}.nav-link,.nav-link.active,.nav-link.active:hover,.nav-link:hover{transform:none}button.primary,button.secondary{width:100%}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}@media (hover:none) and (pointer:coarse){.nav-link:active,.nav-link:hover,.navigation[data-indicator=ready] .nav-link:active,.navigation[data-indicator=ready] .nav-link:hover{background:transparent}}@media (prefers-reduced-motion:reduce){.nav-indicator{transition:none}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;white-space:nowrap;-webkit-clip-path:inset(100%);clip-path:inset(100%);clip:rect(0 0 0 0);overflow:hidden}.nav-link:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid rgba(6,199,85,.5);outline-offset:3px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(6,199,85,.5);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@supports (padding:max(0px)){.app-root{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-bottom:max(2.5rem,env(safe-area-inset-bottom))}}@keyframes scale-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.animate-scale-in{animation:scale-in .25s var(--transition-smooth)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:rgba(0,0,0,.05);border-radius:10px}::-webkit-scrollbar-thumb{background:rgba(6,199,85,.3);border-radius:10px;-webkit-transition:background .2s;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:rgba(6,199,85,.5)}