:root{--ink-900:#23180f;--ink-800:#33261a;--ink-700:#4c3d2e;--ink-500:#7c6c5c;--ink-400:#9b8b7b;--ink-300:#c2b5a8;--bg:#f8f4ef;--bg-subtle:#f2ece4;--surface:#fff;--surface-warm:#fdfaf6;--border:#e7ddd2;--border-light:#f0e9e0;--terra-700:#93361a;--terra-600:#ab3f1f;--terra-500:#c14b26;--terra-400:#d3603a;--terra-100:#f8e2d8;--terra-50:#faf0ea;--terra-ring:#c14b2647;--red-600:#b3382c;--red-100:#f6dcd8;--red-50:#fbeeec;--green-600:#2e7d4f;--green-100:#d5eadd;--green-50:#edf6f0;--blue-600:#33628f;--blue-100:#d8e4ef;--blue-50:#eef3f8;--amber-600:#9a6b1c;--amber-100:#f0e2c4;--amber-50:#f9f2e2;--font-display:"Fraunces", Georgia, serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--shadow-xs:0 1px 2px #23180f0d;--shadow-sm:0 1px 3px #23180f12, 0 1px 2px #23180f0a;--shadow-md:0 4px 12px #23180f14, 0 2px 4px #23180f0a;--shadow-lg:0 16px 40px #23180f24, 0 4px 12px #23180f0f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--radius-pill:999px;--transition:.18s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background-color:var(--bg);color:var(--ink-800);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6;overflow-x:hidden}::selection{background:var(--terra-100);color:var(--terra-700)}h1,h2,h3,h4{color:var(--ink-900);line-height:1.25}button{font-family:inherit}:focus-visible{outline:2px solid var(--terra-500);outline-offset:2px;border-radius:4px}#app-container{flex-direction:column;min-height:100vh;display:flex}.main-header{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:100;background:#ffffffe0;position:sticky;top:0}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;max-width:1280px;margin:0 auto;padding:.7rem 1.5rem;display:flex}.logo-area{align-items:center;gap:.7rem;display:flex}.logo-icon{background:linear-gradient(135deg, var(--terra-500), var(--terra-700));color:#fff;border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 4px 10px #c14b2647}.logo-text h1{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink-900);font-size:1.3rem;font-weight:650;line-height:1.1}.logo-text span{text-transform:uppercase;letter-spacing:.14em;color:var(--terra-600);font-size:.68rem;font-weight:600}.main-nav ul{background:var(--bg-subtle);border:1px solid var(--border-light);border-radius:var(--radius-pill);gap:.25rem;padding:.25rem;list-style:none;display:flex}.nav-link{color:var(--ink-500);border-radius:var(--radius-pill);cursor:pointer;transition:color var(--transition), background var(--transition), box-shadow var(--transition);white-space:nowrap;background:0 0;border:none;padding:.45rem .95rem;font-size:.875rem;font-weight:550}.nav-link:hover{color:var(--ink-900)}.nav-link.active{background:var(--surface);color:var(--terra-600);box-shadow:var(--shadow-sm);font-weight:600}.nav-badge{background:var(--terra-500);color:#fff;border-radius:var(--radius-pill);vertical-align:1px;margin-left:.35rem;padding:.05rem .42rem;font-size:.68rem;font-weight:700;display:inline-block}.user-role-area{align-items:center;gap:.6rem;display:flex}.user-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow-xs);cursor:pointer;font-family:var(--font-body);text-align:left;transition:border-color var(--transition), background var(--transition);align-items:center;gap:.6rem;padding:.3rem .75rem .3rem .35rem;display:flex}.user-chip:hover{border-color:var(--terra-100);background:var(--terra-50)}.user-chip-caret{color:var(--ink-400);flex-shrink:0}.user-avatar{background:var(--terra-50);width:30px;height:30px;color:var(--terra-600);border:1px solid var(--terra-100);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.user-identity{flex-direction:column;line-height:1.25;display:flex}.user-identity strong{color:var(--ink-900);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.82rem;font-weight:600;overflow:hidden}.user-sub{color:var(--ink-500);font-size:.7rem}.icon-btn{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--ink-500);cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition);justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{color:var(--terra-600);border-color:var(--terra-100);background:var(--terra-50)}.icon-btn-sm{border-radius:var(--radius-sm);width:32px;height:32px}.icon-btn-danger:hover{color:var(--red-600);border-color:var(--red-100);background:var(--red-50)}.hero-banner{background:radial-gradient(ellipse 70% 120% at 85% 0%, #c14b261a, transparent 60%), linear-gradient(180deg, #fdf8f3, var(--bg));border-bottom:1px solid var(--border-light);padding:2.5rem 1.5rem 2.25rem}.hero-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.75rem;max-width:1280px;margin:0 auto;display:flex}.hero-content{max-width:560px}.hero-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--terra-600);background:var(--terra-50);border:1px solid var(--terra-100);border-radius:var(--radius-pill);align-items:center;gap:.4rem;margin-bottom:.9rem;padding:.28rem .75rem;font-size:.72rem;font-weight:650;display:inline-flex}.hero-content h2{font-family:var(--font-display);letter-spacing:-.015em;margin-bottom:.5rem;font-size:clamp(1.7rem,3.2vw,2.3rem);font-weight:650}.hero-content p{color:var(--ink-500);max-width:52ch;font-size:1rem}.hero-stats{flex-wrap:wrap;gap:.85rem;display:flex}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:150px;box-shadow:var(--shadow-sm);align-items:center;gap:.85rem;padding:.9rem 1.25rem;display:flex}.stat-icon{border-radius:var(--radius-md);background:var(--terra-50);width:38px;height:38px;color:var(--terra-600);flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-critical .stat-icon{background:var(--red-50);color:var(--red-600)}.stat-success .stat-icon{background:var(--green-50);color:var(--green-600)}.stat-number{font-family:var(--font-display);color:var(--ink-900);font-size:1.45rem;font-weight:650;line-height:1.1;display:block}.stat-label{color:var(--ink-500);font-size:.72rem;font-weight:550}.content-grid{flex-grow:1;grid-template-columns:minmax(0,7fr) minmax(260px,3fr);align-items:start;gap:2rem;width:100%;max-width:1280px;margin:2rem auto;padding:0 1.5rem;display:grid}.content-grid>.main-content:only-child{grid-column:1/-1}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.section-header h3{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.4rem;font-weight:650}.section-count{color:var(--ink-400);font-family:var(--font-body);margin-left:.4rem;font-size:.95rem;font-weight:500}.btn{font-family:var(--font-body);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition), box-shadow var(--transition), transform var(--transition);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.6rem 1.15rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--terra-500);color:#fff;box-shadow:0 1px 2px #93361a4d,inset 0 1px #ffffff1f}.btn-primary:hover{background:var(--terra-600)}.btn-secondary{background:var(--surface);color:var(--ink-700);border-color:var(--border);box-shadow:var(--shadow-xs)}.btn-secondary:hover{border-color:var(--ink-300);color:var(--ink-900);background:var(--surface-warm)}.btn-outline{color:var(--terra-600);border-color:var(--terra-100);background:0 0}.btn-outline:hover{background:var(--terra-50);border-color:var(--terra-400)}.btn-ghost{color:var(--ink-500);background:0 0}.btn-ghost:hover{background:var(--bg-subtle);color:var(--ink-900)}.btn-danger{background:var(--red-600);color:#fff;box-shadow:0 1px 2px #b3382c4d,inset 0 1px #ffffff1f}.btn-danger:hover{background:#9c2f24}.btn-danger-ghost{color:var(--red-600);background:0 0;border-color:#0000}.btn-danger-ghost:hover{background:var(--red-50);border-color:var(--red-100)}.btn-block{width:100%;display:flex}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.search-box{flex-grow:1;max-width:420px;position:relative}.search-icon{color:var(--ink-400);pointer-events:none;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.search-box input{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;font-family:var(--font-body);background:var(--surface);color:var(--ink-900);box-shadow:var(--shadow-xs);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:.65rem .9rem .65rem 2.5rem;font-size:.9rem}.search-box input::placeholder{color:var(--ink-400)}.search-box input:focus{border-color:var(--terra-400);box-shadow:0 0 0 3px var(--terra-ring)}.events-list{flex-direction:column;gap:1rem;display:flex}.event-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition), border-color var(--transition);overflow:hidden}.event-card:hover{box-shadow:var(--shadow-md);border-color:var(--ink-300)}.event-card-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:1.1rem;padding:1.15rem 1.25rem;display:grid}.date-badge{background:var(--terra-50);border:1px solid var(--terra-100);border-radius:var(--radius-md);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:56px;padding:.5rem 0;display:flex}.date-day{font-family:var(--font-display);color:var(--terra-600);font-size:1.35rem;font-weight:650;line-height:1}.date-month{text-transform:uppercase;color:var(--terra-700);letter-spacing:.1em;opacity:.75;margin-top:.2rem;font-size:.66rem;font-weight:700}.event-info-main h4{letter-spacing:-.005em;margin-bottom:.2rem;font-size:1.05rem;font-weight:650}.event-meta-row{color:var(--ink-500);flex-wrap:wrap;gap:.35rem 1rem;font-size:.82rem;display:flex}.meta-item{align-items:center;gap:.35rem;display:inline-flex}.meta-item svg{color:var(--ink-400);flex-shrink:0}.giants-tag-list{flex-wrap:wrap;gap:.4rem;margin-top:.55rem;display:flex}.giant-tag{background:var(--bg-subtle);color:var(--ink-700);border-radius:var(--radius-pill);border:1px solid var(--border-light);align-items:center;gap:.32rem;padding:.22rem .65rem;font-size:.75rem;font-weight:550;display:inline-flex}.giant-tag svg{color:var(--terra-500)}.giant-tag.tag-warn{background:var(--red-50);color:var(--red-600);border-color:var(--red-100)}.giant-tag.tag-warn svg{color:var(--red-600)}.giant-tag.tag-pending{background:var(--amber-50);color:var(--amber-600);border-color:var(--amber-100)}.giant-tag.tag-pending svg{color:var(--amber-600)}.giant-tag.tag-external{background:var(--blue-50);color:var(--blue-600);border-color:var(--blue-100)}.giant-tag.tag-external svg{color:var(--blue-600)}.guild-avatar{object-fit:cover;border:1px solid var(--border);background:var(--surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.guild-avatar-fallback{background:var(--terra-50);color:var(--terra-600);border-color:var(--terra-100);font-weight:700}.participant-title{flex-direction:column;gap:.3rem;display:flex}.guild-link{cursor:pointer;font-family:var(--font-body);text-align:left;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:.55rem;padding:0;display:inline-flex}.guild-link strong{color:var(--ink-900);transition:color var(--transition);font-size:.95rem;font-weight:650}.guild-link:hover strong{color:var(--terra-600);text-underline-offset:3px;text-decoration:underline}.event-card-actions{flex-direction:column;align-items:flex-end;gap:.6rem;display:flex}.event-actions-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.status-badge{border-radius:var(--radius-pill);white-space:nowrap;border:1px solid #0000;align-items:center;gap:.4rem;padding:.3rem .75rem;font-size:.76rem;font-weight:650;display:inline-flex}.status-badge:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-badge.tekort{background:var(--red-50);color:var(--red-600);border-color:var(--red-100)}.status-badge.compleet{background:var(--green-50);color:var(--green-600);border-color:var(--green-100)}.status-badge.overschot{background:var(--blue-50);color:var(--blue-600);border-color:var(--blue-100)}.status-badge.wachtend{background:var(--amber-50);color:var(--amber-600);border-color:var(--amber-100)}.status-badge.neutraal{background:var(--bg-subtle);color:var(--ink-500);border-color:var(--border-light)}.toggle-details-btn{font-family:var(--font-body);color:var(--ink-500);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition), background var(--transition);background:0 0;border:none;align-items:center;gap:.3rem;padding:.35rem .5rem;font-size:.82rem;font-weight:600;display:inline-flex}.toggle-details-btn:hover{color:var(--terra-600);background:var(--terra-50)}.toggle-details-btn svg{transition:transform var(--transition)}.toggle-details-btn.open svg{transform:rotate(180deg)}.event-card-details-drawer{border-top:1px solid var(--border-light);background:var(--surface-warm);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:1.25rem;animation:.2s ease-out slideDown;display:grid}.tech-spec-box{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md);align-items:center;gap:.7rem;padding:.7rem .85rem;display:flex}.tech-spec-icon{border-radius:var(--radius-sm);background:var(--terra-50);width:34px;height:34px;color:var(--terra-600);flex-shrink:0;justify-content:center;align-items:center;display:flex}.tech-spec-text span{color:var(--ink-400);font-size:.72rem;font-weight:500;display:block}.tech-spec-text strong{color:var(--ink-900);font-size:.85rem;font-weight:600}.drawer-remarks{background:var(--surface);border:1px solid var(--border-light);border-left:3px solid var(--terra-400);border-radius:var(--radius-md);color:var(--ink-700);grid-column:1/-1;padding:.75rem 1rem;font-size:.85rem}.drawer-remarks strong{color:var(--ink-400);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.2rem;font-size:.72rem;font-weight:650;display:block}.drawer-subtitle{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-400);margin:.5rem 0 .25rem;font-size:.78rem;font-weight:650}.call-appeal-box{background:var(--red-50);border:1px solid var(--red-100);border-radius:var(--radius-md);align-items:flex-start;gap:.7rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.call-appeal-icon{color:var(--red-600);flex-shrink:0;margin-top:.15rem}.call-appeal-text{color:var(--ink-800)}.call-appeal-text strong{color:var(--red-600);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.15rem;font-size:.72rem;font-weight:700;display:block}.timeline-list{flex-direction:column;gap:.35rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.timeline-list li{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-sm);align-items:baseline;gap:.85rem;padding:.45rem .75rem;font-size:.85rem;display:flex}.timeline-time{color:var(--terra-600);font-variant-numeric:tabular-nums;white-space:nowrap;min-width:88px;font-weight:650}.timeline-label{color:var(--ink-700)}.organizer-request-box{background:var(--amber-50);border:1px solid var(--amber-100);border-radius:var(--radius-md);align-items:flex-start;gap:.7rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.organizer-request-icon{color:var(--amber-600);flex-shrink:0;margin-top:.15rem}.organizer-request-text{color:var(--ink-800)}.organizer-request-text strong{color:var(--amber-600);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.15rem;font-size:.72rem;font-weight:700;display:block}.participant-block{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md);margin-top:.65rem;padding:.9rem 1rem}.participant-block.pending{background:var(--surface-warm);border-style:dashed}.participant-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.participant-head strong{color:var(--ink-900);font-size:.95rem;font-weight:650}.participant-meta{color:var(--ink-500);flex-wrap:wrap;align-items:center;gap:.3rem 1rem;margin-top:.5rem;font-size:.8rem;display:flex}.bearer-progress{align-items:center;gap:.6rem;margin-top:.55rem;display:flex}.bearer-progress-track{border-radius:var(--radius-pill);background:var(--bg-subtle);flex-grow:1;height:6px;overflow:hidden}.bearer-progress-fill{border-radius:var(--radius-pill);background:var(--green-600);height:100%;transition:width .3s}.bearer-progress-fill.is-tekort{background:var(--red-600)}.bearer-progress-fill.is-overschot{background:var(--blue-600)}.bearer-progress-label{color:var(--ink-700);white-space:nowrap;align-items:center;gap:.3rem;font-size:.78rem;font-weight:600;display:inline-flex}.bearer-progress-label svg{color:var(--ink-400)}.withdrawal-box{background:var(--red-50);border:1px solid var(--red-100);border-radius:var(--radius-md);align-items:flex-start;gap:.7rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.withdrawal-icon{color:var(--red-600);flex-shrink:0;margin-top:.15rem}.withdrawal-text{color:var(--ink-800);flex-grow:1}.withdrawal-text strong{color:var(--red-600);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.15rem;font-size:.72rem;font-weight:700;display:block}.withdrawal-actions{flex-wrap:wrap;gap:.5rem;margin-top:.6rem;display:flex}.withdrawal-actions .btn{padding:.4rem .85rem;font-size:.78rem}.offer-list{flex-direction:column;gap:.35rem;margin:.6rem 0 0;padding:0;list-style:none;display:flex}.offer-list li{background:var(--green-50);border:1px solid var(--green-100);border-radius:var(--radius-sm);color:var(--ink-700);flex-wrap:wrap;align-items:flex-start;gap:.5rem;padding:.45rem .7rem;font-size:.8rem;display:flex}.offer-body{flex:200px}.offer-actions{flex-shrink:0;gap:.35rem;margin-left:auto;display:inline-flex}.offer-action-btn{background:var(--surface);border:1px solid var(--border);color:var(--ink-700);font-family:var(--font-body);border-radius:var(--radius-pill);cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition);align-items:center;gap:.25rem;padding:.2rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.offer-action-btn:hover{color:var(--terra-600);border-color:var(--terra-100);background:var(--terra-50)}.offer-action-btn.danger:hover{color:var(--red-600);border-color:var(--red-100);background:var(--red-50)}.offer-list li svg{color:var(--green-600);flex-shrink:0;margin-top:.2rem}.offer-list em{color:var(--ink-500)}.participant-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.participant-actions .btn{padding:.45rem .9rem;font-size:.8rem}.participant-note{color:var(--ink-500);margin-top:.45rem;font-size:.8rem}.loading-state,.empty-state{background:var(--surface);border:1px dashed var(--border);text-align:center;border-radius:var(--radius-lg);color:var(--ink-500);padding:3rem 1.5rem}.empty-state-icon{border-radius:var(--radius-lg);background:var(--bg-subtle);width:52px;height:52px;color:var(--ink-400);justify-content:center;align-items:center;margin:0 auto 1rem;display:flex}.empty-state h4{font-family:var(--font-display);margin-bottom:.35rem;font-size:1.15rem;font-weight:650}.empty-state p{font-size:.9rem}.loading-state{border-style:solid;justify-content:center;align-items:center;gap:.6rem;font-size:.9rem;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--terra-500);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.7s linear infinite spin}.sidebar{flex-direction:column;gap:1.25rem;display:flex;position:sticky;top:82px}.sidebar-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-xs);padding:1.25rem}.sidebar-card>h4{align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:.95rem;font-weight:650;display:flex}.sidebar-card>h4 svg{color:var(--terra-500)}.sidebar-card p.small{color:var(--ink-500);margin-bottom:1rem;font-size:.82rem}.availability-toggle-group{flex-direction:column;gap:.8rem;display:flex}.availability-toggle-group label{color:var(--ink-700);font-size:.78rem;font-weight:600}.segmented{background:var(--bg-subtle);border:1px solid var(--border-light);border-radius:var(--radius-md);grid-template-columns:1fr 1fr;gap:.25rem;padding:.25rem;display:grid}.segmented button{color:var(--ink-500);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition), color var(--transition), box-shadow var(--transition);background:0 0;border:none;justify-content:center;align-items:center;gap:.35rem;padding:.5rem;font-size:.8rem;font-weight:600;display:inline-flex}.segmented button.active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--ink-900)}.segmented button.active.seg-positive{color:var(--green-600)}.guild-status-list{flex-direction:column;gap:.5rem;display:flex}.guild-status-item{background:var(--surface-warm);border-radius:var(--radius-md);border:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .7rem;font-size:.83rem;display:flex}.guild-status-info{flex-direction:column;min-width:0;display:flex}.guild-status-name{color:var(--ink-800);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.guild-status-date{color:var(--ink-400);font-size:.72rem}.guild-status-badge{background:var(--green-50);color:var(--green-600);border:1px solid var(--green-100);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;padding:.14rem .55rem;font-size:.68rem;font-weight:700}.heritage-badge-decor{text-align:center;border:1px solid var(--terra-100);background:var(--terra-50);font-family:var(--font-display);color:var(--terra-700);border-radius:var(--radius-md);margin-top:1rem;padding:.7rem 1rem;font-size:.82rem;font-style:italic;font-weight:600}.modal-backdrop{-webkit-backdrop-filter:blur(5px);z-index:1000;opacity:0;pointer-events:none;background:#23180f73;justify-content:center;align-items:center;padding:1rem;transition:opacity .2s ease-out;display:flex;position:fixed;inset:0}.modal-backdrop.open{opacity:1;pointer-events:auto}.modal-card{background:var(--surface);border-radius:var(--radius-xl);width:100%;max-width:620px;max-height:90vh;box-shadow:var(--shadow-lg);transition:transform .25s cubic-bezier(.16,1,.3,1);overflow-y:auto;transform:translateY(12px)scale(.98)}.modal-backdrop.open .modal-card{transform:translateY(0)scale(1)}.modal-header{background:var(--surface);border-bottom:1px solid var(--border-light);z-index:2;justify-content:space-between;align-items:center;gap:1rem;padding:1.35rem 1.5rem .9rem;display:flex;position:sticky;top:0}.modal-header h3{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.25rem;font-weight:650}.modal-close{background:var(--bg-subtle);border-radius:var(--radius-pill);width:34px;height:34px;color:var(--ink-500);cursor:pointer;transition:background var(--transition), color var(--transition);border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.modal-close:hover{background:var(--terra-50);color:var(--terra-600)}.modal-body{padding:1.35rem 1.5rem}.modal-footer{background:var(--surface-warm);border-top:1px solid var(--border-light);justify-content:flex-end;gap:.6rem;padding:1rem 1.5rem;display:flex;position:sticky;bottom:0}.modal-intro{color:var(--ink-500);margin-bottom:1.1rem;font-size:.85rem}.form-group{margin-bottom:1.1rem}.form-group label{color:var(--ink-800);margin-bottom:.35rem;font-size:.82rem;font-weight:600;display:block}.label-info{color:var(--ink-400);font-size:.75rem;font-weight:450}.form-control{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;font-family:var(--font-body);background:var(--surface);color:var(--ink-900);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:.6rem .85rem;font-size:.9rem}.form-control::placeholder{color:var(--ink-400)}.form-control:focus{border-color:var(--terra-400);box-shadow:0 0 0 3px var(--terra-ring)}textarea.form-control{resize:vertical;min-height:60px}select.form-control{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239b8b7b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.4rem}.form-row-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:1rem;display:grid}.form-hint{color:var(--ink-400);margin-top:-.5rem;margin-bottom:1rem;font-size:.78rem}.form-subtitle{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-400);margin-bottom:.7rem;font-size:.8rem;font-weight:650}.event-summary-card{background:var(--terra-50);border:1px solid var(--terra-100);border-radius:var(--radius-md);padding:.9rem 1.1rem}.event-summary-card h4{margin-bottom:.15rem;font-size:1rem;font-weight:650}.event-summary-card p.small{color:var(--ink-500);font-size:.82rem}.urgent-notice{background:var(--red-50);color:var(--red-600);border:1px solid var(--red-100);border-radius:var(--radius-pill);align-items:center;gap:.4rem;margin-top:.6rem;padding:.3rem .7rem;font-size:.78rem;font-weight:650;display:inline-flex}.mt-3{margin-top:1rem}.schedule-row{grid-template-columns:105px 105px 1fr auto;align-items:center;gap:.5rem;margin-bottom:.5rem;display:grid}.schedule-empty{color:var(--ink-400);margin-bottom:.5rem;font-size:.8rem}.schedule-suggestions{flex-wrap:wrap;gap:.4rem;margin-top:.35rem;display:flex}.suggestion-chip{background:var(--bg-subtle);color:var(--ink-700);font-family:var(--font-body);border-radius:var(--radius-pill);border:1px dashed var(--ink-300);cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition);align-items:center;gap:.3rem;padding:.28rem .7rem;font-size:.76rem;font-weight:600;display:inline-flex}.suggestion-chip:hover{background:var(--terra-50);color:var(--terra-600);border-color:var(--terra-400)}.confirm-text{color:var(--ink-700);font-size:.92rem;line-height:1.6}.profile-section{border-bottom:1px solid var(--border-light);margin-bottom:1.35rem;padding-bottom:1.35rem}.profile-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.field-hint{color:var(--ink-400);margin-top:.3rem;font-size:.75rem}.logo-upload-row{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.logo-upload-btn{cursor:pointer;padding:.45rem .9rem;font-size:.8rem}.calendar-nav{align-items:center;gap:.6rem;display:flex}.calendar-title{font-family:var(--font-display);text-align:center;min-width:155px;font-size:1.05rem;font-weight:650}.calendar-grid{background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.calendar-weekday{background:var(--surface-warm);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-400);text-align:center;padding:.5rem .6rem;font-size:.72rem;font-weight:700}.calendar-cell{background:var(--surface);flex-direction:column;gap:.3rem;min-height:108px;padding:.45rem;display:flex}.calendar-cell.outside{background:var(--surface-warm)}.calendar-cell.outside .calendar-daynum{color:var(--ink-300)}.calendar-daynum{color:var(--ink-500);border-radius:var(--radius-pill);align-self:flex-end;padding:.15rem .3rem;font-size:.78rem;font-weight:600;line-height:1}.calendar-cell.today .calendar-daynum{background:var(--terra-500);color:#fff}.calendar-events{flex-direction:column;gap:.25rem;display:flex;overflow:hidden}.calendar-event{background:var(--terra-50);border:1px solid var(--terra-100);border-left:3px solid var(--terra-500);width:100%;color:var(--ink-800);font-family:var(--font-body);text-align:left;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition), border-color var(--transition);align-items:baseline;gap:.3rem;padding:.25rem .4rem;font-size:.72rem;font-weight:600;display:flex;overflow:hidden}.calendar-event:hover{background:var(--terra-100)}.calendar-event.external{background:var(--blue-50);border-color:var(--blue-100);border-left-color:var(--blue-600)}.calendar-event.external:hover{background:var(--blue-100)}.calendar-event-time{color:var(--terra-600);font-variant-numeric:tabular-nums;flex-shrink:0}.calendar-event.external .calendar-event-time{color:var(--blue-600)}.calendar-event-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-legend{color:var(--ink-500);flex-wrap:wrap;gap:1.25rem;margin-top:.85rem;font-size:.78rem;display:flex}.calendar-legend-item{align-items:center;gap:.4rem;display:inline-flex}.legend-swatch{background:var(--terra-50);border:1px solid var(--terra-100);border-left:3px solid var(--terra-500);border-radius:3px;width:12px;height:12px;display:inline-block}.legend-swatch.external{background:var(--blue-50);border-color:var(--blue-100);border-left-color:var(--blue-600)}.toast-container{z-index:2000;flex-direction:column;gap:.6rem;width:calc(100% - 3rem);max-width:360px;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{background:var(--surface);color:var(--ink-800);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);align-items:flex-start;gap:.7rem;padding:.8rem 1rem;animation:.3s cubic-bezier(.16,1,.3,1) forwards toastIn;display:flex}.toast-icon{color:var(--blue-600);flex-shrink:0;margin-top:.1rem}.toast-success .toast-icon{color:var(--green-600)}.toast-error .toast-icon{color:var(--red-600)}.toast-message{flex-grow:1;font-size:.85rem;font-weight:500}.toast-close{color:var(--ink-400);cursor:pointer;transition:color var(--transition);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.1rem;display:inline-flex}.toast-close:hover{color:var(--ink-900)}.about-section{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-xs);padding:2.5rem}.about-header{text-align:center;margin-bottom:2rem}.about-header h3{font-family:var(--font-display);letter-spacing:-.015em;margin-bottom:.4rem;font-size:1.8rem;font-weight:650}.about-header p{color:var(--ink-500)}.about-section>p{color:var(--ink-700)}.about-grid{grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:1.5rem;display:grid}.about-col{background:var(--surface-warm);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1.25rem}.about-col h4{font-family:var(--font-display);color:var(--terra-600);margin-bottom:.5rem;font-size:1.1rem;font-weight:650}.about-col p{color:var(--ink-500);font-size:.9rem}.guild-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem;display:grid}.guild-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;font-family:var(--font-body);text-align:left;box-shadow:var(--shadow-xs);transition:border-color var(--transition), box-shadow var(--transition);align-items:center;gap:.8rem;padding:.9rem 1rem;display:flex}.guild-card:hover{border-color:var(--terra-400);box-shadow:var(--shadow-md)}.guild-card-body{flex-direction:column;flex-grow:1;gap:.15rem;min-width:0;display:flex}.guild-card-body strong{color:var(--ink-900);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:650;overflow:hidden}.guild-card-city{color:var(--ink-500);align-items:center;gap:.3rem;font-size:.76rem;display:inline-flex}.guild-card-stats{color:var(--ink-400);font-size:.72rem}.guild-card-arrow{color:var(--ink-300);flex-shrink:0;transform:rotate(-90deg)}.guild-status-clickable{cursor:pointer;font-family:var(--font-body);width:100%;transition:border-color var(--transition), background var(--transition)}.guild-status-clickable:hover{border-color:var(--terra-400);background:var(--terra-50)}.guild-detail-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);flex-wrap:wrap;align-items:center;gap:1.1rem;padding:1.4rem;display:flex}.guild-detail-headline{flex-grow:1;min-width:0}.guild-detail-headline h3{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.5rem;font-weight:650}.guild-detail-city{color:var(--ink-500);align-items:center;gap:.35rem;margin-top:.2rem;font-size:.88rem;display:inline-flex}.guild-detail-actions{flex-wrap:wrap;gap:.6rem;display:flex}.guild-detail-description{color:var(--ink-700);max-width:72ch;margin:1.1rem .2rem 0;font-size:.95rem}.guild-detail-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:1.25rem;display:grid}.guild-contact-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.guild-contact-list li{color:var(--ink-700);align-items:flex-start;gap:.55rem;font-size:.86rem;display:flex}.guild-contact-list li svg{color:var(--terra-500);flex-shrink:0;margin-top:.2rem}.guild-contact-list a{color:var(--terra-600);word-break:break-all;text-decoration:none}.guild-contact-list a:hover{text-decoration:underline}.guild-procession-list{flex-direction:column;gap:.5rem;margin-top:.6rem;display:flex}.guild-procession-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-body);text-align:left;transition:border-color var(--transition), box-shadow var(--transition);align-items:center;gap:.9rem;padding:.7rem .95rem;display:flex}.guild-procession-row:hover{border-color:var(--terra-400);box-shadow:var(--shadow-sm)}.guild-procession-date{font-family:var(--font-display);color:var(--terra-600);text-transform:uppercase;min-width:58px;font-size:.85rem;font-weight:650}.guild-procession-title{color:var(--ink-900);text-overflow:ellipsis;white-space:nowrap;flex-grow:1;font-size:.92rem;font-weight:650;overflow:hidden}.guild-procession-meta{color:var(--ink-400);white-space:nowrap;font-size:.8rem}.chat-layout{grid-template-columns:290px minmax(0,1fr);align-items:stretch;gap:1rem;min-height:480px;max-height:68vh;display:grid}.chat-conv-pane{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:.6rem;padding:1rem;display:flex;overflow:hidden}.chat-new-label{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-400);font-size:.72rem;font-weight:650}.chat-conv-list{flex-direction:column;gap:.35rem;margin-top:.25rem;display:flex;overflow-y:auto}.chat-conv-item{text-align:left;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition), border-color var(--transition);background:0 0;border:1px solid #0000;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;padding:.55rem .7rem;display:flex;position:relative}.chat-conv-item:hover{background:var(--surface-warm);border-color:var(--border-light)}.chat-conv-item.active{background:var(--terra-50);border-color:var(--terra-100)}.chat-conv-name{color:var(--ink-900);font-size:.85rem;font-weight:650}.chat-conv-preview{color:var(--ink-400);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.75rem;overflow:hidden}.chat-unread{margin-left:0;position:absolute;top:.55rem;right:.6rem}.chat-thread-pane{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.chat-thread-header{border-bottom:1px solid var(--border-light);background:var(--surface-warm);align-items:center;gap:.5rem;padding:.85rem 1.1rem;font-size:.92rem;display:flex}.chat-thread-header svg{color:var(--terra-500)}.chat-messages{background:radial-gradient(ellipse 80% 40% at 50% 0%, #c14b2608, transparent 70%), var(--surface);flex-direction:column;flex-grow:1;gap:.55rem;padding:1.1rem;display:flex;overflow-y:auto}.chat-bubble{background:var(--bg-subtle);border:1px solid var(--border-light);border-radius:14px 14px 14px 4px;align-self:flex-start;max-width:72%;padding:.55rem .85rem}.chat-bubble.mine{background:var(--terra-50);border-color:var(--terra-100);border-radius:14px 14px 4px;align-self:flex-end}.chat-bubble p{color:var(--ink-800);white-space:pre-wrap;word-break:break-word;font-size:.88rem}.chat-bubble-meta{color:var(--ink-400);text-align:right;margin-top:.2rem;font-size:.68rem;display:block}.chat-composer{border-top:1px solid var(--border-light);background:var(--surface-warm);gap:.5rem;padding:.85rem;display:flex}.chat-composer input{flex-grow:1}.chat-empty{text-align:center;color:var(--ink-500);flex-direction:column;flex-grow:1;justify-content:center;align-items:center;padding:2rem;display:flex}.chat-empty h4{font-family:var(--font-display);margin:0 0 .35rem;font-size:1.15rem;font-weight:650}.chat-empty p{max-width:34ch;font-size:.88rem}.main-footer{border-top:1px solid var(--border);background:var(--surface-warm);color:var(--ink-500);margin-top:3rem;padding:1.5rem;font-size:.82rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1280px;margin:0 auto;display:flex}.footer-links{gap:1.25rem;display:flex}.footer-links a{color:var(--ink-500);transition:color var(--transition);text-decoration:none}.footer-links a:hover{color:var(--terra-600)}.auth-screen{background:radial-gradient(ellipse 60% 50% at 50% 0%, #c14b2617, transparent 70%), var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:440px;padding:2.25rem 2rem}.auth-brand{text-align:center;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1.75rem;display:flex}.auth-brand .logo-icon{border-radius:var(--radius-lg);width:52px;height:52px}.auth-brand h1{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.6rem;font-weight:650;line-height:1.1}.auth-brand span{text-transform:uppercase;letter-spacing:.16em;color:var(--terra-600);font-size:.68rem;font-weight:600}.auth-tabs{background:var(--bg-subtle);border-radius:var(--radius-md);border:1px solid var(--border-light);grid-template-columns:1fr 1fr;gap:.25rem;margin-bottom:1.5rem;padding:.25rem;display:grid}.auth-tabs button{font-family:var(--font-body);color:var(--ink-500);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition), color var(--transition), box-shadow var(--transition);background:0 0;border:none;padding:.55rem;font-size:.875rem;font-weight:600}.auth-tabs button.active{background:var(--surface);color:var(--ink-900);box-shadow:var(--shadow-sm)}.auth-alert{border-radius:var(--radius-md);border:1px solid;align-items:flex-start;gap:.6rem;margin-bottom:1.25rem;padding:.8rem 1rem;font-size:.85rem;display:flex}.auth-alert svg{flex-shrink:0;margin-top:.15rem}.auth-alert.error{background:var(--red-50);color:var(--red-600);border-color:var(--red-100)}.auth-alert.success{background:var(--green-50);color:var(--green-600);border-color:var(--green-100)}.auth-note{color:var(--ink-400);text-align:center;margin-top:1rem;font-size:.78rem;line-height:1.55}.auth-text{text-align:center;color:var(--ink-500);font-size:.9rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes toastIn{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=992px){.content-grid{grid-template-columns:1fr}.sidebar{position:static}.hero-inner{flex-direction:column;align-items:flex-start}.about-grid{grid-template-columns:1fr}}@media (width<=768px){.header-inner{justify-content:center}.main-nav{order:3;width:100%;overflow-x:auto}.main-nav ul{justify-content:flex-start;width:max-content;margin:0 auto}.hero-banner{padding:1.75rem 1rem}.hero-stats{width:100%}.stat-card{flex-grow:1;min-width:130px;padding:.75rem 1rem}.event-card-header{grid-template-columns:auto minmax(0,1fr)}.event-card-actions{flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center;width:100%}.form-row-2,.form-row-3{grid-template-columns:1fr;gap:0}.search-box{max-width:none}.about-section{padding:1.5rem}.schedule-row{grid-template-columns:1fr 1fr}.schedule-row input[type=text]{grid-column:1/2}.chat-layout{grid-template-columns:1fr;max-height:none}.chat-conv-pane{max-height:260px}.chat-thread-pane{min-height:420px}.chat-bubble{max-width:88%}.calendar-cell{min-height:72px;padding:.3rem}.calendar-event-time{display:none}.calendar-title{min-width:0}.toast-container{bottom:1rem;right:1rem}}
