:root{--gg-dark: #16435B;--gg-mid: #2A5C76;--gg-steel: #52829C;--gg-light: #77A4BC;--gg-pale: #C8DCE9;--gg-off: #F6F6F6;--gg-white: #FFFFFF;--gg-black: #0D1B24;--gg-text: #1C3444;--gg-muted: #6B8FA3;--radius: 8px;--radius-lg: 16px;--shadow: 0 4px 24px rgba(22,67,91,.1);--shadow-lg: 0 8px 48px rgba(22,67,91,.16);--font-body: "Barlow", sans-serif;--font-display: "Barlow Condensed", sans-serif;--transition: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--gg-off);color:var(--gg-text);min-height:100vh;font-size:16px;line-height:1.6}.site-header{background:var(--gg-dark);position:sticky;top:0;z-index:100;box-shadow:0 2px 16px #0003}.header-inner{max-width:860px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between}.logo-img{height:36px;width:auto}.logo-text{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--gg-white);letter-spacing:.08em}.header-tag{font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--gg-pale);opacity:.8}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px;color:var(--gg-muted)}.loading-spinner{width:40px;height:40px;border:3px solid var(--gg-pale);border-top-color:var(--gg-mid);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-screen{max-width:560px;margin:80px auto;padding:24px;text-align:center}.error-inner{background:var(--gg-white);border-radius:var(--radius-lg);padding:48px 40px;box-shadow:var(--shadow)}.shield-icon{font-size:48px;margin-bottom:16px}.error-inner h2{font-family:var(--font-display);font-size:28px;color:var(--gg-dark);margin-bottom:12px}.error-inner p{color:var(--gg-muted);line-height:1.7}.error-inner a{color:var(--gg-mid)}.workshop-hero{background:linear-gradient(135deg,var(--gg-dark) 0%,var(--gg-mid) 100%);padding:56px 24px 48px;position:relative;overflow:hidden}.workshop-hero:before{content:"";position:absolute;top:-60px;right:-60px;width:320px;height:320px;border-radius:50%;background:#ffffff0a;pointer-events:none}.workshop-hero:after{content:"";position:absolute;bottom:-40px;left:-40px;width:200px;height:200px;border-radius:50%;background:#ffffff08;pointer-events:none}.hero-inner{max-width:860px;margin:0 auto;position:relative;z-index:1}.pre-label{font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gg-pale);margin-bottom:12px}.workshop-title{font-family:var(--font-display);font-size:clamp(32px,5vw,52px);font-weight:700;color:var(--gg-white);line-height:1.1;margin-bottom:12px;letter-spacing:-.01em}.workshop-subtitle{font-size:17px;color:var(--gg-pale);opacity:.9;margin-bottom:20px;font-weight:300}.hero-meta{display:flex;gap:24px;flex-wrap:wrap}.meta-item{font-size:13px;color:var(--gg-pale);opacity:.75;font-weight:500}.meta-item:empty{display:none}.progress-wrap{background:var(--gg-white);border-bottom:1px solid rgba(22,67,91,.08);position:sticky;top:65px;z-index:90;box-shadow:0 2px 8px #0000000f}.progress-inner{max-width:860px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;gap:16px}.progress-steps{display:flex;gap:6px;flex-shrink:0}.progress-step{width:28px;height:28px;border-radius:50%;border:2px solid var(--gg-pale);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--gg-muted);transition:all var(--transition);cursor:default;font-family:var(--font-display)}.progress-step.active{background:var(--gg-mid);border-color:var(--gg-mid);color:#fff;transform:scale(1.1)}.progress-step.done{background:var(--gg-dark);border-color:var(--gg-dark);color:#fff}.progress-bar-track{flex:1;height:4px;background:var(--gg-pale);border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--gg-dark),var(--gg-steel));border-radius:2px;transition:width .4s ease}.progress-label{font-size:12px;font-weight:600;color:var(--gg-muted);flex-shrink:0;font-family:var(--font-display);letter-spacing:.05em}.survey-container{max-width:860px;margin:0 auto;padding-bottom:80px}.survey-form{width:100%}.form-section{display:none;padding:48px 24px 24px;animation:fadeSlideIn .35s ease}.form-section.active{display:block}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.section-header{display:flex;align-items:flex-start;gap:20px;margin-bottom:36px}.section-number{font-family:var(--font-display);font-size:56px;font-weight:700;line-height:1;color:var(--gg-pale);flex-shrink:0;letter-spacing:-.02em;margin-top:-4px}.section-title{font-family:var(--font-display);font-size:28px;font-weight:700;color:var(--gg-dark);letter-spacing:-.01em;line-height:1.1}.section-desc{font-size:15px;color:var(--gg-muted);margin-top:6px;font-weight:300}.fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field-group{display:flex;flex-direction:column;gap:6px}.field-group.full{grid-column:1 / -1}.field-group.half{grid-column:span 1}.field-label{font-size:14px;font-weight:600;color:var(--gg-dark);letter-spacing:.01em}.field-hint{font-size:12px;color:var(--gg-muted);margin-top:-2px;font-style:italic}.required{color:var(--gg-steel)}.field-input{background:var(--gg-white);border:1.5px solid var(--gg-pale);border-radius:var(--radius);padding:12px 16px;font-family:var(--font-body);font-size:15px;color:var(--gg-text);width:100%;transition:border-color var(--transition),box-shadow var(--transition);outline:none;-webkit-appearance:none}.field-input:focus{border-color:var(--gg-mid);box-shadow:0 0 0 3px #2a5c761f}.field-input.error{border-color:#c0392b;box-shadow:0 0 0 3px #c0392b1a}.field-input::placeholder{color:var(--gg-muted);opacity:.7}.field-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2352829C' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;cursor:pointer}.field-textarea{resize:vertical;min-height:80px;line-height:1.6}.checkbox-group,.radio-group{display:flex;flex-direction:column;gap:10px;margin-top:4px}.check-item,.radio-item{display:flex;align-items:center;gap:12px;cursor:pointer;padding:10px 14px;border-radius:var(--radius);border:1.5px solid var(--gg-pale);background:var(--gg-white);transition:all var(--transition);font-size:14px;color:var(--gg-text);-webkit-user-select:none;user-select:none}.check-item:hover,.radio-item:hover{border-color:var(--gg-steel);background:#2a5c760a}.check-item input,.radio-item input{display:none}.check-box,.radio-box{width:20px;height:20px;border:2px solid var(--gg-pale);border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all var(--transition);background:var(--gg-white)}.radio-box{border-radius:50%}.check-item input:checked~.check-box{background:var(--gg-mid);border-color:var(--gg-mid)}.check-item input:checked~.check-box:after{content:"";width:10px;height:6px;border-left:2px solid white;border-bottom:2px solid white;transform:rotate(-45deg) translateY(-1px)}.radio-item input:checked~.radio-box{border-color:var(--gg-mid)}.radio-item input:checked~.radio-box:after{content:"";width:10px;height:10px;background:var(--gg-mid);border-radius:50%}.check-item input:checked~span:last-child,.radio-item input:checked~span:last-child{color:var(--gg-dark);font-weight:500}.check-item:has(input:checked),.radio-item:has(input:checked){border-color:var(--gg-mid);background:#2a5c760d}.form-nav{max-width:860px;margin:0 auto;padding:24px 24px 48px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid rgba(22,67,91,.08)}.nav-right{display:flex;align-items:center;gap:16px;margin-left:auto}.required-note{font-size:12px;color:var(--gg-muted);font-style:italic}.btn{font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:.06em;padding:12px 28px;border-radius:var(--radius);border:none;cursor:pointer;transition:all var(--transition);text-transform:uppercase}.btn-primary{background:var(--gg-mid);color:#fff;box-shadow:0 4px 16px #2a5c764d}.btn-primary:hover{background:var(--gg-dark);transform:translateY(-1px);box-shadow:0 6px 20px #16435b59}.btn-submit{background:var(--gg-dark);color:#fff;box-shadow:0 4px 16px #16435b4d}.btn-submit:hover{background:#0d2e3f;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--gg-muted);border:1.5px solid var(--gg-pale)}.btn-ghost:hover{border-color:var(--gg-steel);color:var(--gg-dark)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.success-screen{max-width:600px;margin:80px auto;padding:24px;text-align:center;animation:fadeSlideIn .5s ease}.success-inner{background:var(--gg-white);border-radius:var(--radius-lg);padding:56px 48px;box-shadow:var(--shadow-lg);border-top:4px solid var(--gg-dark)}.success-shield{width:80px;height:80px;margin:0 auto 24px;background:var(--gg-off);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:36px}.success-logo{width:60px;height:auto}.success-inner h2{font-family:var(--font-display);font-size:36px;font-weight:700;color:var(--gg-dark);margin-bottom:16px}.success-inner p{color:var(--gg-muted);line-height:1.8;margin-bottom:8px}.success-sub{font-style:italic;color:var(--gg-steel)!important;margin-top:24px!important}.success-tag{font-size:13px;color:var(--gg-pale);margin-top:32px;font-family:var(--font-display);letter-spacing:.04em}.site-footer{background:var(--gg-dark);text-align:center;padding:20px 24px}.site-footer p{font-size:12px;color:var(--gg-pale);opacity:.6;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase}.field-error{font-size:12px;color:#c0392b;margin-top:4px;display:none}.field-group.has-error .field-error{display:block}.field-group.has-error .field-input{border-color:#c0392b}@media (max-width: 640px){.fields-grid{grid-template-columns:1fr}.field-group.half{grid-column:1 / -1}.form-nav,.nav-right{flex-direction:column;align-items:stretch}.btn{text-align:center}.progress-steps{display:none}.workshop-hero{padding:40px 20px 32px}.section-header{flex-direction:column;gap:8px}.section-number{font-size:36px}.success-inner{padding:40px 24px}}.admin-body{background:#0f1e28;margin:0;padding:0;min-height:100vh}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#0d1b24,#1a3a50)}.login-card{background:#fff;border-radius:16px;padding:48px 44px;width:100%;max-width:420px;box-shadow:0 20px 60px #0006}.login-logo{text-align:center;margin-bottom:36px}.login-logo-img{height:64px;width:auto;margin-bottom:12px}.login-wordmark{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:.12em;color:var(--gg-dark)}.login-sub{font-size:13px;color:var(--gg-muted);margin-top:4px;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase}.login-form{display:flex;flex-direction:column;gap:16px}.login-btn{width:100%;margin-top:8px}.login-error{background:#fdf0ef;border:1px solid #f5c6c2;color:#c0392b;border-radius:8px;padding:10px 14px;font-size:13px}.dashboard{display:flex;min-height:100vh}.mobile-topbar,.mobile-nav-scrim,.mobile-menu-button{display:none}.sidebar{width:220px;background:var(--gg-dark);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50}.sidebar-logo{padding:24px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-logo-img{height:32px;width:auto}.sidebar-brand{font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.1em;color:#fff}.sidebar-tag{font-size:10px;color:var(--gg-pale);opacity:.6;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase}.sidebar-nav{flex:1;padding:20px 12px;display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;border:none;background:transparent;color:#fff9;font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:.05em;cursor:pointer;text-align:left;transition:all .15s ease;width:100%;text-transform:uppercase}.nav-item:hover{background:#ffffff12;color:#fff}.nav-item.active{background:#ffffff1f;color:#fff}a.nav-item{text-decoration:none;box-sizing:border-box}.sidebar-nav a{text-decoration:none}.nav-icon{font-size:16px;opacity:.7}.lucide-nav-icon{width:16px;height:16px;opacity:.7;flex-shrink:0}.nav-group{display:flex;flex-direction:column}.nav-group-caret{margin-left:auto;width:16px;height:16px;opacity:.6;transition:transform .3s ease;flex-shrink:0}.nav-group.expanded .nav-group-caret{transform:rotate(180deg)}.nav-submenu{display:none;flex-direction:column;gap:2px;padding:4px 0 4px 14px}.nav-group.expanded .nav-submenu{display:flex}.nav-item.nav-group-toggle{padding:0}.nav-group-label{flex:1;display:flex;align-items:center;gap:10px;padding:10px 14px;margin:0;background:transparent;border:none;outline:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;text-align:left;white-space:nowrap;border-radius:8px 0 0 8px}.nav-group-caret-btn{display:flex;align-items:center;padding:10px 14px 10px 4px;margin:0;background:transparent;border:none;outline:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:inherit;cursor:pointer;border-radius:0 8px 8px 0}.nav-group-label:hover{background:#ffffff12;color:#fff}.nav-group-caret-btn:hover{color:#fff}.nav-subitem{display:flex;align-items:center;padding:8px 14px;border-radius:8px;border:none;border-left:2px solid rgba(255,255,255,.1);background:transparent;color:#ffffff80;font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:.05em;cursor:pointer;text-align:left;transition:all .15s ease;width:100%;text-transform:uppercase}.nav-subitem:hover{background:#ffffff12;color:#fff}.nav-subitem.active{background:#ffffff1f;color:#fff;border-left-color:#fff}.sidebar-footer{padding:16px 20px;border-top:1px solid rgba(255,255,255,.08)}.btn-signout{background:transparent;border:1px solid rgba(255,255,255,.2);color:#ffffff80;padding:8px 16px;border-radius:6px;font-family:var(--font-display);font-size:12px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;width:100%;transition:all .15s}.btn-signout:hover{border-color:#fff6;color:#fffc}.dash-main{margin-left:220px;flex:1;background:#f4f7fa;min-height:100vh}.top-bar{background:#fff;border-bottom:1px solid rgba(22,67,91,.1);padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:40;box-shadow:0 2px 8px #0000000a}.top-bar-left{display:flex;align-items:center;gap:12px}.top-bar-label{font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gg-muted)}.workshop-select{font-family:var(--font-body);font-size:15px;font-weight:600;color:var(--gg-dark);background:var(--gg-off);border:1.5px solid var(--gg-pale);border-radius:8px;padding:8px 36px 8px 14px;min-width:280px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2352829C' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;-webkit-appearance:none;outline:none}.top-bar-right{display:flex;align-items:center;gap:10px}.share-label{font-size:12px;color:var(--gg-muted);font-weight:600}.share-url{font-family:monospace;font-size:12px;background:var(--gg-off);padding:6px 12px;border-radius:6px;color:var(--gg-dark);border:1px solid var(--gg-pale);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-copy{background:var(--gg-mid);color:#fff;border:none;padding:6px 14px;border-radius:6px;font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.06em;cursor:pointer;transition:background .15s}.btn-copy:hover{background:var(--gg-dark)}.view{display:none;padding:32px}.view.active{display:block}.view-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:12px}.view-title{font-family:var(--font-display);font-size:32px;font-weight:700;color:var(--gg-dark);letter-spacing:-.01em}.view-sub{font-size:14px;color:var(--gg-muted);margin-top:4px;margin-bottom:10px}.resource-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.resource-library-card{background:var(--gg-white);border:1px solid var(--gg-pale);border-radius:12px;padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}.resource-library-card h2{margin:0;color:var(--gg-dark);font-family:var(--font-display);font-size:22px}.resource-library-card p{margin:0;color:var(--gg-muted);flex:1}@media (max-width: 620px){.resource-library-grid{grid-template-columns:1fr}}.session-library-tabs{display:flex;gap:6px;border-bottom:1px solid var(--gg-pale);margin-bottom:24px;overflow-x:auto}.session-library-tab{flex:0 0 auto;padding:10px 16px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--gg-muted);font:600 16px var(--font-display);cursor:pointer}.session-library-tab:hover,.session-library-tab.active{color:var(--gg-dark);border-bottom-color:var(--gg-mid)}.session-library-tab:focus-visible,.presentation-asset-preview:focus-visible{outline:3px solid var(--gg-steel);outline-offset:-3px}.presentation-assets-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:18px}.presentation-assets-heading .detail-section-title{margin:0}.presentation-assets-heading .view-sub{margin-bottom:0}.presentation-assets-count{white-space:nowrap;padding:6px 10px;border-radius:20px;background:var(--gg-pale);color:var(--gg-dark);font-size:12px;font-weight:600}.presentation-asset-upload{margin-bottom:28px}.presentation-asset-upload .card-title{margin-top:0}.presentation-asset-upload .field-input[type=file]{min-width:0;max-width:100%}.presentation-asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}.presentation-asset-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--gg-pale);border-radius:12px;background:#fff;box-shadow:0 2px 8px #16435b0f}.presentation-asset-preview{display:grid;place-items:center;width:100%;aspect-ratio:16 / 10;padding:0;border:0;background:var(--gg-off);color:var(--gg-steel);cursor:pointer;overflow:hidden}.presentation-asset-preview img{width:100%;height:100%;object-fit:cover}.presentation-assets-slides .presentation-asset-preview img{object-fit:contain}.presentation-asset-info{flex:1;min-width:0;padding:14px 14px 8px}.presentation-asset-info h3{margin:0 0 5px;color:var(--gg-dark);font:700 18px var(--font-display);overflow-wrap:anywhere}.presentation-asset-info p{margin:0 0 8px;color:var(--gg-text);font-size:13px;line-height:1.4}.presentation-asset-info span{display:block;color:var(--gg-muted);font-size:12px;overflow-wrap:anywhere}.presentation-asset-actions{display:flex;gap:8px;padding:10px 14px 14px}@media (max-width: 620px){.presentation-assets-heading{flex-direction:column}.presentation-asset-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}@media (max-width: 1080px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.stats-grid{grid-template-columns:1fr}}.dashboard-operations-grid .stat-card{padding:16px}.dashboard-operations-grid .stat-value{font-size:32px}.dashboard-quick-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:8px 0 28px;padding:18px 20px;background:#fff;border:1px solid var(--gg-pale);border-radius:10px}.dashboard-quick-actions .detail-section-title{margin:0;font-size:20px}.dashboard-quick-actions>div:last-child{display:flex;flex-wrap:wrap;gap:12px}@media (max-width: 640px){.dashboard-quick-actions{align-items:flex-start;flex-direction:column}}.loading-indicator{min-height:160px;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--gg-muted);font-size:14px}.loading-spinner{width:32px;height:32px;border:3px solid var(--gg-pale);border-top-color:var(--gg-mid);border-radius:50%;animation:gg-spin .75s linear infinite}@keyframes gg-spin{to{transform:rotate(360deg)}}.calendar-actions,.calendar-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendar-actions{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));width:min(420px,100%)}.calendar-actions .btn{width:100%;min-height:46px;padding:8px 18px;display:grid;place-items:center;white-space:nowrap}.calendar-view .view-header{margin-bottom:18px}.calendar-view .view-title{margin:0}.calendar-view .calendar-toolbar{margin-bottom:4px}.calendar-view .detail-section-title{margin:8px 0}.calendar-toolbar{margin-bottom:18px}.calendar-navigation{display:grid;justify-items:start;gap:10px}.calendar-date-jump{display:flex;align-items:center;gap:8px;color:var(--gg-muted);font-size:13px;font-weight:600}.calendar-date-jump .field-input{width:auto;padding:8px 10px}.stat-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #16435b0f;border-top:3px solid var(--gg-pale)}.stat-card.accent{border-top-color:var(--gg-mid)}.stat-card>span+strong{margin-left:.45rem}.stat-value{font-family:var(--font-display);font-size:40px;font-weight:700;color:var(--gg-dark);line-height:1;margin-bottom:8px}.stat-label{font-size:14px;font-weight:600;color:var(--gg-muted);text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-display)}.stat-card.accent-danger,.stat-card.expense-total,.stat-card.net-negative{border-top-color:#c0392b}.stat-card.expense-total .stat-value,.stat-card.net-negative .stat-value{color:#c0392b}.stat-card.net-positive{border-top-color:#1f8a53}.stat-card.net-positive .stat-value{color:#1f8a53}.stat-card.clickable{cursor:pointer;transition:box-shadow .15s}.stat-card.clickable:hover{box-shadow:0 4px 14px #16435b1f}.stat-sub{font-size:12px;color:var(--gg-muted);margin-top:2px}.dashboard-split-row{display:grid;grid-template-columns:1fr 1fr;gap:32px}@media (max-width: 900px){.dashboard-split-row{grid-template-columns:1fr}}.dashboard-section-header{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.dashboard-section-link{font-size:13px;font-weight:600;color:var(--gg-mid);text-decoration:none}.dashboard-section-link:hover{text-decoration:underline}.dashboard-event-row{display:flex;width:100%;align-items:center;gap:14px;background:#fff;border:none;border-radius:10px;padding:14px 16px;margin-bottom:8px;box-shadow:0 2px 8px #16435b0d;cursor:pointer;color:inherit;font:inherit;text-align:left;text-decoration:none;transition:box-shadow .15s}.dashboard-event-row:hover{box-shadow:0 2px 12px #16435b1f}.dashboard-event-main{flex:1;min-width:0}.dashboard-event-title{display:block;font-size:14px;font-weight:600;color:var(--gg-dark)}.dashboard-event-meta{display:block;font-size:12px;color:var(--gg-muted);margin-top:2px}#dashboardTaskList .task-row{background:#fff;border:none;border-radius:10px;padding:14px 16px;margin-bottom:8px;box-shadow:0 2px 8px #16435b0d;transition:box-shadow .15s}#dashboardTaskList .task-row:hover{box-shadow:0 2px 12px #16435b1f}.charts-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-bottom:32px}.chart-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #16435b0f}.chart-title{font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gg-dark);margin-bottom:20px}.chart-wrap{position:relative;height:220px;display:flex;align-items:center;justify-content:center}.open-section{margin-bottom:32px}.open-title{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--gg-dark);margin-bottom:8px}.open-hint{font-size:13px;color:var(--gg-muted);margin-bottom:16px;font-style:italic}.open-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.open-card{background:#fff;border-radius:10px;padding:18px 20px;box-shadow:0 2px 6px #16435b0f;border-left:3px solid var(--gg-steel)}.open-card-text{font-size:14px;color:var(--gg-text);line-height:1.7;margin-bottom:10px;font-style:italic}.builder-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #16435b14;margin-bottom:20px}.survey-questions-list{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 8px #16435b14;max-height:360px;overflow-y:auto}.survey-question-item{border-bottom:1px solid rgba(22,67,91,.1);padding:10px 0}.survey-question-item:last-child{border-bottom:none}.survey-question-text{font-weight:600;color:var(--gg-dark)}.survey-question-meta{font-size:12px;color:var(--gg-muted);margin-top:4px}.tiny-note{font-size:12px;color:var(--gg-muted);margin-top:12px}.open-card-meta{font-size:12px;font-weight:600;color:var(--gg-muted);font-family:var(--font-display);letter-spacing:.04em}.responses-table-wrap{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #16435b0f}.responses-table{width:100%;border-collapse:collapse;font-size:14px}.responses-table th{background:var(--gg-dark);color:#fff;padding:14px 16px;text-align:left;font-family:var(--font-display);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}.responses-table td{padding:13px 16px;border-bottom:1px solid var(--gg-off);color:var(--gg-text);vertical-align:top}.responses-table tr:last-child td{border-bottom:none}.responses-table tr:hover td{background:#2a5c7608}.responses-table tr{cursor:pointer}.responses-table .clickable-row:focus-visible td{background:#2a5c7614;outline:2px solid var(--gg-steel);outline-offset:-2px}.date-short{display:none}.event-list-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:0 0 20px}.event-list-controls label{display:grid;gap:5px;color:var(--gg-muted);font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.event-list-controls .field-input{min-width:160px}.event-list-controls .filter-toggle{display:flex;align-items:center;gap:8px;min-height:42px;padding-top:18px;cursor:pointer}.event-list-controls .filter-toggle input{width:16px;height:16px;margin:0;accent-color:var(--gg-mid)}.expand-btn{background:var(--gg-off);border:none;color:var(--gg-mid);font-size:12px;font-weight:600;padding:5px 12px;border-radius:6px;cursor:pointer;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase}.expand-btn:hover{background:var(--gg-pale)}.response-detail-row{display:none}.response-detail-row.open{display:table-row}.response-detail-row td{background:#f9fbfc;padding:20px 24px;border-bottom:2px solid var(--gg-pale)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-item{font-size:13px}.detail-label{font-weight:600;color:var(--gg-muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.detail-value{color:var(--gg-dark);line-height:1.6}.detail-full{grid-column:1 / -1}.empty-state{padding:60px;text-align:center;color:var(--gg-muted);font-style:italic}.workshops-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.workshop-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #16435b0f;border-left:4px solid var(--gg-mid);display:flex;flex-direction:column;gap:8px}.workshop-card.inactive{border-left-color:var(--gg-pale);opacity:.7}.wc-title{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--gg-dark)}.wc-subtitle{font-size:13px;color:var(--gg-muted)}.wc-meta{display:flex;gap:16px;margin-top:4px}.wc-badge{font-size:11px;font-weight:600;color:var(--gg-steel);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase}.wc-badge.active-badge{color:var(--gg-dark)}.wc-actions{display:flex;gap:8px;margin-top:8px}.btn-sm{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:6px 14px;border-radius:6px;border:none;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-sm-ghost{background:var(--gg-off);color:var(--gg-muted);border:1px solid var(--gg-pale)}.btn-sm-ghost:hover{border-color:var(--gg-steel);color:var(--gg-dark)}.session-add-button{margin-bottom:14px}.btn-sm-danger{background:#fdf0ef;color:#c0392b;border:1px solid #f5c6c2}.btn-sm-danger:hover{background:#f9dbd8}.client-code-chip{font-family:monospace;font-size:13px;letter-spacing:.04em;background:var(--gg-off);border:1px solid var(--gg-pale);border-radius:6px;padding:4px 10px}.seat-badge{font-family:var(--font-display);font-size:11px;font-weight:600;color:var(--gg-muted);margin-left:auto}.client-list-row{cursor:pointer}.client-list-row:hover{background:var(--gg-off)}.detail-section-title{font-family:var(--font-display);font-size:28px;font-weight:700;color:var(--gg-dark);margin:18px 0 16px}.currency-input{display:flex;align-items:stretch}.currency-input-prefix{display:flex;align-items:center;padding:0 12px;color:var(--gg-muted);background:var(--gg-off);border:1px solid var(--gg-pale);border-right:0;border-radius:6px 0 0 6px}.currency-input .field-input{min-width:0;border-radius:0 6px 6px 0}.income-fields-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.income-save-action{display:flex;align-items:end}.income-save-action .btn{height:45px;padding-block:0}.income-fields-grid+.responses-table-wrap{margin-top:16px}.income-fields-grid+.responses-table-wrap+.create-form-actions{display:grid;grid-template-columns:repeat(3,1fr);margin-top:16px}.income-fields-grid+.responses-table-wrap+.create-form-actions .btn{width:100%;color:var(--gg-white);background:var(--gg-mid)}.income-fields-grid+.responses-table-wrap+.create-form-actions .btn:hover{background:var(--gg-dark)}.invoice-number-link,.income-item-link{padding:0;color:var(--gg-mid);background:none;border:0;cursor:pointer;font:inherit;text-decoration:underline;text-align:left}.income-table-wrap .responses-table th:first-child,.income-table-wrap .responses-table td:first-child{text-align:left}.income-table-wrap .responses-table th:last-child,.income-table-wrap .responses-table td:last-child{min-width:168px}.income-table-wrap .income-column-filters th{padding:8px 6px;background:var(--gg-off)}.income-table-wrap .income-column-filters .field-input{width:100%;min-width:76px;padding:6px 7px;font-size:12px}.income-table-wrap .attachment-delete-button{min-width:22px;padding:1px 5px;margin-left:4px;line-height:1.1}.income-column-filters th:last-child .btn-sm,.expense-column-filters th:last-child .btn-sm{font-size:0}.income-column-filters th:last-child .btn-sm:after,.expense-column-filters th:last-child .btn-sm:after{content:"Clear Filters";font-size:12px}.settings-page{max-width:1120px}.settings-intro{display:flex;gap:12px;align-items:baseline;margin:0 0 20px;color:var(--gg-text)}.settings-intro span{color:var(--gg-muted)}.settings-card{margin:18px 0;padding:24px;background:#fff;border:1px solid var(--gg-border);border-radius:14px;box-shadow:0 4px 14px #1446600f}.settings-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.settings-card h2{margin:0;color:var(--gg-dark);font-size:21px}.settings-option-list{display:grid;gap:10px}.settings-option-row{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(150px,1fr) minmax(180px,1fr) 28px;align-items:end;gap:10px}.settings-option-row label{display:grid;gap:4px;min-width:0;color:var(--gg-muted);font-size:12px;font-weight:700}.settings-option-row .settings-delete{min-width:26px;padding:4px;line-height:1;font-size:18px}.settings-card:first-of-type .settings-option-row{grid-template-columns:minmax(180px,1.3fr) minmax(150px,1fr) 28px}.settings-actions{justify-content:space-between;margin-top:24px}@media (max-width: 760px){.settings-intro,.settings-card-header{display:grid}.settings-option-row,.settings-card:first-of-type .settings-option-row{grid-template-columns:1fr}.settings-option-row .settings-delete{justify-self:end}}.dashboard-operations-grid{display:none}.expenses-table-wrap .expense-column-filters th{padding:8px 6px;background:var(--gg-off)}.expenses-table-wrap .expense-column-filters .field-input{width:100%;min-width:92px;padding:6px 7px;font-size:12px}.income-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.invoice-number-link+.invoice-number-link:before{content:", ";color:var(--gg-text);text-decoration:none}.engagement-financials>section+section{border-top:1px solid var(--gg-pale);margin-top:28px;padding-top:28px}.expense-section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.expense-section-header .detail-section-title{margin:0}.expense-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}.expense-amount-input{min-width:110px}.expense-amount-currency{min-width:142px}.receipt-upload-action input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}label.receipt-upload-action{display:inline-flex;align-items:center}.mileage-summary{display:flex;gap:24px;margin:12px 0 16px;color:var(--gg-text)}.mileage-summary span{display:inline-flex;gap:4px;align-items:baseline}.mileage-calculated{display:flex;align-items:center}.engagement-financials>section:last-child .responses-table{table-layout:fixed}.engagement-financials>section:last-child .responses-table th{padding:14px 10px;text-align:center}.engagement-financials>section:last-child .responses-table td{padding:13px 10px}.engagement-financials>section:last-child .responses-table th:nth-child(1),.engagement-financials>section:last-child .responses-table td:nth-child(1){width:16%}.engagement-financials>section:last-child .responses-table th:nth-child(2),.engagement-financials>section:last-child .responses-table td:nth-child(2){width:13%}.engagement-financials>section:last-child .responses-table th:nth-child(3),.engagement-financials>section:last-child .responses-table td:nth-child(3){width:15%}.engagement-financials>section:last-child .responses-table th:nth-child(4),.engagement-financials>section:last-child .responses-table td:nth-child(4){width:13%}.engagement-financials>section:last-child .responses-table th:nth-child(5),.engagement-financials>section:last-child .responses-table td:nth-child(5){width:10%}.engagement-financials>section:last-child .responses-table th:nth-child(6),.engagement-financials>section:last-child .responses-table td:nth-child(6){width:16%}.engagement-financials>section:last-child .responses-table th:nth-child(7),.engagement-financials>section:last-child .responses-table td:nth-child(7){width:17%}.engagement-financials>section:last-child .expense-row-actions{min-width:0;flex-wrap:wrap;justify-content:flex-start;white-space:normal}.engagement-financials>section:last-child .expense-row-actions .btn-sm{flex:1 1 auto}@media (max-width: 640px){.expense-section-header{align-items:flex-start;flex-direction:column}}@media (max-width: 640px){.income-fields-grid{grid-template-columns:1fr}.income-save-action{justify-content:flex-start}.income-fields-grid+.responses-table-wrap+.create-form-actions{grid-template-columns:1fr}}.create-form-card{background:#fff;border-radius:12px;padding:32px;margin-bottom:24px;box-shadow:0 2px 8px #16435b0f;border-top:3px solid var(--gg-mid)}.card-title{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--gg-dark);margin-bottom:20px}.contact-row{background:var(--gg-off);border:1px solid var(--gg-pale);border-radius:10px;padding:16px;margin-bottom:12px;position:relative}.contact-row-title{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gg-steel);margin-bottom:12px}.contact-row-remove{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--gg-muted);font-size:18px;line-height:1;cursor:pointer;padding:2px 6px}.contact-row-remove:hover{color:#c0392b}.btn-add-dashed{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;font-weight:600;border:1px dashed var(--gg-pale);background:transparent;color:var(--gg-steel);font-size:12px;padding:8px 14px;border-radius:var(--radius, 8px);cursor:pointer;margin-top:4px}.btn-add-dashed:hover{border-color:var(--gg-steel);color:var(--gg-dark)}.create-form-actions{display:flex;gap:12px;margin-top:24px;justify-content:flex-end}.create-form-actions:has(>.btn-primary):has(>.btn-sm-danger)>.btn-sm-danger{order:-1;font-size:15px;padding:13px 30px}.mileage-section>.field-hint:after{content:" Only business mileage driven in a personal vehicle should be recorded here."}.receipt-new-expense{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px;margin-top:8px}section>.fields-grid+.create-form-actions+.stats-grid{margin-top:16px}section>.stats-grid+div[style]{margin-bottom:16px}.empty-hint{color:var(--gg-muted);font-style:italic;font-size:14px;padding:8px 0}.reg-summary-bar{display:flex;gap:24px;margin-bottom:28px;flex-wrap:wrap}.reg-summary-stat{background:#fff;border-radius:10px;padding:16px 24px;display:flex;flex-direction:column;gap:4px;box-shadow:0 2px 8px #16435b0f;min-width:140px}.reg-summary-num{font-family:var(--font-display);font-size:28px;font-weight:700;color:var(--gg-dark);letter-spacing:-.02em}.reg-summary-label{font-size:12px;color:var(--gg-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.training-roster-summary{margin:18px 0}.training-roster-add{margin-bottom:18px}.training-roster-person-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.training-roster-table tr{cursor:default}.training-roster-table td{vertical-align:middle}.training-roster-table td:first-child strong{display:block}@media (max-width: 640px){.training-roster-person-grid{grid-template-columns:1fr}}.reg-cards{display:flex;flex-direction:column;gap:16px}.reg-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #16435b0f;overflow:hidden}.reg-card-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 16px;gap:16px;flex-wrap:wrap}.reg-card-name{font-family:var(--font-display);font-size:17px;font-weight:700;color:var(--gg-dark)}.reg-card-email{font-size:13px;color:var(--gg-muted);margin-top:2px}.reg-card-meta-right{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}.reg-card-attendees{padding:0 24px 16px;border-top:1px solid var(--gg-pale);margin-top:4px}.reg-card-attendees-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gg-muted);padding:12px 0 8px}.reg-card-attendee-row{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--gg-text);padding:6px 0;border-bottom:1px solid var(--gg-pale)}.reg-card-attendee-row:last-child{border-bottom:none}.reg-card-attendee-email{color:var(--gg-muted);font-size:13px}.reg-card-status-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;background:#2a5c761a;color:var(--gg-mid);text-transform:uppercase;letter-spacing:.04em;margin-left:auto}.reg-card-status-badge.attended{background:#52829c26;color:var(--gg-steel)}.reg-card-status-badge.completed{background:#2e7d4f1f;color:#2e7d4f}.reg-card-status-badge.no_show{background:#c0392b1a;color:#c0392b}.attendance-status-select{font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--gg-dark);background:#fff;border:1px solid var(--gg-pale);border-radius:6px;padding:3px 8px;cursor:pointer;text-transform:capitalize}.reg-card-footer-meta{padding:10px 24px;font-size:12px;color:var(--gg-muted);background:var(--gg-off);border-top:1px solid var(--gg-pale)}.reg-card-footer-meta code{font-family:monospace;font-size:11px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a1e328c;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.modal-card{background:#fff;border-radius:14px;padding:0;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;overscroll-behavior-y:contain;box-shadow:0 16px 48px #0a1e3238}.modal-header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:2;background:var(--gg-white);padding:36px 36px 16px;border-bottom:1px solid var(--gg-pale)}.modal-body{padding:24px 36px 36px}.modal-body .create-form-card{margin:0;padding:0;border:0;box-shadow:none}.financial-document-filters{gap:12px;margin-bottom:12px}.financial-document-filters>.field-input{max-width:300px}.financial-document-filters>div{display:flex;flex-wrap:wrap;gap:10px}.financial-document-filters select.field-input{min-width:150px}.modal-title{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--gg-dark);margin:0}.modal-close{background:none;border:none;font-size:18px;color:var(--gg-muted);cursor:pointer;padding:4px 8px;border-radius:6px;line-height:1}.modal-close:hover{background:var(--gg-pale);color:var(--gg-dark)}.modal-card-wide{max-width:1100px}.modal-header-title-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.modal-header-status{width:auto;max-width:220px;font-size:12px;padding:6px 10px}main.dash-main:has(.tab-bar){position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;overflow:auto;padding:48px 40px;background:#0a1e328c}main.dash-main:has(.tab-bar) .view.active{position:relative;box-sizing:border-box;width:min(1100px,100%);min-height:min-content;max-height:calc(100vh - 96px);margin:0 auto;overflow-y:auto;background:var(--gg-white);border-radius:14px;box-shadow:0 16px 48px #0a1e3238;padding:32px 48px 40px}main.dash-main:has(.tab-bar) .view-title{margin:12px 0 20px}main.dash-main:has(.tab-bar) .view.active>a:first-child{position:absolute;top:24px;right:28px;z-index:2;width:38px;height:38px;display:grid;place-items:center;overflow:hidden;border-radius:7px;color:transparent;font-size:0;text-decoration:none}main.dash-main:has(.tab-bar) .view.active>a:first-child:after{content:"×";color:var(--gg-muted);font-family:var(--font-body);font-size:32px;font-weight:300;line-height:1}main.dash-main:has(.tab-bar) .view.active>a:first-child:hover{background:var(--gg-pale)}main.dash-main:has(.tab-bar) .view.active>a:first-child:hover:after{color:var(--gg-dark)}main.dash-main:has(.tab-bar) .event-workspace-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding-right:68px}main.dash-main:has(.tab-bar) .event-delete-button{position:static;margin-top:12px;font-size:12px;padding:8px 18px}main.dash-main:has(.tab-bar) section>.btn.btn-primary{display:block;margin:24px 0 0 auto}main.dash-main:has(.tab-bar) .tab-bar{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid var(--gg-pale);margin:0 -48px 24px;padding:0 48px}main.dash-main:has(.tab-bar) .tab-btn{flex:0 0 auto;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--gg-muted);font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:.02em;padding:14px 16px 12px;cursor:pointer}main.dash-main:has(.tab-bar) .tab-btn:hover,main.dash-main:has(.tab-bar) .tab-btn.active{color:var(--gg-dark);border-bottom-color:var(--gg-mid)}@media (max-width: 720px){main.dash-main:has(.tab-bar){padding:16px}main.dash-main:has(.tab-bar) .view.active{max-height:calc(100vh - 32px);padding:24px}main.dash-main:has(.tab-bar) .tab-bar{margin-left:-24px;margin-right:-24px;padding:0 24px}main.dash-main:has(.tab-bar) .event-workspace-header{display:flex;flex-direction:column;gap:4px}main.dash-main:has(.tab-bar) .event-delete-button{margin-top:0}.responses-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x}.responses-table{min-width:720px}.date-short{display:inline}.date-full{display:none}}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.calendar-nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.calendar-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap;margin-left:auto}.calendar-tasks-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--gg-muted);white-space:nowrap}.calendar-toolbar-buttons{display:grid;grid-template-columns:repeat(2,auto);gap:10px}.calendar-toolbar-buttons .btn{min-width:250px;text-align:center}.calendar-month-select{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--gg-dark);background:#fff;border:1.5px solid var(--gg-pale);border-radius:8px;padding:4px 8px;cursor:pointer}.calendar-grid{background:var(--gg-pale);border:1px solid var(--gg-pale);border-radius:10px;overflow:hidden}.calendar-weekday-headers,.calendar-week-days,.calendar-event-lanes{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px}.calendar-week{position:relative}.calendar-week+.calendar-week{border-top:1px solid var(--gg-pale)}.calendar-day-header{background:var(--gg-off);padding:10px 8px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gg-muted);text-align:center}.calendar-day-cell{background:#fff;min-height:108px;min-width:0;position:relative;padding:8px;padding-top:calc(8px + var(--calendar-event-lanes, 0) * 24px);display:flex;flex-direction:column;gap:4px}.calendar-day-cell.outside-month{background:var(--gg-off)}.calendar-day-cell.outside-month .calendar-day-number{color:var(--gg-muted);opacity:.6}.calendar-day-cell.is-today{box-shadow:inset 0 0 0 2px var(--gg-mid)}.calendar-day-number{position:absolute;z-index:2;top:8px;left:8px;font-size:12px;font-weight:600;color:var(--gg-muted)}.calendar-event-lanes{position:absolute;z-index:1;top:29px;right:0;left:0;grid-auto-rows:20px;row-gap:4px;pointer-events:none}.calendar-event-chip{display:block;min-width:0;margin-inline:4px;border:0;text-align:left;font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#2a5c761f;color:var(--gg-mid);pointer-events:auto}.calendar-event-chip:hover{filter:brightness(.95)}.calendar-event-chip.event-type-workshop{background:#52829c2e;color:var(--gg-steel)}.calendar-event-chip.event-type-travel{background:#2e7d4f1f;color:#2e7d4f}.calendar-event-chip.event-type-meeting{background:#c08d2b24;color:#a56a1a}.calendar-event-chip.event-type-speaking{background:#2a5c7624;color:var(--gg-mid)}.calendar-event-chip.event-type-training{background:#16435b2e;color:var(--gg-dark)}.calendar-event-chip.status-completed{background:var(--gg-off);color:var(--gg-muted)}.calendar-event-chip.status-pending{background:#d9b82933;color:#8a7212}.calendar-event-chip.status-dead{background:#e07a7029;color:#b0463c}.calendar-task-chip{font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#c08d2b1a;color:#8a5a12;border:1px dashed rgba(192,141,43,.4)}.calendar-task-chip:hover{filter:brightness(.95)}.calendar-task-chip.task-done{background:var(--gg-off);color:var(--gg-muted);border-color:var(--gg-pale);text-decoration:line-through}.calendar-task-chip.task-overdue{background:#c0392b1a;color:#c0392b;border-color:#c0392b59}.task-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--gg-pale);border-radius:8px;margin-bottom:6px}.task-row.task-row-done{opacity:.6}.task-row.task-row-done .task-row-title{text-decoration:line-through}.task-row-title{font-weight:600;color:var(--gg-dark);flex:1;min-width:160px}.task-row-due{font-size:12px;color:var(--gg-muted);white-space:nowrap}.task-row-overdue{color:#c0392b;font-weight:700}.task-row-event{font-size:12px;color:var(--gg-muted);white-space:nowrap}.task-row-owner{font-size:11px;font-weight:600;color:var(--gg-steel);background:#52829c24;padding:2px 8px;border-radius:10px;white-space:nowrap}.task-row-link{font-size:12px;color:var(--gg-mid);text-decoration:none;white-space:nowrap}.task-row-link:hover{text-decoration:underline}.prep-checklist-add,.prep-checklist-header,.prep-checklist-row{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(128px,.85fr) minmax(130px,.9fr) auto;align-items:center;gap:10px}.prep-checklist-add{margin:18px 0 16px}.prep-checklist-add .field-input{min-width:0;padding:7px 9px;font-size:13px}.prep-checklist-add .btn{min-height:34px;padding:7px 12px}.prep-checklist-header{color:var(--gg-steel);font-family:var(--font-display);font-size:10px;font-weight:700;letter-spacing:.06em;padding:0 10px 5px;text-transform:uppercase}.prep-checklist-row{gap:10px;margin-bottom:4px;padding:7px 10px}.prep-checklist-row .field-input{min-width:0;padding:6px 8px;font-size:12px}.prep-checklist-item{display:flex;align-items:center;gap:9px;min-width:0}.prep-checklist-item input{margin:0;flex:0 0 auto}.prep-checklist-row .task-row-title{min-width:0;font-size:13px;line-height:1.25}.prep-checklist-actions{display:flex;align-items:center;gap:6px;min-width:66px}.prep-checklist-actions .btn-sm{font-size:11px;padding:5px 7px}@media (max-width: 720px){.prep-checklist-add,.prep-checklist-header,.prep-checklist-row{grid-template-columns:1fr 1fr}.prep-checklist-header{display:none}.prep-checklist-row{padding:10px}.prep-checklist-item{grid-column:1 / -1}.prep-checklist-actions{justify-content:flex-end}}.event-tabs{display:flex;gap:4px;border-bottom:1px solid var(--gg-pale);margin-bottom:20px}.event-tab-btn{background:none;border:none;cursor:pointer;font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--gg-muted);padding:10px 4px;margin-right:20px;border-bottom:2px solid transparent}.event-tab-btn.active{color:var(--gg-dark);border-bottom-color:var(--gg-mid)}.event-tab-panel{display:none}.event-tab-panel.active{display:block}.stat-cards-compact{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:20px}.stat-card.over-budget .stat-value{color:#c0392b}.status-badge{display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;border-radius:10px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.status-badge.tone-neutral{background:var(--gg-off);color:var(--gg-muted)}.status-badge.tone-info{background:#52829c26;color:var(--gg-steel)}.status-badge.tone-open{background:#2e7d4f1f;color:#2e7d4f}.status-badge.tone-steel{background:#2a5c761f;color:var(--gg-mid)}.status-badge.tone-pending{background:#d9770624;color:#b45309}.status-badge.tone-danger{background:#c0392b1a;color:#c0392b}.pill-group{display:flex;flex-wrap:wrap;gap:8px}.pill-btn{font-family:inherit;font-size:13px;font-weight:600;padding:8px 16px;border-radius:999px;border:1.5px solid var(--gg-pale);background:#fff;color:var(--gg-dark);cursor:pointer}.pill-btn:hover{border-color:var(--gg-steel)}.pill-btn.active{background:var(--gg-mid);border-color:var(--gg-mid);color:#fff}.gg-toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,12px);background:var(--gg-dark);color:#fff;font-size:13px;font-weight:600;padding:12px 22px;border-radius:10px;box-shadow:0 12px 32px #0a1e3247;z-index:1200;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.gg-toast.gg-toast-show{opacity:1;transform:translate(-50%)}.quote-tool-workspace{min-height:calc(100vh - 48px);margin:-26px -28px}.quote-tool-frame{display:block;width:100%;min-height:calc(100vh - 48px);border:0;background:var(--gg-off)}@media (max-width: 1200px){.charts-row,.stat-cards{grid-template-columns:1fr 1fr}}@media (max-width: 900px){.mobile-topbar{position:fixed;inset:0 0 auto;height:64px;padding:0 16px 0 20px;display:flex;align-items:center;justify-content:flex-start;gap:12px;background:var(--gg-dark);color:#fff;box-shadow:0 2px 10px #0a1e3238;z-index:60}.mobile-topbar-brand{font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.mobile-menu-button{order:-1;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(255,255,255,.24);border-radius:8px;background:transparent;color:#fff;cursor:pointer}.mobile-menu-button:focus-visible,.mobile-nav-scrim:focus-visible{outline:3px solid var(--gg-pale);outline-offset:2px}.mobile-nav-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;display:block;border:0;background:#0a1e3280;opacity:0;pointer-events:none;transition:opacity .2s ease}.mobile-nav-scrim.visible{opacity:1;pointer-events:auto}.sidebar{width:min(300px,86vw);transform:translate3d(-100%,0,0);transition:transform .22s ease;visibility:hidden;z-index:80;box-shadow:10px 0 28px #0a1e3247}.sidebar.mobile-open{transform:translateZ(0);visibility:visible}.dash-main{margin-left:0;padding-top:64px;min-width:0}.charts-row,.workshops-list{grid-template-columns:1fr}}@media (max-width: 620px){.financial-overview .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.financial-overview .stat-card{padding:14px}.financial-overview .stat-value{font-size:28px}.financial-overview .stat-label{font-size:10px;line-height:1.25}.financial-overview .stat-sub{font-size:10px;line-height:1.3}}
