.notification-bell{position:relative}.notification-bell-trigger{position:relative;background:#ffffff26;border:1.5px solid rgba(255,255,255,.35);color:#fff;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .2s ease}.notification-bell-trigger:hover{background:#ffffff47}.notification-bell-icon{font-size:18px;line-height:1}.notification-bell-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.9)}.notification-panel{position:absolute;top:calc(100% + 10px);right:0;width:min(360px,calc(100vw - 32px));max-width:calc(100vw - 24px);background:#fff;border-radius:12px;box-shadow:0 12px 40px #0000002e;z-index:1000;overflow:hidden;color:#1f2937}.notification-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #e5e7eb}.notification-panel-header h3{margin:0;font-size:15px;font-weight:700;color:#111827}.notification-mark-all{background:none;border:none;color:var(--color-primary);font-size:12px;font-weight:600;cursor:pointer;padding:4px 0}.notification-mark-all:hover{text-decoration:underline}.notification-panel-body{max-height:360px;overflow-y:auto}.notification-empty{margin:0;padding:24px 16px;text-align:center;color:#6b7280;font-size:14px}.notification-list{list-style:none;margin:0;padding:0}.notification-item{width:100%;text-align:left;background:#fff;border:none;border-bottom:1px solid #f3f4f6;padding:12px 16px;cursor:pointer;transition:background .15s ease}.notification-item:hover{background:#f9fafb}.notification-item.unread{background:var(--color-primary-muted)}.notification-item.unread:hover{background:var(--color-primary-subtle)}.notification-item-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.notification-type{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:4px}.notification-type--reply{background:var(--color-primary-muted);color:var(--color-primary-dark)}.notification-type--closed{background:#d1fae5;color:var(--color-primary)}.notification-type--comment{background:#fef3c7;color:#b45309}.notification-type--created{background:#dbeafe;color:#1d4ed8}.notification-time{font-size:11px;color:#9ca3af}.notification-title{display:block;font-size:13px;color:#111827;margin-bottom:4px}.notification-message{margin:0 0 6px;font-size:13px;color:#4b5563;line-height:1.4}.notification-actor{font-size:11px;color:#9ca3af}.navbar{position:sticky;top:0;z-index:1000;width:100%;max-width:100%;font-family:var(--font-sans);background:var(--gradient-nav);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow-nav);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px)}.navbar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#ffffff1a,#fff0 45%)}.navbar--admin{background:linear-gradient(120deg,#003f1f,#005a2c 60%,#00733a)}.nav-container{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;padding-top:12px;padding-bottom:12px;gap:var(--space-3);width:100%}.nav-logo{color:#fff;cursor:pointer;text-decoration:none;display:flex;align-items:center;gap:var(--space-3);flex:0 1 auto;min-width:0;transition:opacity var(--transition-base)}.nav-logo:hover{opacity:.95}.nav-logo:hover .nav-brand-mark{transform:translateY(-1px);box-shadow:0 6px 16px #00000047}.navbar .nav-brand-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;color:var(--color-primary-dark);background:linear-gradient(160deg,#fff,#e8f5ee);border-radius:var(--radius-md);box-shadow:0 4px 12px #0003,inset 0 1px #fff9;transition:transform var(--transition-base),box-shadow var(--transition-base)}.nav-menu{display:flex;list-style:none;margin:0;padding:4px;gap:2px;align-items:center;flex:0 1 auto;min-width:0;flex-wrap:nowrap;justify-content:center;background:#0000002e;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.nav-item{display:flex;align-items:center}.nav-link{position:relative;color:#ffffffd1;text-decoration:none;padding:8px 16px;display:flex;align-items:center;justify-content:center;transition:background var(--transition-base),color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-fast);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:var(--font-weight-medium);letter-spacing:.01em;cursor:pointer;white-space:nowrap}.nav-link:hover{background:#ffffff24;color:#fff}.nav-link:active{transform:scale(.97)}.nav-link.active{background:#fff;color:var(--color-primary-dark);font-weight:var(--font-weight-semibold);box-shadow:0 2px 10px #0003}.nav-link-text--compact{display:none}.nav-user{display:flex;align-items:center;gap:var(--space-3);flex:0 0 auto;justify-content:flex-end;min-width:0}.nav-user-actions{display:flex;align-items:center;flex-shrink:0}.nav-user-profile{display:flex;align-items:center;gap:var(--space-2);min-width:0;padding-left:var(--space-3);border-left:1px solid rgba(255,255,255,.16)}.nav-user-meta{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.2}.nav-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-pill);background:linear-gradient(160deg,#fffffff2,#ffffffc7);color:var(--color-primary-dark);font-size:.8125rem;font-weight:var(--font-weight-bold);letter-spacing:.02em;box-shadow:inset 0 0 0 1px #fff6}.nav-avatar--lg{width:48px;height:48px;font-size:1rem}.user-role{color:#ffffffc7;font-size:.625rem;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-wide);white-space:nowrap}.user-name{color:#fff;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:14ch}.logout-btn{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.35);padding:8px 16px;border-radius:var(--radius-pill);cursor:pointer;font-family:inherit;font-weight:var(--font-weight-semibold);font-size:.8125rem;letter-spacing:.02em;flex-shrink:0;transition:background var(--transition-base),color var(--transition-base),border-color var(--transition-base),transform var(--transition-fast)}.logout-btn:hover{background:#fff;color:var(--color-primary-dark);border-color:#fff}.logout-btn:active{transform:scale(.98)}.nav-mobile-actions{display:none;align-items:center;gap:var(--space-2)}.nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base)}.nav-toggle:hover{background:#ffffff2e}.nav-toggle span{display:block;height:2px;width:100%;background:#fff;border-radius:2px;transition:transform var(--transition-base),opacity var(--transition-base)}.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1100;animation:nav-fade-in var(--transition-base)}@keyframes nav-fade-in{0%{opacity:0}to{opacity:1}}.nav-drawer{position:fixed;top:0;right:0;bottom:0;width:min(86vw,340px);background:linear-gradient(165deg,#00733a,#005a2c 55%,#003f1f);z-index:1200;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6) var(--space-5);box-shadow:-8px 0 40px #00000059;transform:translate(100%);transition:transform var(--transition-slow);overflow-y:auto}.nav-drawer.is-open{transform:translate(0)}.nav-drawer-header{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid rgba(255,255,255,.15)}.nav-drawer-identity{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.nav-drawer-name{color:#fff;font-weight:var(--font-weight-semibold);font-size:var(--text-base)}.nav-menu--drawer{flex-direction:column;align-items:stretch;background:transparent;border:none;padding:0;gap:var(--space-1);flex:0 0 auto;-webkit-backdrop-filter:none;backdrop-filter:none}.nav-menu--drawer .nav-item{width:100%}.nav-menu--drawer .nav-link{width:100%;justify-content:flex-start;padding:12px 14px;font-size:var(--text-base)}.nav-drawer-logout{margin-top:auto;width:100%;padding:12px}@media (max-width: 768px){.nav-menu--desktop,.nav-user--desktop{display:none}.nav-mobile-actions{display:flex}}@media (min-width: 769px){.nav-drawer,.nav-backdrop{display:none}}@media (max-width: 1080px){.navbar--admin .nav-menu--desktop,.navbar--admin .nav-user--desktop{display:none}.navbar--admin .nav-mobile-actions{display:flex}}@media (min-width: 769px) and (max-width: 1080px){.nav-drawer--admin{display:flex}.nav-backdrop--admin{display:block}}@media (min-width: 1081px){.navbar--admin .nav-menu--desktop .nav-link{padding:8px 12px}.navbar--admin .nav-user-meta{display:none}}@media (min-width: 1081px) and (max-width: 1240px){.navbar--admin .nav-menu--desktop .nav-link-text--full{display:none}.navbar--admin .nav-menu--desktop .nav-link-text--compact{display:inline}}@media (max-width: 480px){.nav-brand-title{font-size:.875rem}.nav-brand-subtitle{font-size:.7rem}.nav-brand-mark{width:34px;height:34px}}.open-ticket-permission-banner{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);z-index:900;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;max-width:min(36rem,calc(100vw - 2rem));padding:.75rem 1rem;background:var(--color-surface, #fff);border:1px solid var(--color-border, #d1d5db);border-radius:.5rem;box-shadow:0 8px 24px #0000001f;font-size:.875rem}.open-ticket-permission-banner p{margin:0;flex:1 1 12rem}.open-ticket-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0f172a8c;animation:open-ticket-overlay-in .2s ease-out}@keyframes open-ticket-overlay-in{0%{opacity:0}to{opacity:1}}.open-ticket-toast{width:100%;max-width:26rem;animation:open-ticket-toast-in .25s ease-out}@keyframes open-ticket-toast-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.open-ticket-toast-content{padding:1.25rem 1.5rem;background:var(--color-surface, #fff);border:2px solid #f59e0b;border-radius:.625rem;box-shadow:0 16px 48px #0003;text-align:center}.open-ticket-toast-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:#b45309}.open-ticket-toast-desc{margin:0 0 .5rem;font-size:.9375rem;line-height:1.45}.open-ticket-toast-hint{margin:0 0 1rem;font-size:.8125rem;color:var(--color-muted, #6b7280)}.open-ticket-toast-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.requester-nav{background:var(--gradient-nav);color:#fff;border-bottom:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow-nav);position:sticky;top:0;z-index:1000;font-family:var(--font-sans);width:100%;max-width:100%;-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px)}.requester-nav-inner{display:flex;align-items:center;padding-top:12px;padding-bottom:12px;gap:var(--space-5);flex-wrap:wrap;width:100%}.requester-nav-brand{color:#fff;text-decoration:none;display:flex;align-items:center;gap:var(--space-3);flex:0 1 auto;min-width:0;transition:opacity var(--transition-base)}.requester-nav-brand:hover{opacity:.95}.requester-nav-brand:hover .requester-brand-mark{transform:translateY(-1px);box-shadow:0 6px 16px #00000047}.requester-nav .nav-brand-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.requester-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;color:var(--color-primary-dark);background:linear-gradient(160deg,#fff,#e8f5ee);border-radius:var(--radius-md);box-shadow:0 4px 12px #0003,inset 0 1px #fff9;transition:transform var(--transition-base),box-shadow var(--transition-base)}.requester-nav-links{list-style:none;margin:0;padding:4px;display:flex;gap:2px;flex:0 1 auto;min-width:0;background:#00000029;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.requester-nav-links li{display:flex;align-items:center}.requester-nav-link{color:#ffffffd9;text-decoration:none;font-weight:var(--font-weight-medium);font-size:var(--text-sm);letter-spacing:.01em;padding:8px 18px;border-radius:var(--radius-pill);transition:background var(--transition-base),color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.requester-nav-link:hover{color:#fff;background:#ffffff24}.requester-nav-link:active{transform:scale(.97)}.requester-nav-link.active{color:var(--color-primary-dark);background:#fff;font-weight:var(--font-weight-semibold);box-shadow:0 2px 10px #0003}.requester-nav-user{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);font-weight:var(--font-weight-medium);flex:1 1 auto;justify-content:flex-end;min-width:0}.requester-nav-user-actions{display:flex;align-items:center;flex-shrink:0}.requester-nav-user-profile{display:flex;align-items:center;gap:var(--space-2);min-width:0;padding-left:var(--space-3);border-left:1px solid rgba(255,255,255,.16)}.requester-nav-user-meta{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.2}.requester-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-pill);background:linear-gradient(160deg,#fffffff2,#ffffffc7);color:var(--color-primary-dark);font-size:.8125rem;font-weight:var(--font-weight-bold);letter-spacing:.02em;box-shadow:inset 0 0 0 1px #fff6}.requester-role{text-transform:uppercase;font-size:.625rem;font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-wide);color:#ffffffc7;white-space:nowrap}.requester-user-name{color:#fff;font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:14ch}.requester-nav-user button{background:#ffffff14;border:1px solid rgba(255,255,255,.35);color:#fff;padding:8px 16px;border-radius:var(--radius-pill);cursor:pointer;font-family:inherit;font-weight:var(--font-weight-semibold);font-size:.8125rem;letter-spacing:.02em;flex-shrink:0;transition:background var(--transition-base),color var(--transition-base),border-color var(--transition-base),transform var(--transition-fast)}.requester-nav-user button:hover{background:#fff;color:var(--color-primary-dark);border-color:#fff}.requester-nav-user button:active{transform:scale(.98)}@media (max-width: 1024px){.requester-user-name{max-width:10ch}}@media (max-width: 768px){.requester-nav-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"logo actions" "menu menu";gap:var(--space-3);align-items:center}.requester-nav-brand{grid-area:logo;min-width:0}.requester-nav-user{grid-area:actions;flex:0 0 auto;gap:var(--space-2)}.requester-nav-user-profile{display:none}.requester-nav-links{grid-area:menu;width:100%;justify-content:center}.requester-nav-links li{flex:1 1 0}.requester-nav-link{width:100%;padding:10px 12px}}@media (max-width: 480px){.nav-brand-title{font-size:.875rem}.nav-brand-subtitle{font-size:.7rem}.requester-brand-mark{width:34px;height:34px}.requester-nav-user button{padding:7px 12px;font-size:.75rem}}.admin-chat-widget{position:fixed;right:20px;bottom:20px;z-index:1200;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}.admin-chat-widget>*{pointer-events:auto}.admin-chat-fab{position:relative;width:148px;height:88px;border:none;border-radius:18px;display:grid;place-items:center;cursor:pointer;color:#fff;background:var(--gradient-primary);box-shadow:0 10px 28px #00502861,0 2px 6px #0000001f;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,background .2s ease}.admin-chat-fab:hover{transform:translateY(-2px) scale(1.03);filter:brightness(1.05)}.admin-chat-fab.is-open{background:var(--color-text-secondary);box-shadow:var(--shadow-md)}.admin-chat-fab.has-unread{background:linear-gradient(135deg,#f43f5e,#e11d48 55%,#be123c);box-shadow:0 10px 28px #be123c6b,0 2px 6px #0000001f;animation:admin-chat-pulse 1.6s ease-in-out infinite}.admin-chat-fab-notify{max-width:160px;padding:6px 12px;border-radius:999px;background:#fff1f3;color:#be123c;border:1px solid #fbc7d1;box-shadow:var(--shadow-md);font-size:12px;font-weight:var(--font-weight-bold);line-height:1.2;text-align:center;white-space:nowrap;animation:admin-chat-notify-in .2s ease-out}.admin-chat-fab-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;line-height:1;padding:0 8px}.admin-chat-fab-label{font-size:12px;font-weight:var(--font-weight-bold);letter-spacing:.01em;text-transform:none;white-space:nowrap}.admin-chat-fab svg{width:28px;height:28px}@keyframes admin-chat-notify-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes admin-chat-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.admin-chat-popup{width:min(440px,calc(100vw - 20px));height:min(680px,calc(100vh - 110px));background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden;animation:admin-chat-pop .18s ease-out}@keyframes admin-chat-pop{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.admin-chat-popup-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 18px 18px;min-height:84px;background:var(--gradient-hero);color:#fff}.admin-chat-popup-header-side{min-width:0}.admin-chat-popup-header--thread{align-items:center}.admin-chat-popup-header h2{margin:0 0 4px;font-size:1.35rem;font-weight:var(--font-weight-bold);letter-spacing:var(--letter-tight)}.admin-chat-popup-header p{margin:0;font-size:13px;color:#ffffffc7}.admin-chat-popup-thread-title{flex:1;min-width:0}.admin-chat-popup-thread-title h2,.admin-chat-popup-thread-title p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-chat-icon-btn{flex-shrink:0;width:38px;height:38px;border:none;border-radius:50%;display:grid;place-items:center;background:#ffffff24;color:#fff;cursor:pointer}.admin-chat-icon-btn:hover{background:#ffffff3d}.admin-chat-popup-list{flex:1;overflow-y:auto;padding:8px;background:var(--color-surface)}.admin-chat-popup-section{margin:10px 10px 4px;font-size:11px;font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-wide);text-transform:uppercase;color:var(--color-text-subtle)}.admin-chat-popup-row{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:none;background:transparent;border-radius:12px;padding:10px;cursor:pointer;color:inherit;font:inherit}.admin-chat-popup-row:hover:not(:disabled){background:var(--color-surface-muted)}.admin-chat-popup-row.is-inactive,.admin-chat-popup-row:disabled{opacity:.55;cursor:not-allowed}.admin-chat-popup-avatar{flex-shrink:0;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:var(--font-weight-semibold);color:var(--color-primary-dark);background:var(--color-primary-muted);border:1px solid var(--color-primary-subtle)}.admin-chat-popup-avatar-wrap{position:relative;flex-shrink:0;width:42px;height:42px}.admin-chat-online-dot{position:absolute;right:0;bottom:0;width:12px;height:12px;border-radius:50%;background:#9aa8a0;border:2px solid var(--color-surface);box-shadow:0 0 0 1px #0000000a}.admin-chat-online-dot.is-online{background:#22c55e;box-shadow:0 0 0 1px #22c55e40}.admin-chat-online-dot--inline{position:relative;display:inline-block;width:10px;height:10px;margin-left:8px;vertical-align:middle;border-width:0;box-shadow:none}.admin-chat-presence-label{color:var(--color-text-subtle)}.admin-chat-presence-label.is-online{color:#15803d;font-weight:var(--font-weight-semibold)}.admin-chat-popup-thread-title h2{display:flex;align-items:center}.admin-chat-popup-avatar--group{font-size:12px;color:#fff;background:var(--gradient-primary);border-color:transparent}.admin-chat-popup-row-meta{min-width:0;display:flex;flex-direction:column;gap:2px}.admin-chat-popup-row.has-unread{background:color-mix(in srgb,#dc2626 10%,#fff)}.admin-chat-popup-row.has-unread .admin-chat-popup-row-name{font-weight:var(--font-weight-bold, 700);color:#111827}.admin-chat-popup-row-detail.is-unread{color:#166534;font-weight:600}.admin-chat-unread-banner{margin:0 0 8px;padding:10px 12px;border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,#dc2626 12%,#fff),color-mix(in srgb,#166534 6%,#fff));border:1px solid color-mix(in srgb,#dc2626 22%,transparent)}.admin-chat-unread-banner-title{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#991b1b}.admin-chat-unread-banner-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.admin-chat-unread-banner-item{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:8px;align-items:center;text-align:left;border:0;background:#ffffffb8;border-radius:10px;padding:8px 10px;cursor:pointer}.admin-chat-unread-banner-item:hover{background:#fff}.admin-chat-unread-banner-name{grid-column:1;grid-row:1;font-size:13px;font-weight:700;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-chat-unread-banner-preview{grid-column:1;grid-row:2;font-size:12px;color:#166534;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-chat-unread-banner-item .admin-chat-row-unread-count{grid-column:2;grid-row:1 / span 2}.admin-chat-popup-row-name{font-size:14px;font-weight:var(--font-weight-semibold);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-flex;align-items:center;gap:8px;max-width:100%}.admin-chat-row-unread-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#dc2626;color:#fff;font-size:11px;font-weight:700;line-height:1;flex-shrink:0}.admin-chat-row-unread-dot{position:absolute;top:0;right:0;width:10px;height:10px;border-radius:50%;background:#dc2626;border:2px solid #fff;z-index:2}.admin-chat-popup-row-detail{font-size:12px;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-chat-popup-empty,.admin-chat-popup-empty-state{margin:0;padding:24px 16px;text-align:center;color:var(--color-text-muted);font-size:13px;line-height:1.45}.admin-chat-popup-empty-state{margin:auto}.admin-chat-popup-empty-state p{margin:0 0 4px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.admin-chat-popup-empty-state span{font-size:12.5px}.admin-chat-popup-error{margin:0;padding:8px 12px;background:var(--color-error-bg);color:var(--color-error-text);border-bottom:1px solid var(--color-error-border);font-size:12.5px}.admin-chat-popup-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,var(--color-surface-muted) 0%,var(--color-surface) 100%)}.admin-chat-popup-bubble{display:flex;align-items:flex-end;gap:8px;max-width:92%}.admin-chat-popup-bubble.is-mine{align-self:flex-end;flex-direction:row-reverse}.admin-chat-popup-bubble-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-primary-dark);background:var(--color-primary-muted);border:1px solid var(--color-primary-subtle);flex-shrink:0}.admin-chat-popup-bubble-body{min-width:0}.admin-chat-popup-bubble-author{display:block;font-size:11px;color:var(--color-text-muted);margin:0 0 3px 4px}.admin-chat-popup-bubble-body p{margin:0;padding:8px 12px;border-radius:16px 16px 16px 6px;background:var(--color-surface);border:1px solid var(--color-border);font-size:13.5px;line-height:1.4;color:var(--color-text);white-space:pre-wrap;word-break:break-word}.admin-chat-popup-bubble.is-mine .admin-chat-popup-bubble-body p{border-radius:16px 16px 6px;background:var(--color-primary-muted);border-color:var(--color-primary-subtle);color:var(--color-success-text)}.admin-chat-popup-bubble-body time{display:block;margin-top:3px;padding:0 4px;font-size:10.5px;color:var(--color-text-subtle)}.admin-chat-popup-bubble.is-mine .admin-chat-popup-bubble-body time{text-align:right}.admin-chat-popup-composer{display:flex;align-items:flex-end;gap:8px;padding:10px 12px 12px;border-top:1px solid var(--color-border);background:var(--color-surface)}.admin-chat-popup-composer textarea{flex:1;min-height:40px;max-height:96px;resize:none;border:1px solid var(--color-border);border-radius:20px;padding:10px 14px;font:inherit;font-size:13.5px;line-height:1.35;color:var(--color-text);background:var(--color-surface-muted);outline:none}.admin-chat-popup-composer textarea:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);background:var(--color-surface)}.admin-chat-send-btn{flex-shrink:0;width:40px;height:40px;border:none;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--gradient-primary);cursor:pointer}.admin-chat-send-btn:disabled{opacity:.45;cursor:not-allowed}.admin-chat-send-btn:hover:not(:disabled){filter:brightness(1.05)}@media (max-width: 480px){.admin-chat-widget{right:12px;bottom:12px}.admin-chat-popup{width:calc(100vw - 20px);height:min(78vh,calc(100vh - 100px))}.admin-chat-popup-header{min-height:76px;padding:16px 14px}.admin-chat-popup-header h2{font-size:1.2rem}.admin-chat-fab{width:132px;height:80px;border-radius:16px}.admin-chat-fab svg{width:24px;height:24px}.admin-chat-fab-label{font-size:11px}}.site-footer{margin-top:auto;border-top:1px solid var(--color-border);background:var(--color-surface)}.site-footer--dark{border-top-color:#ffffff1f;background:#0003}.site-footer-inner{padding-top:28px;padding-bottom:28px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.site-footer-inner:not(.site-footer-inner--bar) .site-footer-bar{display:contents}@media (min-width: 768px){.site-footer-inner:not(.site-footer-inner--bar){flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;text-align:left;padding-top:24px;padding-bottom:24px;gap:12px 24px}.site-footer-inner:not(.site-footer-inner--bar) .site-footer-brand{flex:1 1 auto;min-width:200px}.site-footer-inner:not(.site-footer-inner--bar) .site-footer-nav{flex:0 0 auto}.site-footer-inner:not(.site-footer-inner--bar) .site-footer-copy{flex:1 1 100%;text-align:center;margin-top:4px}}@media (min-width: 1024px){.site-footer-inner:not(.site-footer-inner--bar){flex-wrap:nowrap}.site-footer-inner:not(.site-footer-inner--bar) .site-footer-copy{flex:0 0 auto;margin-top:0;text-align:right}}.site-footer-inner--bar{align-items:stretch;text-align:left;gap:12px;padding-top:24px;padding-bottom:24px}.site-footer-inner--bar .site-footer-brand{flex:0 0 auto;min-width:0}.site-footer-inner--bar .site-footer-nav{flex:0 0 auto;justify-content:flex-end}.site-footer-inner--bar .site-footer-copy{width:100%;text-align:center;margin-top:0}.site-footer-brand{display:flex;flex-direction:column}.site-footer:not(.site-footer--dark) .nav-brand-title{color:var(--color-text)}.site-footer:not(.site-footer--dark) .nav-brand-subtitle{color:var(--color-text-muted)}.site-footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px}.site-footer-nav a{font-size:.875rem;font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:color .15s ease}.site-footer-nav a:hover{color:var(--color-primary)}.site-footer--dark .site-footer-nav a{color:#fffc}.site-footer--dark .site-footer-nav a:hover{color:#bbf7d0}.site-footer-copy{font-size:.75rem;color:var(--color-text-subtle);line-height:1.4}.site-footer--dark .site-footer-copy{color:#ffffff80}@media (max-width: 640px){.site-footer-inner--bar .site-footer-nav{justify-content:center;width:100%}.site-footer-inner--bar .site-footer-bar.shell-bar{gap:16px}.site-footer-inner--bar .site-footer-brand{width:100%}}.landing-page{position:relative;min-height:100vh;display:flex;flex-direction:column;width:100%;max-width:100%;overflow-x:clip;background:var(--gradient-hero);color:#f1faf4;isolation:isolate}.landing-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(1000px 600px at 50% -5%,#000 0%,transparent 75%);mask-image:radial-gradient(1000px 600px at 50% -5%,#000 0%,transparent 75%)}.landing-header{border-bottom:1px solid rgba(255,255,255,.1);font-family:var(--font-sans)}.landing-header-inner{min-height:68px;padding-top:14px;padding-bottom:14px}.landing-brand{color:#fff;text-decoration:none;display:flex;align-items:center;flex-shrink:1;min-width:0;transition:opacity .2s ease}.landing-brand:hover{opacity:.92}.landing-header-actions{display:flex;align-items:center;gap:16px}.landing-link{color:#ffffffe6;text-decoration:none;font-family:var(--font-sans);font-size:.9rem;font-weight:var(--font-weight-medium);letter-spacing:.01em;transition:color var(--transition-base)}.landing-link:hover{color:#fff}.landing-btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 22px;border-radius:var(--radius-pill);font-weight:600;font-size:.9rem;text-decoration:none;transition:transform var(--transition-base),box-shadow var(--transition-base),background var(--transition-base)}.landing-btn-lg{padding:15px 30px;font-size:1rem}.landing-btn-primary{background:#fff;color:var(--color-primary-dark);box-shadow:0 8px 22px -8px #00000073}.landing-btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px -10px #00000080}.landing-btn-outline{border:1.5px solid rgba(255,255,255,.55);color:#fff;background:#ffffff0a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.landing-btn-outline:hover{background:#ffffff24;border-color:#fffc;transform:translateY(-2px)}.landing-hero{flex:1;width:100%;padding-top:72px;padding-bottom:96px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}.landing-hero-content{animation:landing-rise .7s var(--ease-out) both}.landing-hero-content h1{font-size:var(--text-4xl);margin:0 0 20px;line-height:1.05;letter-spacing:var(--letter-tighter)}.landing-hero-content>p{font-size:1.18rem;color:#ffffffd1;max-width:640px;line-height:1.6;margin:0 0 32px}.landing-cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:24px}.landing-note{font-size:.95rem;color:#ffffffad;max-width:560px;line-height:1.6}.landing-note strong{color:#fffffff2}.landing-cards{display:grid;gap:16px;margin-top:0}.landing-card{background:#ffffff12;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-xl);padding:24px 26px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 18px 40px -24px #0009;transition:transform var(--transition-base),border-color var(--transition-base),background var(--transition-base);animation:landing-rise .7s var(--ease-out) both}.landing-cards .landing-card:nth-child(2){animation-delay:.08s}.landing-cards .landing-card:nth-child(3){animation-delay:.16s}.landing-card:hover{transform:translateY(-3px);border-color:#ffffff4d;background:#ffffff1a}.landing-card-muted{opacity:.92}.landing-card h3{margin:0 0 10px;font-size:1.2rem}.landing-card p{margin:0 0 14px;color:#ffffffc7;font-size:.92rem;line-height:1.55}.landing-card-link{color:#8ef0bb;font-weight:600;font-size:.92rem;text-decoration:none;transition:color var(--transition-base)}.landing-card-link:hover{color:#c5f9da}@keyframes landing-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 960px){.landing-hero{grid-template-columns:1fr;gap:40px;padding-top:52px;padding-bottom:72px}.landing-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}}@media (max-width: 768px){.landing-header-inner{flex-wrap:wrap;padding-top:14px;padding-bottom:14px;gap:12px}.landing-header-actions{width:100%;gap:10px}.landing-header-actions .landing-link{flex:1 1 0;min-width:0;padding:11px 18px;border-radius:var(--radius-pill);border:1.5px solid rgba(255,255,255,.5);background:#ffffff0d;color:#fff;text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.landing-header-actions .landing-link:hover{background:#ffffff24;border-color:#fffc}.landing-header-actions .landing-btn{flex:1 1 0;min-width:0}.landing-cards{grid-template-columns:1fr}.landing-card{padding:20px}}@media (max-width: 480px){.landing-hero-content>p,.landing-note{font-size:.95rem}.landing-header-actions .landing-link,.landing-header-actions .landing-btn{padding-left:12px;padding-right:12px;font-size:.875rem}}.password-input-wrap{position:relative;width:100%}.password-input-wrap input{padding-right:44px}.password-input-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;padding:4px;background:none;border:none;color:#666;cursor:pointer;border-radius:4px}.password-input-toggle:hover{color:#333}.password-input-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.login-container{position:relative;display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--gradient-hero);padding:var(--space-5);isolation:isolate}.login-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:52px 52px;-webkit-mask-image:radial-gradient(700px 500px at 50% 0%,#000,transparent 70%);mask-image:radial-gradient(700px 500px at 50% 0%,#000,transparent 70%)}.login-box{position:relative;background:var(--color-surface);padding:var(--space-8) var(--space-7);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);border:1px solid var(--color-border);width:100%;max-width:448px;animation:slideUp .5s var(--ease-out)}.login-header{text-align:center;margin-bottom:var(--space-7)}.login-back{display:inline-block;margin-bottom:var(--space-3);color:var(--color-primary);text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-weight-medium)}.login-back:hover{text-decoration:underline}.login-header h1{color:var(--color-text);font-size:var(--text-2xl);margin-bottom:var(--space-2);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-tight)}.login-header p{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-weight-medium)}.login-subtitle{font-size:var(--text-xs)!important;color:var(--color-text-subtle)!important;margin-top:var(--space-1)!important}.login-mode-tabs{display:flex;gap:var(--space-1);padding:4px;margin-bottom:var(--space-6);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md)}.login-mode-tab{flex:1;padding:9px 12px;border:none;background:transparent;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-base),color var(--transition-base),box-shadow var(--transition-base)}.login-mode-tab:hover:not(.active){color:var(--color-text)}.login-mode-tab.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.login-box .form-group{margin-bottom:var(--space-5)}.login-box .form-group label{margin-bottom:var(--space-2);color:var(--color-text)}.login-box .form-group input{padding:13px 15px;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--color-bg);transition:border-color var(--transition-base),box-shadow var(--transition-base),background var(--transition-base)}.login-box .form-group input::placeholder{color:var(--color-text-subtle)}.login-box .form-group input:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 4px var(--color-primary-focus)}.login-btn{width:100%;padding:14px 16px;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:transform var(--transition-base),box-shadow var(--transition-base);margin-top:var(--space-2);letter-spacing:.02em;box-shadow:0 10px 22px -10px #005a2c99}.login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 30px -10px #005a2ca6}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.7;cursor:not-allowed}.login-footer{text-align:center;margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-text-muted)}.login-footer a{color:var(--color-primary);font-weight:var(--font-weight-semibold);text-decoration:none;transition:color var(--transition-base)}.login-footer a:hover{color:var(--color-primary-dark);text-decoration:underline}.success-message{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success-text);padding:12px 16px;border-radius:var(--radius-md);margin-bottom:var(--space-5);font-size:var(--text-sm)}.remember-me-row{margin-bottom:var(--space-2)}.remember-me-label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);-webkit-user-select:none;user-select:none}.remember-me-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.password-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.password-label-row label{margin-bottom:0}.forgot-password-link{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary);text-decoration:none}.forgot-password-link:hover{text-decoration:underline}.dev-reset-box{margin-top:var(--space-5);padding:14px;background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-warning-text);word-break:break-all}.dev-reset-box a{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.login-notice{margin-top:var(--space-6);text-align:center;font-size:var(--text-xs);color:var(--color-text-subtle);line-height:1.5}@media (max-width: 480px){.login-box{padding:var(--space-6) var(--space-5);border-radius:var(--radius-lg)}.login-header h1{font-size:var(--text-xl)}.password-label-row{flex-wrap:wrap;gap:var(--space-2)}}.register-page,.register-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--gradient-primary);font-family:var(--font-sans);padding:var(--space-5)}.register-box{background:var(--color-surface);padding:var(--space-8);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);width:100%;max-width:520px;animation:slideUp .45s ease-out}.register-header{text-align:center;margin-bottom:var(--space-7)}.register-back{display:inline-block;margin-bottom:var(--space-3);color:var(--color-primary);text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-weight-medium)}.register-back:hover{text-decoration:underline}.register-header h1{color:var(--color-text);font-size:var(--text-2xl);margin-bottom:var(--space-2);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-tight)}.register-header p{color:var(--color-text-muted);font-size:var(--text-sm)}.register-box .form-row{gap:var(--space-4)}.register-btn{width:100%;padding:14px;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:transform var(--transition-base),box-shadow var(--transition-base)}.register-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 24px #00652e47}.register-btn:disabled{opacity:.7;cursor:not-allowed}.register-footer{text-align:center;margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-text-muted)}.register-footer a{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-semibold)}.register-footer a:hover{text-decoration:underline}@media (max-width: 500px){.register-box{padding:var(--space-6) var(--space-5);border-radius:var(--radius-lg)}}.choice-list{display:flex;flex-direction:column;gap:var(--space-4)}.choice-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);text-decoration:none;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.choice-card:hover{transform:translateY(-2px);border-color:var(--color-primary);box-shadow:var(--shadow-md)}.choice-card-title{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--font-weight-semibold)}.choice-card-desc{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.5}.choice-card-cta{color:var(--color-primary);font-size:var(--text-sm);font-weight:var(--font-weight-semibold)}.dashboard-container{width:100%}.dashboard-container h1{color:var(--color-text);margin-bottom:var(--space-3);font-size:var(--text-2xl)}.dashboard-campus-selector{display:flex;align-items:center;gap:var(--space-3);margin:0 0 var(--space-4);flex-wrap:wrap}.dashboard-campus-selector label{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.dashboard-campus-selector select{min-width:220px;padding:9px 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--color-surface)}.dashboard-campus-note{margin:0 0 var(--space-5);color:var(--color-text-muted);font-size:var(--text-sm)}.dashboard-admin-link{margin:0 0 var(--space-6);line-height:1.8}.dashboard-admin-link a{color:var(--color-primary);font-weight:var(--font-weight-semibold);text-decoration:none}.dashboard-admin-link a:hover{text-decoration:underline}.eod-summary-wrap--refreshing{opacity:.65;pointer-events:none;transition:opacity var(--transition-fast)}.eod-summary--loading{pointer-events:none}.eod-summary-item--skeleton .eod-summary-value,.eod-summary-item--skeleton .eod-summary-label{background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9,#e2e8f0 75%);background-size:200% 100%;animation:eod-skeleton-shimmer 1.2s ease-in-out infinite;border-radius:4px;color:transparent;min-height:1em}.eod-summary-item--skeleton .eod-summary-value{min-height:28px;margin-bottom:10px}@keyframes eod-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dashboard-eod-error{margin:0 0 var(--space-6);padding:12px 16px;border-radius:var(--radius-md);background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-text)}.dashboard-eod-error a{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.dashboard-eod-section{margin-bottom:var(--space-7)}.dashboard-eod-section-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap}.dashboard-eod-section-header h2{margin:0;font-size:var(--text-xl);color:var(--color-text)}.dashboard-eod-section-header a{color:var(--color-primary);font-weight:var(--font-weight-semibold);text-decoration:none;white-space:nowrap}.dashboard-eod-section-header a:hover{text-decoration:underline}.eod-summary{position:relative;background:radial-gradient(900px 320px at 100% -20%,rgba(27,182,115,.08) 0%,transparent 60%),var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-6);margin-bottom:var(--space-7);overflow:hidden}.eod-summary:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--gradient-primary-soft)}.eod-summary-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6)}.eod-summary-header h2{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-3);margin:0 0 var(--space-2);color:var(--color-text);font-size:var(--text-xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-tight)}.eod-summary-date{position:relative;padding-left:var(--space-3);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.eod-summary-date:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:.95em;background:var(--color-border-strong)}.eod-summary-subtitle{margin:0;color:var(--color-text-secondary);font-size:var(--text-sm)}.eod-summary-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 13px 6px 11px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-wide);border:1px solid transparent}.eod-summary-badge-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.eod-summary-badge.live{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.eod-summary-badge.live .eod-summary-badge-dot{box-shadow:0 0 #00733a73;animation:eod-pulse 1.8s var(--ease-out) infinite}.eod-summary-badge.final{background:var(--color-bg-muted);color:var(--color-text-secondary);border-color:var(--color-border-strong)}@keyframes eod-pulse{0%{box-shadow:0 0 #00733a73}70%{box-shadow:0 0 0 6px #00733a00}to{box-shadow:0 0 #00733a00}}.eod-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.eod-summary-item{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);overflow:hidden;--tone: var(--color-text-muted);--tone-bg: var(--color-bg-muted)}.eod-summary-item.tone-primary{--tone: var(--color-primary);--tone-bg: var(--color-primary-muted)}.eod-summary-item.tone-danger{--tone: var(--color-error);--tone-bg: var(--color-error-bg)}.eod-summary-item.tone-info{--tone: var(--color-info);--tone-bg: var(--color-info-bg)}.eod-summary-item.tone-neutral{--tone: var(--color-text-secondary);--tone-bg: var(--color-bg-muted)}.eod-summary-link{display:block;text-decoration:none;color:inherit;cursor:pointer;transition:box-shadow var(--transition-base),transform var(--transition-base),border-color var(--transition-base)}.eod-summary-item.eod-summary-link:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);border-color:color-mix(in srgb,var(--tone) 45%,var(--color-border))}.eod-summary-item-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.eod-summary-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--tone-bg);color:var(--tone);flex-shrink:0}.eod-summary-icon svg{width:20px;height:20px}.eod-summary-value{font-size:var(--text-3xl);font-weight:var(--font-weight-bold);color:var(--color-text);line-height:1;letter-spacing:var(--letter-tight);font-variant-numeric:tabular-nums}.eod-summary-label{font-size:var(--text-base);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-2)}.eod-summary-desc{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6}.eod-pending-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4);padding-top:var(--space-5);margin-top:var(--space-1);border-top:1px solid var(--color-border)}.eod-pending-item{display:flex;align-items:center;gap:var(--space-4);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}.eod-pending-value{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 var(--space-2);border-radius:var(--radius-md);background:var(--color-primary-muted);color:var(--color-primary-dark);font-size:var(--text-xl);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;flex-shrink:0}.eod-pending-text{display:flex;flex-direction:column;gap:2px;min-width:0}.eod-pending-label{font-weight:var(--font-weight-bold);font-size:var(--text-base);color:var(--color-text)}.eod-pending-desc{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.5}.eod-summary-history-link{margin:var(--space-5) 0 0}.eod-summary-history-link a{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-primary);font-weight:var(--font-weight-semibold);font-size:var(--text-sm);text-decoration:none;transition:gap var(--transition-base)}.eod-summary-history-link a:hover{gap:var(--space-2);text-decoration:underline}.dashboard-charts{margin-bottom:var(--space-8)}.dashboard-charts-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.dashboard-charts-header h2{margin:0;font-size:var(--text-xl);color:var(--color-text)}.dashboard-charts-header p{margin:0;font-size:var(--text-sm);color:var(--color-text-muted)}.dashboard-charts-error{margin:0 0 var(--space-4);padding:10px 14px;border-radius:var(--radius-md);background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning-text);font-size:var(--text-sm)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-5);margin-bottom:var(--space-8)}.stat-card{position:relative;background:var(--color-surface);padding:var(--space-6) var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center;border:1px solid var(--color-border);overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-border-strong)}.stat-card-link{display:block;text-decoration:none;color:inherit;cursor:pointer;transition:box-shadow var(--transition-base),transform var(--transition-base),border-color var(--transition-base)}.stat-card-link:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--color-primary-subtle)}.stat-card.total:before{background:var(--gradient-primary)}.stat-card.open:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.stat-card.in-progress:before{background:linear-gradient(90deg,#0ea5e9,#38bdf8)}.stat-card.closed:before{background:var(--color-primary-dark)}.stat-number{font-size:var(--text-3xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-2);letter-spacing:var(--letter-tight);line-height:1}.stat-label{color:var(--color-text-muted);font-size:var(--text-sm)}.charts-grid{display:grid;grid-template-columns:1fr;gap:var(--space-5);margin-bottom:var(--space-7)}@media (min-width: 768px){.charts-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1180px){.charts-grid{grid-template-columns:repeat(3,1fr)}}.charts-grid--wide{grid-template-columns:1fr}.chart-card--full{grid-column:1 / -1}.chart-card{position:relative;display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5) var(--space-5) var(--space-6);overflow:hidden;transition:box-shadow var(--transition-base),transform var(--transition-base),border-color var(--transition-base)}.chart-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--color-primary-subtle)}.chart-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--accent, var(--gradient-primary))}.chart-card-header{margin-bottom:var(--space-4)}.chart-card-title{margin:0;font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--color-text);letter-spacing:var(--letter-tight)}.chart-card-subtitle{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}.chart-card-body{flex:1;display:flex;flex-direction:column;justify-content:flex-start;min-height:0}.chart-card-body .chart-donut{margin:auto 0}.chart-card-footer{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-muted)}.chart-empty{display:flex;align-items:center;justify-content:center;min-height:160px;color:var(--color-text-subtle);font-size:var(--text-sm);text-align:center}.chart-donut{display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap}.chart-donut-figure{position:relative;flex:0 0 auto;display:grid;place-items:center}.chart-donut-svg{transform:rotate(-90deg);display:block}.chart-donut-track{fill:none;stroke:var(--color-bg-muted)}.chart-donut-segment{fill:none;stroke-linecap:butt;transition:stroke-dashoffset var(--transition-slow)}.chart-donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;pointer-events:none}.chart-donut-center-value{font-size:var(--text-2xl);font-weight:var(--font-weight-bold);color:var(--color-text);line-height:1;letter-spacing:var(--letter-tight)}.chart-donut-center-label{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-wide)}.chart-legend{flex:1 1 140px;display:flex;flex-direction:column;gap:var(--space-2);min-width:140px}.chart-legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.chart-legend-dot{flex:0 0 auto;width:11px;height:11px;border-radius:3px}.chart-legend-label{flex:1;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-legend-value{font-weight:var(--font-weight-bold);color:var(--color-text);font-variant-numeric:tabular-nums}.chart-legend-percent{color:var(--color-text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;min-width:38px;text-align:right}.chart-bars{display:flex;flex-direction:column;gap:var(--space-4)}.chart-bar-row{display:grid;grid-template-columns:1fr;gap:var(--space-1)}.chart-bar-meta{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2)}.chart-bar-label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.chart-bar-value{font-size:var(--text-sm);font-weight:var(--font-weight-bold);color:var(--color-text);font-variant-numeric:tabular-nums}.chart-bar-track{position:relative;height:10px;border-radius:var(--radius-pill);background:var(--color-bg-muted);overflow:hidden}.chart-bar-fill{position:absolute;inset:0 auto 0 0;border-radius:var(--radius-pill);transition:width var(--transition-slow);min-width:2px}.chart-trend-svg{width:100%;height:auto;max-height:260px;display:block;overflow:visible}.chart-trend-grid-line{stroke:var(--color-border);stroke-width:1}.chart-trend-area{stroke:none}.chart-trend-line{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart-trend-dot{stroke:var(--color-surface);stroke-width:2}.chart-trend-axis-label{fill:var(--color-text-subtle);font-size:11px}.chart-trend-legend{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-3)}.chart-trend-legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary)}.chart-skeleton{min-height:200px;border-radius:var(--radius-md);background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9,#e2e8f0 75%);background-size:200% 100%;animation:chart-skeleton-shimmer 1.2s ease-in-out infinite}@keyframes chart-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.chart-donut-segment,.chart-bar-fill{transition:none}.chart-skeleton{animation:none}}.ticket-export-panel{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:20px;margin-bottom:24px;border:1px solid #e5e7eb}.ticket-export-panel h3{margin:0 0 6px;font-size:18px;color:#111827}.ticket-export-hint{margin:0 0 16px;color:#6b7280;font-size:14px}.ticket-export-fields{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.export-field{display:flex;flex-direction:column;gap:6px;min-width:200px}.export-field label{font-size:13px;font-weight:600;color:#374151}.export-field input{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.btn-export{padding:10px 18px;background:var(--gradient-primary);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.btn-export:hover:not(:disabled){filter:brightness(1.05)}.btn-export:disabled{opacity:.65;cursor:not-allowed}.ticket-export-error{margin:12px 0 0;color:#b91c1c;font-size:14px}.ticket-export-success{margin:12px 0 0;color:var(--color-primary);font-size:14px}.tickets-page{width:100%}.eod-filter-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);padding:12px 16px;background:var(--color-primary-muted);border:1px solid var(--color-primary-subtle);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm)}.filters{margin-bottom:var(--space-5)}.filters select{padding:10px 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--color-surface);cursor:pointer;min-width:200px}.tickets-list{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);overflow-x:auto;-webkit-overflow-scrolling:touch}.tickets-table{min-width:900px}.no-tickets{padding:var(--space-8);text-align:center;color:var(--color-text-muted)}.tickets-table td:nth-child(2){white-space:normal;min-width:160px;font-weight:var(--font-weight-medium);color:var(--color-text)}@media (max-width: 720px){.tickets-list{background:transparent;border:none;box-shadow:none;overflow:visible}.tickets-table{min-width:0}.tickets-list .no-tickets{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}}@media (max-width: 640px){.eod-filter-banner{flex-direction:column;align-items:stretch;gap:var(--space-2)}.filters select{width:100%;min-width:0}}.ticket-detail-container{width:100%;max-width:1000px;margin:0 auto}.back-to-tickets{display:inline-block;margin-bottom:var(--space-5);color:var(--color-primary);text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-weight-semibold)}.back-to-tickets:hover{text-decoration:underline}.resolution-banner{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid var(--color-success-border);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6)}.resolution-banner.resolved-empty{background:var(--gradient-surface);border-color:var(--color-border-strong)}.resolution-banner-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.resolution-badge{background:var(--color-primary);color:#fff;font-size:var(--text-xs);font-weight:var(--font-weight-bold);padding:6px 12px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.resolution-banner.resolved-empty .resolution-badge{background:var(--color-text-muted)}.resolution-date{font-size:var(--text-xs);color:var(--color-success-text)}.resolution-duration{color:var(--color-success-text);font-weight:var(--font-weight-semibold)}.resolution-banner-title{margin:0 0 var(--space-2);font-size:var(--text-xl);color:var(--color-success-text)}.resolution-banner-text{margin:0;color:#134e4a;line-height:1.65;font-size:var(--text-base);white-space:pre-wrap}.resolution-banner-text.muted{color:var(--color-text-muted);font-style:italic}.ticket-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);background:var(--color-surface);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.ticket-header h1{color:var(--color-text);font-size:var(--text-2xl);margin:0 0 var(--space-1)}.ticket-number{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.ticket-badges{display:flex;gap:var(--space-2);flex-wrap:wrap}.ticket-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.ticket-main{padding:var(--space-5)}.ticket-info,.ticket-description,.ticket-comments{margin-bottom:var(--space-7);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.ticket-info h2,.ticket-description h2,.ticket-comments h2{color:var(--color-text);font-size:var(--text-lg);margin-bottom:var(--space-4)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}.info-item{display:flex;flex-direction:column}.info-item label{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1)}.info-item select{width:100%;max-width:100%;padding:10px 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:inherit;background:var(--color-surface)}.info-item select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus)}.info-item value{color:var(--color-text);font-size:var(--text-sm)}.fix-duration{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.ticket-description p{color:var(--color-text-secondary);line-height:1.6;white-space:pre-wrap}.comments-list{margin-bottom:var(--space-5)}.comment{background:var(--color-bg);padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);border-left:3px solid var(--color-primary)}.comment-header{display:flex;justify-content:space-between;margin-bottom:var(--space-2);font-size:var(--text-sm)}.comment-header strong{color:var(--color-text)}.comment-date{color:var(--color-text-subtle);font-size:var(--text-xs)}.comment-message{color:var(--color-text-secondary);line-height:1.5;margin:0;white-space:pre-wrap}.no-comments{color:var(--color-text-subtle);text-align:center;padding:var(--space-5)}.comment-form{display:flex;flex-direction:column;gap:var(--space-3)}.comment-form textarea{padding:12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:inherit;resize:vertical;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.comment-form textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus)}.comment-form .btn{align-self:flex-start}.comment-form-attachments{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.btn-attach-comment{padding:8px 14px;border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);cursor:pointer}.btn-attach-comment:hover{background:var(--color-primary);color:#fff}.comment-attach-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.comment-attach-preview-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.comment-attach-preview-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:8px 10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-xs)}.comment-attach-preview-list button{background:none;border:none;color:var(--color-error);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);cursor:pointer}.comment-form-error{margin:0;font-size:var(--text-xs);color:var(--color-error)}.comment-attachments-list{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-3)}.comment-attachment-thumbnail{max-width:160px;max-height:120px;border-radius:var(--radius-sm);border:1px solid var(--color-border);object-fit:cover}.comment-attachment-file-link,.comment-attachment-image-link{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.comment-attachment-file-link{text-decoration:none}.comment-attachment-file-link:hover{text-decoration:underline}.error{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:var(--text-lg);color:var(--color-error)}.resolution-box{background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:var(--radius-md);padding:var(--space-5);margin-bottom:var(--space-6)}.resolution-box h2{color:var(--color-success-text);font-size:var(--text-lg);margin:0 0 var(--space-2)}.resolution-meta{color:var(--color-primary);font-size:var(--text-xs);margin:0 0 var(--space-3)}.resolution-text{color:#134e4a;line-height:1.6;margin:0;white-space:pre-wrap}.close-ticket-panel{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius-md);padding:var(--space-5);margin-bottom:var(--space-6)}.close-ticket-panel h2{color:var(--color-warning-text);font-size:var(--text-lg);margin:0 0 var(--space-2)}.close-ticket-hint{color:var(--color-warning-text);font-size:var(--text-sm);margin:0 0 var(--space-4);line-height:1.5}.close-ticket-error{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-text);padding:10px 12px;border-radius:var(--radius-md);margin-bottom:var(--space-3);font-size:var(--text-sm)}.close-ticket-form label{display:block;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--space-2);font-size:var(--text-sm)}.close-ticket-form textarea{width:100%;padding:12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:inherit;resize:vertical;margin-bottom:var(--space-3)}.close-ticket-form textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus)}.btn-close-ticket{background:var(--color-primary);color:#fff;padding:12px 20px;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-base)}.btn-close-ticket:hover:not(:disabled){background:var(--color-primary-dark)}.btn-close-ticket:disabled{opacity:.6;cursor:not-allowed}.ticket-attachments{margin-bottom:var(--space-6)}.ticket-attachments h2{font-size:var(--text-lg);color:var(--color-text);margin-bottom:var(--space-3)}.attachments-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.attachment-item{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg)}.attachment-image-link{display:block;text-decoration:none;color:inherit}.attachment-thumbnail{display:block;max-width:100%;max-height:280px;object-fit:contain;background:var(--color-surface)}.attachment-filename,.attachment-file-link{display:block;padding:10px 14px;font-size:var(--text-sm);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.attachment-file-link{text-decoration:none}.attachment-file-link:hover,.attachment-image-link:hover .attachment-filename{text-decoration:underline}@media (max-width: 640px){.ticket-header{flex-direction:column;gap:var(--space-3)}.ticket-main{padding:var(--space-4)}.comment-header{flex-direction:column;align-items:flex-start;gap:var(--space-1)}}.create-ticket-container{width:100%;max-width:900px;margin:0 auto}.create-ticket-form{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border);padding:var(--space-8)}.create-ticket-form h1{color:var(--color-text);margin-bottom:var(--space-6);font-size:var(--text-2xl)}.optional-label{font-weight:var(--font-weight-normal);color:var(--color-text-muted)}.attachment-upload-group{margin-bottom:var(--space-6)}.attachment-section-label{display:block;margin-bottom:var(--space-2);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);font-size:var(--text-sm)}.attachment-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-7) var(--space-5);border:2px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-bg);cursor:pointer;text-align:center;transition:border-color var(--transition-base),background var(--transition-base)}.attachment-dropzone:hover,.attachment-dropzone:focus{outline:none;border-color:var(--color-primary);background:var(--color-primary-muted)}.attachment-dropzone-title{margin:0;font-size:var(--text-base);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.attachment-dropzone-hint{margin:0;font-size:var(--text-xs);color:var(--color-text-muted)}.btn-attachment-pick{margin-top:var(--space-1);padding:10px 20px;border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-primary);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-base),color var(--transition-base)}.btn-attachment-pick:hover{background:var(--color-primary);color:#fff}.attachment-input-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.attachment-preview-list{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.attachment-preview-item{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:10px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-xs)}.attachment-preview-name{flex:1;min-width:120px;word-break:break-word}.attachment-preview-size{color:var(--color-text-muted)}.attachment-remove-btn{background:none;border:none;color:var(--color-error);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);cursor:pointer;padding:0}.attachment-remove-btn:hover{text-decoration:underline}@media (max-width: 640px){.create-ticket-form{padding:var(--space-6) var(--space-5)}}.register-staff-page{width:100%}.register-staff-container{max-width:760px;margin:0 auto}.register-staff-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-7) var(--space-8)}.register-staff-header{margin-bottom:var(--space-7);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.register-staff-header h1{color:var(--color-text);margin:0 0 var(--space-2);font-size:var(--text-2xl)}.register-staff-header p{color:var(--color-text-muted);margin:0;font-size:var(--text-sm)}.form-section{margin-bottom:var(--space-7)}.form-section h2{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary);margin:0 0 var(--space-4);font-weight:var(--font-weight-semibold)}.register-staff-form .form-actions{margin-top:var(--space-2);flex-wrap:wrap;padding-top:var(--space-5);border-top:1px solid var(--color-border)}@media (max-width: 768px){.register-staff-form{padding:var(--space-6) var(--space-5)}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.confirm-dialog{background:#fff;border-radius:10px;padding:28px;max-width:440px;width:100%;box-shadow:var(--shadow-lg);border:1px solid var(--color-border)}.confirm-dialog h2{margin:0 0 12px;font-size:20px;color:#111827}.confirm-dialog p{margin:0 0 24px;color:#4b5563;line-height:1.5;font-size:15px}.confirm-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-btn{padding:10px 18px;border-radius:6px;font-size:14px;font-weight:600;border:none;cursor:pointer}.confirm-btn:disabled{opacity:.6;cursor:not-allowed}.confirm-btn-secondary{background:#f3f4f6;color:#374151}.confirm-btn-secondary:hover:not(:disabled){background:#e5e7eb}.confirm-btn-danger{background:#dc2626;color:#fff}.confirm-btn-danger:hover:not(:disabled){background:#b91c1c}.admin-users-page{width:100%}.page-subtitle{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--text-sm)}.page-header-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.user-count{background:var(--color-primary-muted);color:var(--color-primary);padding:8px 14px;border-radius:999px;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);white-space:nowrap}.admin-message{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success-text);padding:12px 16px;border-radius:var(--radius-md);margin-bottom:var(--space-5)}.filters-bar{display:flex;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap}.filters-bar input,.filters-bar select,.role-select{padding:10px 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--color-surface)}.filters-bar input{flex:1;min-width:220px}.users-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto;-webkit-overflow-scrolling:touch}.empty-cell{text-align:center;padding:var(--space-8)!important;color:var(--color-text-muted)}.role-select{min-width:160px}.status-pill{border:none;border-radius:999px;padding:6px 12px;font-size:var(--text-xs);font-weight:var(--font-weight-semibold);cursor:pointer}.status-pill.active{background:var(--color-success-bg);color:var(--color-success-text)}.status-pill.inactive{background:var(--color-error-bg);color:var(--color-error-text)}.status-pill:disabled{opacity:.6;cursor:not-allowed}.back-link{display:inline-block;margin-bottom:var(--space-2);color:var(--color-primary);text-decoration:none;font-size:var(--text-sm)}.back-link:hover{text-decoration:underline}.user-profile-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);margin-bottom:var(--space-7);display:grid;gap:var(--space-4);max-width:520px}.profile-row{display:flex;align-items:center;gap:var(--space-4)}.profile-row .label{width:100px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);flex-shrink:0}.password-reset-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);margin-bottom:var(--space-7);max-width:520px}.password-reset-card h2{margin:0 0 var(--space-2);color:var(--color-text);font-size:var(--text-xl)}.password-reset-hint{margin:0 0 var(--space-5);color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.5}.password-reset-form{display:flex;flex-direction:column;gap:var(--space-4)}.password-reset-form .form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:0}.password-reset-form label{font-weight:var(--font-weight-semibold);font-size:var(--text-sm);color:var(--color-text-secondary)}.password-reset-form .btn{align-self:flex-start}.tickets-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-3)}.tickets-section h2{margin:0;color:var(--color-text);font-size:var(--text-xl)}.actions-cell{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.btn-delete{background:var(--color-error);color:#fff}.btn-delete:hover:not(:disabled){background:var(--color-error-text)}.btn-delete:disabled{opacity:.45;cursor:not-allowed}.auth-event-badge,.auth-status-badge{display:inline-block;border-radius:999px;padding:6px 12px;font-size:var(--text-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.auth-event-badge.login,.auth-event-badge.success,.auth-status-badge.logged_in{background:var(--color-success-bg);color:var(--color-success-text)}.auth-event-badge.register,.auth-status-badge.registered{background:#dbeafe;color:#1e40af}.auth-event-badge.logout,.auth-status-badge.logged_out{background:var(--color-bg-muted);color:var(--color-text-secondary)}.auth-event-badge.failure{background:var(--color-error-bg);color:var(--color-error-text)}.auth-logs-table td,.auth-status-table td{vertical-align:middle}.auth-logs-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-5)}.auth-logs-pagination span{color:var(--color-text-secondary);font-size:var(--text-sm)}.auth-logs-current-user{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 16px;margin-bottom:var(--space-5);font-size:var(--text-sm);color:var(--color-text-secondary)}.auth-status-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);margin-bottom:var(--space-6)}.auth-status-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}.auth-status-panel-header h2{margin:0;font-size:var(--text-lg);color:var(--color-text)}.auth-status-signout-btn{border:1px solid var(--color-success-border);cursor:pointer;font:inherit;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.auth-status-signout-btn:hover:not(:disabled){background:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error-text)}.auth-status-signout-btn:disabled{cursor:not-allowed;opacity:.7}.dashboard-auth-logs{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);margin-bottom:var(--space-7)}.dashboard-auth-logs-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.dashboard-auth-logs-header h2{margin:0;color:var(--color-text);font-size:var(--text-xl)}.dashboard-auth-logs-link{color:var(--color-primary);font-weight:var(--font-weight-semibold);text-decoration:none;font-size:var(--text-sm)}.dashboard-auth-logs-link:hover{text-decoration:underline}@media (max-width: 720px){.users-table-wrap:has(.table-cards){background:transparent;border:none;box-shadow:none;overflow:visible}.table-cards .role-select,.table-cards .status-pill{min-width:0}.table-cards .actions-cell{flex-direction:column;align-items:stretch;text-align:left}.table-cards .actions-cell .btn{width:100%}}@media (max-width: 640px){.filters-bar input,.filters-bar select{flex:1 1 100%;min-width:0;width:100%}}.admin-eod-logs-page .eod-log-detail{margin-bottom:var(--space-6)}.admin-eod-logs-page .eod-log-detail-header{display:flex;justify-content:flex-end;margin-bottom:var(--space-3)}.eod-range-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);margin-bottom:var(--space-6)}.eod-range-panel h2{margin:0 0 var(--space-2);font-size:var(--text-lg);color:var(--color-text)}.eod-range-hint{margin:0 0 var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm)}.eod-range-fields{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end}.eod-range-field{display:flex;flex-direction:column;gap:var(--space-2);min-width:180px}.eod-range-field label{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.eod-range-field input{padding:10px 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--color-surface)}.eod-range-generate{white-space:nowrap}.eod-range-presets{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.eod-range-presets-label{font-size:var(--text-xs);color:var(--color-text-muted)}.eod-range-empty{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-7) var(--space-6);text-align:center;color:var(--color-text-muted);font-size:var(--text-base)}.eod-range-truncated{margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm)}.admin-eod-logs-page .eod-logs-table .eod-summary-badge{font-size:var(--text-xs);padding:3px 8px}.admin-eod-logs-page .eod-logs-table td,.admin-eod-logs-page .eod-logs-table th{white-space:nowrap}.admin-eod-logs-page .eod-logs-table td:first-child{white-space:normal;min-width:12rem}.admin-eod-logs-page .eod-logs-total-row{background:var(--color-bg-muted);border-top:2px solid var(--color-border)}.eod-summary-history-link{margin:var(--space-4) 0 0;font-size:var(--text-base)}.eod-summary-history-link a{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-semibold)}.eod-summary-history-link a:hover{text-decoration:underline}@media (max-width: 640px){.eod-range-field{min-width:100%}.eod-range-generate{width:100%}}.eod-dashboard-container{width:100%}.eod-dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-5);margin-bottom:var(--space-6)}.eod-dashboard-back{display:inline-block;margin-bottom:var(--space-2);color:var(--color-primary);font-weight:var(--font-weight-semibold);text-decoration:none}.eod-dashboard-back:hover{text-decoration:underline}.eod-dashboard-header h1{color:var(--color-text);margin:0 0 var(--space-2);font-size:var(--text-2xl)}.eod-dashboard-subtitle{margin:0;color:var(--color-text-muted);font-size:var(--text-sm)}.eod-dashboard-history-link{color:var(--color-primary);font-weight:var(--font-weight-semibold);text-decoration:none;white-space:nowrap}.eod-dashboard-history-link:hover{text-decoration:underline}.eod-dashboard-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-4)}.eod-dashboard-control{display:flex;flex-direction:column;gap:var(--space-2)}.eod-dashboard-control label{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--text-sm)}.eod-dashboard-control select,.eod-dashboard-control input[type=date]{min-width:200px;padding:9px 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--color-surface)}.eod-dashboard-refresh{padding:10px 18px;border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary);color:#fff;font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-base)}.eod-dashboard-refresh:hover:not(:disabled){background:var(--color-primary-dark)}.eod-dashboard-refresh:disabled{opacity:.65;cursor:not-allowed}.eod-dashboard-note{margin:0 0 var(--space-5);color:var(--color-text-muted);font-size:var(--text-sm)}.eod-dashboard-error{margin:0 0 var(--space-5);padding:12px 16px;border-radius:var(--radius-md);background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-text);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.eod-dashboard-error p{margin:0;flex:1 1 200px}@media (max-width: 768px){.eod-dashboard-header{flex-direction:column;gap:var(--space-3)}}@media (max-width: 640px){.eod-dashboard-control{flex:1 1 100%}.eod-dashboard-control select,.eod-dashboard-control input[type=date]{min-width:0;width:100%}.eod-dashboard-refresh{width:100%}}.note-list-page{width:100%}.note-list-shell{width:100%;max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.note-list-hero{background:var(--gradient-hero);border-radius:var(--radius-xl);padding:28px 28px 24px;color:#fff;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.note-list-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 100% 0%,rgba(255,255,255,.08),transparent 55%);pointer-events:none}.note-list-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;position:relative;z-index:1}.note-list-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-wide);text-transform:uppercase;background:#ffffff24;border:1px solid rgba(255,255,255,.2);margin-bottom:12px}.note-list-hero h1{font-size:clamp(1.75rem,4vw,2.125rem);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-tight);margin-bottom:8px}.note-list-subtitle{color:#ffffffc7;font-size:14px;line-height:1.5;max-width:420px}.note-list-progress-ring{position:relative;width:72px;height:72px;flex-shrink:0}.note-list-progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.note-list-progress-bg{fill:none;stroke:#ffffff2e;stroke-width:3}.note-list-progress-fill{fill:none;stroke:#86efac;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .4s ease}.note-list-progress-value{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:var(--font-weight-bold)}.note-list-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;position:relative;z-index:1}.note-list-stat{background:#ffffff1a;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-md);padding:14px 16px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.note-list-stat-value{display:block;font-size:1.5rem;font-weight:var(--font-weight-bold);line-height:1.2}.note-list-stat-label{display:block;margin-top:2px;font-size:12px;color:#ffffffb8;font-weight:var(--font-weight-medium)}.note-list-error{margin:0 0 1rem;padding:.75rem 1rem;border-radius:.5rem;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:.875rem}.note-list-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:24px}.note-list-form{display:flex;gap:12px;margin-bottom:20px}.note-list-input-wrap{flex:1;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);transition:border-color .2s,box-shadow .2s}.note-list-input-wrap:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus);background:var(--color-surface)}.note-list-input-icon{width:18px;height:18px;color:var(--color-text-subtle);flex-shrink:0}.note-list-input-wrap input{flex:1;border:none;background:transparent;padding:14px 0;font-size:15px;color:var(--color-text)}.note-list-input-wrap input:focus{outline:none}.note-list-input-wrap input::placeholder{color:var(--color-text-subtle)}.note-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.note-list-filters{display:inline-flex;padding:4px;gap:4px;background:var(--color-bg-muted);border-radius:var(--radius-md);border:1px solid var(--color-border)}.filter-btn{padding:8px 16px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:13px;font-weight:var(--font-weight-medium);cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.filter-btn:hover{color:var(--color-text)}.filter-btn.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm);font-weight:var(--font-weight-semibold)}.note-list-count{font-size:13px;font-weight:var(--font-weight-medium);color:var(--color-text-muted);padding:6px 12px;background:var(--color-primary-muted);border-radius:999px}.note-list-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.note-list-empty{padding:40px 24px;text-align:center;border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-bg)}.note-list-empty-icon{width:48px;height:48px;margin:0 auto 16px;color:var(--color-primary);opacity:.7}.note-list-empty-icon svg{width:100%;height:100%}.note-list-empty-title{font-size:16px;font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:6px}.note-list-empty-text{font-size:14px;color:var(--color-text-muted)}.note-list-item{display:flex;align-items:flex-start;gap:14px;padding:16px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);transition:border-color .2s,box-shadow .2s,transform .2s}.note-list-item:hover{border-color:var(--color-primary-subtle);box-shadow:var(--shadow-sm)}.note-list-item.completed{background:var(--color-bg);border-color:var(--color-border)}.note-list-item.completed:hover{border-color:var(--color-border-strong)}.note-list-checkbox{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;cursor:pointer}.note-list-checkbox input{position:absolute;opacity:0;width:0;height:0}.note-list-checkmark{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:2px solid var(--color-border-strong);border-radius:6px;background:var(--color-surface);transition:background .15s,border-color .15s,transform .15s}.note-list-checkmark svg{width:12px;height:10px;color:#fff;opacity:0;transform:scale(.6);transition:opacity .15s,transform .15s}.note-list-checkbox input:checked+.note-list-checkmark{background:var(--gradient-primary);border-color:var(--color-primary)}.note-list-checkbox input:checked+.note-list-checkmark svg{opacity:1;transform:scale(1)}.note-list-checkbox input:focus-visible+.note-list-checkmark{box-shadow:0 0 0 3px var(--color-primary-focus)}.note-list-item-content{flex:1;min-width:0}.note-list-item-text{font-size:15px;font-weight:var(--font-weight-medium);color:var(--color-text);line-height:1.45;word-break:break-word;margin:0}.note-list-item.completed .note-list-item-text{text-decoration:line-through;color:var(--color-text-muted);font-weight:var(--font-weight-normal)}.note-list-item-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.note-list-meta-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:var(--font-weight-medium);color:var(--color-text-muted);background:var(--color-bg-muted);border:1px solid var(--color-border)}.note-list-meta-tag svg{width:12px;height:12px;flex-shrink:0}.note-list-meta-tag.done{color:var(--color-success-text);background:var(--color-success-bg);border-color:var(--color-success-border)}.note-list-delete{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;background:transparent;color:var(--color-text-subtle);border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;transition:background .15s,color .15s;opacity:0}.note-list-item:hover .note-list-delete,.note-list-delete:focus-visible{opacity:1}.note-list-delete svg{width:16px;height:16px}.note-list-delete:hover{background:var(--color-error-bg);color:var(--color-error)}.note-list-footer{margin-top:20px;padding-top:20px;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end}.note-list-page .btn{padding:12px 20px;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:var(--font-weight-semibold);cursor:pointer;white-space:nowrap;transition:transform .15s,box-shadow .15s,opacity .15s}.note-list-page .btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 2px 8px #00652e40}.note-list-page .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #00652e4d}.note-list-page .btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.note-list-page .btn-secondary{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border)}.note-list-page .btn-secondary:hover{background:var(--color-bg-muted);border-color:var(--color-border-strong)}@media (max-width: 600px){.note-list-hero{padding:22px 20px 20px}.note-list-hero-top{flex-direction:column}.note-list-progress-ring{align-self:flex-start}.note-list-card{padding:18px}.note-list-form{flex-direction:column}.note-list-delete{opacity:1}}:root{--color-primary: #00733a;--color-primary-dark: #005a2c;--color-primary-darker: #003f1f;--color-primary-light: #12925a;--color-primary-bright: #1bb673;--color-primary-muted: #e9f7ef;--color-primary-subtle: #cdebd9;--color-primary-focus: rgba(18, 146, 90, .28);--color-accent: #0ea5e9;--color-accent-soft: #e0f2fe;--gradient-primary: linear-gradient(135deg, #12925a 0%, #00733a 55%, #005a2c 100%);--gradient-primary-soft: linear-gradient(135deg, #1bb673 0%, #00733a 100%);--gradient-hero: radial-gradient( 1200px 600px at 15% -10%, rgba(27, 182, 115, .35) 0%, transparent 55% ), radial-gradient( 900px 500px at 100% 0%, rgba(14, 165, 233, .18) 0%, transparent 50% ), linear-gradient(165deg, #022a17 0%, #043d24 45%, #00733a 100%);--gradient-nav: linear-gradient(120deg, #005a2c 0%, #00733a 60%, #0a7d44 100%);--gradient-surface: linear-gradient(180deg, #f7faf8 0%, #eef4f0 100%);--gradient-sheen: linear-gradient( 180deg, rgba(255, 255, 255, .7) 0%, rgba(255, 255, 255, 0) 100% );--color-text: #0f1915;--color-text-secondary: #3a4a42;--color-text-muted: #687b71;--color-text-subtle: #9aa8a0;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-surface-muted: #f6f9f7;--color-bg: #eef3f0;--color-bg-muted: #e7eee9;--color-border: #e3eae5;--color-border-strong: #cdd7d0;--color-success: #00733a;--color-success-bg: #e9f7ef;--color-success-border: #9cd6b4;--color-success-text: #005a2c;--color-warning: #d97706;--color-warning-bg: #fff8eb;--color-warning-border: #fcd676;--color-warning-text: #92500a;--color-error: #e11d48;--color-error-bg: #fff1f3;--color-error-border: #fbc7d1;--color-error-text: #a50d33;--color-info: #0ea5e9;--color-info-bg: #e6f4fb;--color-info-text: #075985;--shadow-xs: 0 1px 2px rgba(6, 35, 22, .05);--shadow-sm: 0 1px 3px rgba(6, 35, 22, .06), 0 1px 2px rgba(6, 35, 22, .04);--shadow-md: 0 4px 6px -2px rgba(6, 35, 22, .06), 0 10px 24px -6px rgba(6, 35, 22, .12);--shadow-lg: 0 12px 24px -8px rgba(6, 35, 22, .14), 0 24px 48px -12px rgba(6, 35, 22, .18);--shadow-xl: 0 24px 56px -16px rgba(4, 40, 24, .28);--shadow-nav: 0 8px 24px -8px rgba(0, 60, 32, .32);--shadow-focus: 0 0 0 4px var(--color-primary-focus);--ring: 0 0 0 1px var(--color-border);--radius-xs: 6px;--radius-sm: 8px;--radius-md: 11px;--radius-lg: 16px;--radius-xl: 22px;--radius-2xl: 28px;--radius-pill: 999px;--font-sans: "Inter", "InterVariable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-tighter: -.03em;--letter-tight: -.018em;--letter-normal: 0;--letter-wide: .04em;--letter-wider: .08em;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: clamp(1.55rem, 1.2rem + 1.4vw, 1.9rem);--text-3xl: clamp(2rem, 1.5rem + 2.2vw, 2.6rem);--text-4xl: clamp(2.5rem, 1.8rem + 3.2vw, 3.4rem);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 56px;--space-10: 72px;--space-11: 96px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--transition-fast: .14s var(--ease-out);--transition-base: .22s var(--ease-out);--transition-slow: .36s var(--ease-out);--layout-max-width: 1600px;--layout-gutter-x: 18px}@media (min-width: 768px){:root{--layout-gutter-x: 32px}}@media (prefers-reduced-motion: reduce){:root{--transition-fast: 0s;--transition-base: 0s;--transition-slow: 0s}}.app-shell-inner{width:100%;max-width:var(--layout-max-width);margin:0 auto;padding-left:var(--layout-gutter-x);padding-right:var(--layout-gutter-x)}.shell-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}@media (max-width: 768px){.shell-bar{flex-direction:column;align-items:stretch}}@media (max-width: 640px){.shell-bar{gap:12px}}.nav-brand{display:flex;flex-direction:column;gap:4px;line-height:1.2;min-width:0}.nav-brand-title{font-size:.95rem;font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-tight);color:#fff;overflow-wrap:anywhere}.nav-brand-subtitle{font-size:.8rem;font-weight:var(--font-weight-medium);letter-spacing:.03em;text-transform:uppercase;color:#ffffffa6}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:11px 20px;border:1px solid transparent;border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);line-height:1.2;letter-spacing:.005em;text-decoration:none;white-space:nowrap;cursor:pointer;isolation:isolate;transition:background var(--transition-base),color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-fast)}.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 1px 2px #003c202e,0 8px 18px -8px #005a2c80}.btn-primary:hover:not(:disabled){transform:translateY(-1.5px);box-shadow:0 2px 4px #003c2033,0 14px 28px -10px #005a2c99}.btn-secondary{background:var(--color-surface);color:var(--color-text-secondary);border-color:var(--color-border-strong);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-muted);border-color:var(--color-text-subtle);transform:translateY(-1.5px);box-shadow:var(--shadow-sm)}.btn-danger,.btn-delete{background:var(--color-error);color:#fff;box-shadow:0 8px 18px -8px #e11d4880}.btn-danger:hover:not(:disabled),.btn-delete:hover:not(:disabled){background:var(--color-error-text);transform:translateY(-1.5px);box-shadow:0 14px 28px -10px #e11d488c}.btn-ghost{background:transparent;color:var(--color-primary);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--color-primary-muted)}.btn-small{padding:7px 13px;font-size:var(--text-xs);border-radius:var(--radius-sm)}.btn-lg{padding:14px 28px;font-size:var(--text-base);border-radius:var(--radius-lg)}.btn-block{width:100%}.btn:active:not(:disabled){transform:scale(.98)}.card,.surface-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-interactive{transition:box-shadow var(--transition-base),transform var(--transition-base),border-color var(--transition-base)}.card-interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--color-primary-subtle)}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-7)}.page-header h1{margin:0;color:var(--color-text);font-size:var(--text-2xl);letter-spacing:var(--letter-tight)}.page-header .page-subtitle{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--text-sm)}@media (max-width: 640px){.page-header{flex-direction:column;align-items:stretch;gap:var(--space-4)}.page-header h1{font-size:var(--text-xl)}.page-header .btn,.page-header .user-count{align-self:flex-start}}.form-group{margin-bottom:var(--space-5)}.form-group label,.form-label{display:block;margin-bottom:var(--space-2);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);font-size:var(--text-sm);letter-spacing:.005em}.form-group input,.form-group textarea,.form-group select,.form-control{width:100%;padding:12px 14px;border:1.5px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:inherit;color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition-base),box-shadow var(--transition-base),background var(--transition-base)}.form-group input::placeholder,.form-group textarea::placeholder,.form-control::placeholder{color:var(--color-text-subtle)}.form-group input:hover:not(:focus):not(:disabled),.form-group textarea:hover:not(:focus):not(:disabled),.form-group select:hover:not(:focus):not(:disabled),.form-control:hover:not(:focus):not(:disabled){border-color:var(--color-text-subtle)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus,.form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled,.form-control:disabled{background:var(--color-bg-muted);cursor:not-allowed}.form-group textarea{resize:vertical;min-height:120px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-6)}.field-hint{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.field-hint-error{color:var(--color-error)}@media (max-width: 640px){.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.error-message,.alert-error{display:flex;gap:var(--space-2);background:var(--color-error-bg);color:var(--color-error-text);border:1px solid var(--color-error-border);border-left:3px solid var(--color-error);padding:12px 14px;border-radius:var(--radius-md);margin-bottom:var(--space-5);font-size:var(--text-sm)}.alert-success,.success-message{display:flex;gap:var(--space-2);background:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success-border);border-left:3px solid var(--color-success);padding:12px 14px;border-radius:var(--radius-md);margin-bottom:var(--space-5);font-size:var(--text-sm)}.priority,.status,.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;line-height:1.5;letter-spacing:.01em;border:1px solid transparent}.priority:before,.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}.priority-low{background:#e0edff;color:#1e40af}.priority-medium{background:#fef3c7;color:#92400e}.priority-high{background:#ffe4e6;color:#be123c}.priority-urgent{background:#fecdd3;color:#9f1239}.status-open{background:#fef3c7;color:#92400e}.status-in_progress{background:#dbeafe;color:#1e40af}.status-waiting_customer{background:#ffe4e6;color:#be123c}.status-resolved{background:var(--color-success-bg);color:var(--color-success-text)}.status-closed{background:#e2e8f0;color:#334155}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:var(--color-surface-muted)}.data-table th{padding:13px 16px;text-align:left;color:var(--color-text-muted);font-weight:var(--font-weight-semibold);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--letter-wide);border-bottom:1px solid var(--color-border)}.data-table td{padding:15px 16px;border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--text-sm)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--color-surface-muted)}@media (max-width: 720px){.table-cards thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.table-cards,.table-cards tbody,.table-cards tr,.table-cards td{display:block;width:100%}.table-cards tr{margin-bottom:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}.table-cards tr:hover{background:var(--color-surface)}.table-cards td{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:11px 16px;text-align:right;border-bottom:1px solid var(--color-bg-muted);white-space:normal}.table-cards td:last-child{border-bottom:none}.table-cards td:before{content:attr(data-label);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;text-align:left;flex:0 0 auto}.table-cards td:empty{display:none}}.loading{display:flex;flex-direction:column;gap:var(--space-4);justify-content:center;align-items:center;min-height:50vh;font-size:var(--text-base);color:var(--color-text-muted)}.loading:before{content:"";width:38px;height:38px;border-radius:50%;border:3px solid var(--color-primary-subtle);border-top-color:var(--color-primary);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-bottom:var(--space-6)}.stat-card{padding:var(--space-4)}.stat-number{font-size:var(--text-2xl)}.eod-summary{padding:var(--space-4);margin-bottom:var(--space-6)}.eod-summary-header{flex-direction:column;align-items:stretch;gap:var(--space-3)}.eod-summary-header h2{font-size:var(--text-lg);line-height:1.35;overflow-wrap:anywhere}.eod-summary-badge{align-self:flex-start}.eod-summary-grid{grid-template-columns:1fr;gap:var(--space-3)}.eod-pending-breakdown{flex-direction:column;gap:var(--space-3)}.eod-pending-item{width:100%;flex-direction:column;align-items:flex-start;gap:var(--space-1)}.ticket-export-panel{padding:var(--space-4)}.export-field{min-width:100%;flex:1 1 100%}.btn-export{width:100%}.profile-row{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.profile-row .label{width:auto}.user-profile-card{max-width:100%}.tickets-section .section-header select{width:100%}.landing-cta{flex-direction:column}.landing-cta .landing-btn{text-align:center;width:100%}}@media (max-width: 480px){.app-main{padding-top:var(--space-4);padding-bottom:var(--space-5)}.stats-grid{grid-template-columns:1fr}.confirm-actions{flex-direction:column-reverse}.confirm-btn{width:100%}.landing-header-actions{width:100%;justify-content:center}.landing-btn-lg{padding:12px 20px;font-size:.9375rem}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{margin:0;padding:0;min-height:100%;width:100%;max-width:100%;overflow-x:clip;font-family:var(--font-sans);font-size:15px;font-weight:var(--font-weight-normal);line-height:1.55;letter-spacing:var(--letter-normal);font-feature-settings:"cv02","cv03","cv04","cv11","ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;background:var(--color-bg);color:var(--color-text)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);letter-spacing:var(--letter-tight);line-height:1.18;text-wrap:balance}p{text-wrap:pretty}a{color:var(--color-primary)}button,input,select,textarea{font-family:inherit}::selection{background:var(--color-primary-bright);color:#fff}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}*::-webkit-scrollbar{width:11px;height:11px}*::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-pill);border:3px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--color-text-subtle);background-clip:content-box}.app-loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);color:var(--color-text-secondary);font-size:16px}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-main{flex:1;background:var(--gradient-surface);overflow-y:auto;width:100%;max-width:var(--layout-max-width);margin:0 auto;padding:20px var(--layout-gutter-x)}@media (min-width: 768px){.app-main{padding-top:32px;padding-bottom:32px}}.auth-shell{min-height:100vh;display:flex;flex-direction:column;width:100%;max-width:100%;overflow-x:clip;background:var(--gradient-hero)}.auth-shell .login-container,.auth-shell .register-page{flex:1;min-height:0}
