@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,650;9..144,760&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap");:root{--color-primary:#006b3f;--color-primary-light:#0f8f4c;--color-primary-dark:#004a2a;--color-accent:#c7a246;--color-accent-glow:rgba(15,143,76,0.16);--color-bg:#f7f2e8;--color-bg-raised:rgba(255,252,244,0.9);--color-bg-card:rgba(255,255,252,0.86);--color-bg-card-hover:rgba(255,255,252,0.96);--color-bg-modal:#fffdf7;--color-bg-input:rgba(255,255,255,0.78);--color-bg-input-focus:#ffffff;--color-text:#17251d;--color-text-secondary:#536157;--color-text-muted:#879187;--color-text-inverse:#fffdf7;--color-border:rgba(26,64,45,0.12);--color-border-hover:rgba(26,64,45,0.24);--color-border-focus:var(--color-primary-light);--color-success:#087a42;--color-warning:#aa6b00;--color-error:#ba2d2d;--color-info:#1e63b6;--color-success-bg:rgba(8,122,66,0.1);--color-warning-bg:rgba(170,107,0,0.12);--color-error-bg:rgba(186,45,45,0.1);--color-info-bg:rgba(30,99,182,0.1);--font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,sans-serif;--font-heading:"Fraunces",Georgia,serif;--font-size-xs:0.7rem;--font-size-sm:0.8rem;--font-size-base:0.9rem;--font-size-md:1rem;--font-size-lg:1.15rem;--font-size-xl:1.4rem;--font-size-2xl:1.8rem;--font-size-3xl:2.4rem;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 3px rgba(46,62,50,0.08);--shadow-md:0 10px 26px rgba(46,62,50,0.11);--shadow-lg:0 22px 60px rgba(46,62,50,0.16);--shadow-glow:0 0 20px var(--color-accent-glow);--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:400ms ease;--sidebar-width:260px;--header-height:64px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);background:radial-gradient(circle at 82% 8%,rgba(15,143,76,.14),transparent 30%),radial-gradient(circle at 18% 88%,rgba(199,162,70,.16),transparent 34%),linear-gradient(135deg,rgba(0,107,63,.06) 0 18%,transparent 18% 100%),var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(0,107,63,.045) 1px,transparent 0),linear-gradient(90deg,rgba(0,107,63,.04) 1px,transparent 0);background-size:44px 44px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 72%);mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 72%)}a{color:var(--color-primary-light);text-decoration:none}a:hover{color:var(--color-accent)}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:linear-gradient(180deg,rgba(255,253,247,.96),rgba(240,249,238,.9)),var(--color-bg-raised);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-md)}.sidebar-header{padding:var(--space-lg) var(--space-lg) var(--space-md);border-bottom:1px solid var(--color-border)}.sidebar-logo{display:flex;align-items:center;gap:var(--space-sm)}.sidebar-logo .logo-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:16px}.sidebar-logo h1{font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.sidebar-nav{padding:var(--space-md) var(--space-sm);flex:1 1;display:flex;flex-direction:column;gap:var(--space-xs)}.nav-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;color:var(--color-text-secondary);transition:all var(--transition-fast);cursor:pointer;text-decoration:none}.nav-item:hover{background:rgba(0,107,63,.07);color:var(--color-text)}.nav-item.active{background:linear-gradient(135deg,rgba(0,107,63,.12),rgba(199,162,70,.14));color:var(--color-primary-dark);box-shadow:inset 3px 0 0 var(--color-primary)}.nav-item .nav-icon{font-size:18px;width:20px;text-align:center}.sidebar-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-muted)}.main-content{margin-left:var(--sidebar-width);flex:1 1;min-height:100vh}.page-header{padding:var(--space-xl) var(--space-2xl);border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,rgba(255,253,247,.94),rgba(240,249,238,.82)),var(--color-bg-raised);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.page-header h2{font-family:var(--font-heading);font-size:var(--font-size-2xl);font-weight:700;letter-spacing:-.03em}.page-header p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-top:var(--space-xs)}.page-body{padding:var(--space-xl) var(--space-2xl)}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.card:hover{border-color:var(--color-border-hover);background:var(--color-bg-card-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.card-title{font-family:var(--font-heading);font-size:var(--font-size-md);font-weight:600}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:var(--space-lg);gap:var(--space-lg)}.stat-card{display:flex;flex-direction:column;gap:var(--space-xs)}.stat-card .stat-value{font-size:var(--font-size-3xl);font-weight:800;letter-spacing:-.04em;line-height:1}.stat-card .stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge:before{content:"";width:6px;height:6px;border-radius:50%}.badge-ready,.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-ready:before,.badge-success:before{background:var(--color-success)}.badge-needs_login,.badge-preparing,.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-needs_login:before,.badge-preparing:before,.badge-warning:before{background:var(--color-warning)}.badge-error,.badge-failed{background:var(--color-error-bg);color:var(--color-error)}.badge-error:before,.badge-failed:before{background:var(--color-error)}.badge-info,.badge-running,.badge-scheduled{background:var(--color-info-bg);color:var(--color-info)}.badge-info:before,.badge-running:before,.badge-scheduled:before{background:var(--color-info)}.badge-draft{background:rgba(26,64,45,.08);color:var(--color-text-muted)}.badge-draft:before{background:var(--color-text-muted)}.badge-running{animation:pulse-badge 2s ease-in-out infinite}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.6}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:10px 20px;border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:600;border:none;cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:white;box-shadow:0 2px 8px rgba(0,102,51,.3)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,102,51,.4)}.btn-secondary{background:rgba(255,253,247,.84);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:#ffffff;border-color:var(--color-border-hover)}.btn-danger{background:rgba(229,69,69,.1);color:var(--color-error);border:1px solid rgba(229,69,69,.2)}.btn-danger:hover{background:rgba(229,69,69,.2)}.btn-sm{padding:6px 14px;font-size:var(--font-size-sm)}.btn-icon{padding:8px;width:36px;height:36px}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.04em}.form-input,.form-select,.form-textarea{width:100%;padding:10px 14px;background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-base);transition:all var(--transition-fast);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{background:var(--color-bg-input-focus);border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-accent-glow)}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-lg);gap:var(--space-lg)}.form-toggle{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer}.toggle-switch{position:relative;width:44px;height:24px;background:rgba(26,64,45,.16);border-radius:var(--radius-full)}.toggle-switch,.toggle-switch:after{transition:all var(--transition-fast)}.toggle-switch:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:white;top:3px;left:3px}.form-toggle input:checked+.toggle-switch{background:var(--color-primary-light)}.form-toggle input:checked+.toggle-switch:after{transform:translateX(20px)}.form-toggle input{display:none}.timeline{display:flex;flex-direction:column;gap:0;position:relative}.timeline:before{content:"";position:absolute;left:11px;top:0;bottom:0;width:2px;background:var(--color-border)}.timeline-event{display:flex;gap:var(--space-md);padding:var(--space-sm) 0;position:relative}.timeline-dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;z-index:1;flex-shrink:0;background:var(--color-bg-raised);border:2px solid var(--color-border);box-shadow:0 0 0 4px var(--color-bg)}.timeline-event[data-type=booking_confirmed] .timeline-dot,.timeline-event[data-type=session_ready] .timeline-dot{border-color:var(--color-success);color:var(--color-success)}.timeline-event[data-type=error] .timeline-dot,.timeline-event[data-type=run_failed] .timeline-dot{border-color:var(--color-error);color:var(--color-error)}.timeline-event[data-type=booking_started] .timeline-dot,.timeline-event[data-type=slot_selecting] .timeline-dot{border-color:var(--color-info);color:var(--color-info)}.timeline-body{flex:1 1;min-width:0}.timeline-body .event-message{font-size:var(--font-size-base);color:var(--color-text)}.timeline-body .event-time{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px;font-family:monospace}.account-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);transition:background var(--transition-fast)}.account-item:last-child{border-bottom:none}.account-item:hover{background:rgba(0,107,63,.045)}.account-info{gap:var(--space-md)}.account-avatar,.account-info{display:flex;align-items:center}.account-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));justify-content:center;font-weight:700;font-size:var(--font-size-base);color:white}.account-actions{display:flex;gap:var(--space-sm)}.empty-state{text-align:center;padding:var(--space-2xl);color:var(--color-text-muted)}.empty-state .empty-icon{font-size:48px;margin-bottom:var(--space-md);opacity:.5}.empty-state h3{font-family:var(--font-heading);font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.modal-overlay{position:fixed;inset:0;background:rgba(23,37,29,.26);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal{background:var(--color-bg-modal);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-xl);width:100%;max-width:480px;box-shadow:var(--shadow-lg);animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.modal-header h3{font-family:var(--font-heading);font-size:var(--font-size-xl);font-weight:700}.modal-actions{display:flex;gap:var(--space-sm);justify-content:flex-end;margin-top:var(--space-xl)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.job-card{cursor:pointer}.job-card .job-target{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.job-card .job-target .court-icon{font-size:14px}.job-card .job-schedule{font-size:var(--font-size-xs);color:var(--color-text-muted);font-family:monospace}.job-card .job-schedule,.seasonal-warning{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm)}.seasonal-warning{padding:var(--space-sm) var(--space-md);background:var(--color-warning-bg);border:1px solid rgba(245,166,35,.2);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-warning)}.spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary-light);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.alert-banner{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-lg);font-size:var(--font-size-sm)}.alert-error{background:var(--color-error-bg);color:var(--color-error)}.alert-info{background:var(--color-info-bg);color:var(--color-info)}.alert-warning{background:var(--color-warning-bg);color:var(--color-warning)}.alert-success{background:var(--color-success-bg);color:var(--color-success)}.check-card{padding:var(--space-lg)}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:var(--space-md);gap:var(--space-md)}.field{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.field-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:600}.field-full{grid-column:1/-1;border:none;padding:0}.field input,.field select{width:100%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-input);color:var(--color-text);font-family:inherit;font-size:var(--font-size-base)}.field input:focus,.field select:focus{outline:none;border-color:var(--color-border-focus);background:var(--color-bg-input-focus)}.radio-row{display:flex;gap:var(--space-lg);flex-wrap:wrap;margin:var(--space-sm) 0}.radio,.radio-row{align-items:center}.radio{display:inline-flex;gap:var(--space-sm);font-size:var(--font-size-sm)}.check-actions{display:flex;justify-content:flex-end;margin-top:var(--space-lg)}.result-card{padding:var(--space-lg);margin-top:var(--space-xl)}.result-card.result-available{border-left:4px solid var(--color-success)}.result-card.result-unavailable{border-left:4px solid var(--color-warning)}.result-card.result-failed{border-left:4px solid var(--color-error)}.result-heading{margin-bottom:var(--space-sm);font-family:var(--font-heading)}.result-meta{color:var(--color-text-secondary)}.result-message,.result-meta{margin-bottom:var(--space-md)}.result-actions{display:flex;gap:var(--space-md);flex-wrap:wrap;align-items:center}.hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-sm)}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.filter-chip{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;font-family:inherit}.filter-chip.active{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary-dark)}.filter-count{margin-left:auto;font-size:var(--font-size-sm);color:var(--color-text-muted)}.alert-list{display:flex;flex-direction:column;gap:var(--space-md)}.alert-row{padding:var(--space-lg)}.alert-row-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);flex-wrap:wrap}.alert-row-title{font-size:var(--font-size-lg);margin-top:var(--space-xs)}.alert-row-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.alert-row-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:var(--space-md);gap:var(--space-md);margin-top:var(--space-md)}.alert-row-meta dt{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.alert-row-meta dd{font-size:var(--font-size-sm);color:var(--color-text);margin-top:2px}.badge-active{background:var(--color-info-bg);color:var(--color-info)}.badge-matched{background:var(--color-success-bg);color:var(--color-success)}.badge-cancelled{background:var(--color-warning-bg);color:var(--color-warning)}.badge-expired{background:rgba(135,145,135,.12);color:var(--color-text-muted)}.badge-failed{background:var(--color-error-bg);color:var(--color-error)}.badge-skipped,.badge-unmatched{background:rgba(135,145,135,.12);color:var(--color-text-muted)}.check-history{list-style:none;padding:0;margin-top:var(--space-md)}.check-history-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:var(--space-xs);font-size:var(--font-size-sm)}.profile-card{padding:var(--space-lg)}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--space-md);gap:var(--space-md);margin-top:var(--space-md)}.field-with-action{display:flex;gap:var(--space-sm);align-items:center;flex-wrap:wrap}.field-with-action input{flex:1 1 180px}.checkbox{display:flex;gap:var(--space-sm);align-items:center;margin-top:var(--space-sm);font-size:var(--font-size-sm)}.profile-actions{margin-top:var(--space-xl);display:flex;justify-content:flex-end}.btn-danger{background:var(--color-error);color:var(--color-text-inverse);border:1px solid var(--color-error)}.btn-danger:hover{filter:brightness(.92)}@media (max-width:900px){:root{--sidebar-width:220px}}@media (max-width:768px){.app-layout{flex-direction:column}.sidebar{position:static;width:100%;height:auto;padding:var(--space-md);flex-direction:row;align-items:center;justify-content:space-between}.sidebar-header{padding:0}.sidebar-nav{flex-direction:row;flex-wrap:wrap;gap:var(--space-xs);padding:0}.sidebar-footer{display:none}.main-content{margin-left:0;padding:var(--space-md)}.card-grid,.check-grid,.form-row{grid-template-columns:1fr}.alert-row-header{flex-direction:column;align-items:stretch}.alert-row-actions{justify-content:flex-end}.profile-grid{grid-template-columns:1fr}.page-header h2{font-size:var(--font-size-xl)}}