:root{--bg: #120d22;--panel: rgba(255,255,255,.08);--panel2: rgba(255,255,255,.12);--text: rgba(255,255,255,.96);--muted: rgba(232,229,244,.72);--accent: #ffffff;--accent-soft: #a784ff;--danger: #ff6a9a;--ok: #bba7ff;--ring: rgba(167,132,255,.45);--shadow: 0 24px 60px rgba(5,2,15,.55);--radius: 18px;--font-sans: "Montserrat", ui-sans-serif, system-ui, sans-serif;--font-serif: "Montserrat", ui-sans-serif, system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-sans);color:var(--text);background:radial-gradient(820px 420px at 0% 0%,rgba(138,92,255,.22),transparent 62%),radial-gradient(860px 440px at 100% 10%,rgba(255,255,255,.08),transparent 58%),radial-gradient(920px 520px at 50% 100%,rgba(96,53,181,.25),transparent 60%),linear-gradient(180deg,#090612,#120d22 48%,#17102d);background-attachment:fixed}a{color:inherit;text-decoration:none}.auth-input{width:100%;border:1px solid rgba(164,174,197,.45);background:#f6f8fc;color:#1d2440;padding:16px 18px;border-radius:18px;font-size:18px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.auth-input::placeholder{color:#8f98af}.auth-input:focus{outline:none;border-color:#6950dc8c;box-shadow:0 0 0 4px #6950dc1f;background:#fff}.auth-submit{border:0;border-radius:18px;background:linear-gradient(180deg,#5a47d6,#3f2da8);color:#fff;padding:16px 18px;font-size:18px;font-weight:800;cursor:pointer;box-shadow:0 18px 38px #3f2da847}.auth-submit:hover{transform:translateY(-1px)}.auth-submit:disabled{opacity:.7;cursor:default}.login-shell{grid-template-columns:1.15fr .85fr}@media (max-width: 1100px){.login-shell{grid-template-columns:1fr;min-height:auto!important}.login-intro{padding:56px 42px!important}.login-form-side{padding:26px!important}}.btn{border:1px solid rgba(255,255,255,.16);background:#ffffff0d;color:var(--text);padding:10px 12px;border-radius:12px;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.btn:hover{background:#ffffff1a;transform:translateY(-1px)}.btn:focus{outline:3px solid var(--ring);outline-offset:2px}.btn.primary{border-color:#a784ff8c;background:linear-gradient(180deg,#a784ff2e,#ffffff0f)}.btn.danger{border-color:#ff6a9a73;background:#ff6a9a1f}.input,.select,.textarea{width:100%;border:1px solid rgba(255,255,255,.14);background:#0d0a19b8;color:var(--text);padding:10px 12px;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.textarea{min-height:96px;resize:vertical}.input[type=date],.input[type=datetime-local]{color-scheme:dark;padding-right:42px}.input[type=date]::-webkit-calendar-picker-indicator,.input[type=datetime-local]::-webkit-calendar-picker-indicator{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") center / 18px 18px no-repeat;color:transparent;opacity:1;opacity:.95;cursor:pointer;width:20px;height:20px}.card{background:linear-gradient(180deg,#ffffff14,#ffffff0d);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.rise{animation:rise .35s ease-out both}.fc{--fc-border-color: rgba(255,255,255,.14);--fc-page-bg-color: transparent;--fc-neutral-bg-color: rgba(255,255,255,.06);--fc-today-bg-color: rgba(167,132,255,.16);--fc-event-border-color: transparent;--fc-event-text-color: rgba(255,255,255,.92);--fc-button-bg-color: rgba(255,255,255,.08);--fc-button-border-color: rgba(255,255,255,.12);--fc-button-text-color: rgba(255,255,255,.9);--fc-button-hover-bg-color: rgba(255,255,255,.12);--fc-button-hover-border-color: rgba(255,255,255,.18);--fc-button-active-bg-color: rgba(167,132,255,.22);--fc-button-active-border-color: rgba(167,132,255,.4);--fc-button-active-text-color: rgba(255,255,255,.96)}.fc .fc-toolbar-title{font-family:var(--font-serif);letter-spacing:.2px}.calendar-event-content{display:grid;gap:2px;min-width:0;width:100%;max-width:100%;overflow:hidden}.calendar-event-time{font-size:11px;opacity:.88;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event-title{font-size:12px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event-municipality{font-size:10px;line-height:1.2;opacity:.82;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event-content-month{gap:1px}.calendar-event-content-month .calendar-event-time{font-size:9px}.calendar-event-content-month .calendar-event-title{font-size:11px}.calendar-event-content-month .calendar-event-municipality{font-size:9px}.fc .calendar-month-multiday-event{margin-top:0!important}.fc .calendar-month-multiday-event .fc-event-main{padding:0!important}.fc .calendar-month-multiday-event.fc-daygrid-block-event{padding:3px 6px!important;min-height:auto;border-radius:8px!important;box-shadow:inset 0 1px #ffffff14}.calendar-event-content-week{display:grid;grid-template-columns:1fr;gap:1px;align-content:start}.calendar-event-content-week .calendar-event-time{font-size:10px}.calendar-event-content-week .calendar-event-title{font-size:11px}.calendar-event-content-week .calendar-event-municipality{font-size:9px}.calendar-event-content-day{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"time title" "time municipality";align-content:start;align-items:start;column-gap:6px;row-gap:1px}.calendar-event-content-day .calendar-event-time{font-size:10px;grid-area:time;align-self:start;min-width:54px}.calendar-event-content-day .calendar-event-title{font-size:11px;grid-area:title}.calendar-event-content-day .calendar-event-municipality{font-size:9px;grid-area:municipality}.calendar-event-content-compact{gap:0}.calendar-event-content-compact .calendar-event-title{font-size:10px;line-height:1.05}.calendar-event-content-compact .calendar-event-municipality{font-size:8px;line-height:1}.calendar-event-content-compact-day{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"time title" "time municipality";column-gap:6px;row-gap:0;align-items:start}.calendar-event-content-compact-day .calendar-event-time{grid-area:time;min-width:48px;font-size:9px;align-self:start}.calendar-event-content-compact-day .calendar-event-title{grid-area:title;font-size:10px}.calendar-event-content-compact-day .calendar-event-municipality{grid-area:municipality;font-size:8px}.fc .fc-daygrid-block-event{border-width:1px!important;border-style:solid!important;border-radius:8px!important;padding:3px 6px!important;box-shadow:inset 0 1px #ffffff14}.fc .fc-daygrid-block-event .fc-event-main{padding:0!important}.fc .fc-timegrid-event{overflow:hidden!important}.fc .fc-timegrid-event .fc-event-main{width:100%;max-width:100%;overflow:hidden!important;padding:1px 5px!important}.fc .fc-timegrid-event .fc-event-main-frame{min-width:0;width:100%;height:100%}.fc .fc-timegrid-event .fc-event-time,.fc .fc-timegrid-event .fc-event-title,.fc .fc-timegrid-event .calendar-event-municipality{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.fc .fc-timegrid-event .calendar-event-title{font-weight:700}.fc .fc-timegrid-event .calendar-event-municipality{line-height:1.05}.fc .fc-timegrid-event-harness{margin-right:2px!important}.fc .fc-daygrid-day-events{margin-top:0!important}.fc .fc-daygrid-more-link{color:#fffc!important}.app-nav{overflow-x:auto}.app-mobile-topbar,.app-drawer-backdrop,.app-drawer{display:none}@media (max-width: 1100px){.app-shell{grid-template-columns:1fr!important}.app-sidebar{padding-bottom:0!important}.app-main{padding-top:10px!important}.content-split,.stats-grid-3{grid-template-columns:1fr!important}.grid-filters-6,.grid-create-6,.grid-admin-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (max-width: 820px){body{background-attachment:scroll}.app-shell{grid-template-columns:1fr!important;gap:0!important}.app-sidebar{display:none!important}.app-main{padding:10px 12px 18px!important}.app-mobile-topbar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:35;padding:12px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(180deg,#120d22f5,#120d22d1);border-bottom:1px solid rgba(255,255,255,.08)}.app-menu-button{width:46px;height:46px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#ffffff14;display:grid;align-content:center;gap:5px;padding:0 11px;cursor:pointer}.app-menu-button span{display:block;height:2px;border-radius:999px;background:#fffffff0}.app-mobile-brand{min-width:0}.app-mobile-title{font-family:var(--font-serif);font-size:22px;line-height:1}.app-mobile-subtitle{margin-top:4px;color:var(--muted);font-size:12px}.app-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:block;background:#07040e94;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-drawer{display:block;width:min(340px,calc(100vw - 24px));height:100%;padding:12px}.app-nav{overflow:visible}.grid-3,.grid-3-title,.grid-2,.grid-2-wide,.grid-filters-6,.grid-create-6,.grid-admin-4,.stats-grid-3,.content-split,.date-picker-row{grid-template-columns:1fr!important}.cartogram-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.events-table-head{display:none!important}.events-table-row{grid-template-columns:1fr!important;gap:6px}.mobile-modal{max-height:calc(100vh - 24px);overflow-y:auto}.login-shell{width:100%!important;min-height:calc(100vh - 24px)!important;border-radius:24px!important}.login-intro{display:none!important}.login-form-side{padding:18px!important}.login-form-card{width:100%!important;border-radius:22px!important;min-height:calc(100vh - 60px);display:grid!important;align-content:center;padding:30px 20px 24px!important;box-shadow:none!important}.login-form-title{font-size:30px!important}.login-form-text{font-size:16px!important;line-height:1.5!important}.calendar-mobile-switcher{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.calendar-mobile-switcher .btn{padding:12px 8px;font-size:14px}.fc .fc-daygrid-day-events{margin-top:4px!important}.fc .fc-daygrid-event{margin:2px 0!important;padding:2px 4px!important;border-radius:8px!important}.fc .fc-toolbar{display:grid;grid-template-columns:1fr;gap:10px}.fc .fc-toolbar-chunk{display:flex;justify-content:center;gap:8px}.fc .fc-toolbar-title{font-size:20px!important;text-align:center}.fc .fc-button{padding:.5em .75em!important}.fc .fc-col-header-cell-cushion,.fc .fc-daygrid-day-number{font-size:13px}.fc .fc-event-title,.fc .fc-event-time{font-size:12px}.calendar-event-municipality{font-size:9px}}@media (max-width: 560px){.btn,.auth-submit,.auth-input,.input,.select,.textarea{font-size:16px}.card{border-radius:16px}.cartogram-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.login-form-card{min-height:calc(100vh - 48px);padding:24px 16px 20px!important}.login-form-title{font-size:26px!important}}
