@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--brand-50:#eff6ff;--brand-100:#dbeafe;--brand-200:#bfdbfe;--brand-300:#93c5fd;--brand-400:#60a5fa;--brand-500:#3b82f6;--brand-600:#2563eb;--brand-700:#1d4ed8;--brand-800:#1e40af;--brand-900:#1e3a8a;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--emerald-500:#10b981;--emerald-600:#059669;--emerald-700:#047857;--emerald-50:#ecfdf5;--emerald-200:#a7f3d0;--rose-500:#f43f5e;--rose-600:#e11d48;--rose-700:#be123c;--rose-50:#fff1f2;--rose-200:#fecdd3;--amber-500:#f59e0b;--amber-600:#d97706;--amber-700:#b45309;--amber-50:#fffbeb;--amber-200:#fde68a;--urgency-overdue:#b91c1c;--urgency-overdue-bg:#fef2f2;--urgency-today:#a16207;--urgency-today-bg:#fefce8;--urgency-upcoming:#1d4ed8;--urgency-upcoming-bg:#eff6ff;--focus-ring:0 0 0 3px #2563eb59;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*,:before,:after{box-sizing:border-box}html,body{width:100%;height:100%;font-family:var(--font-sans);background-color:var(--slate-50);color:var(--slate-900);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}body:has(.app-layout){overflow:hidden}#root{width:100%;height:100%}:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}:root{--text-xs:.8125rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.5rem}body{line-height:1.5}button,input,select,textarea{font-family:inherit}.app-layout{background-color:var(--slate-50);width:100vw;height:100vh;display:flex;overflow:hidden}.main-viewport{background-color:#ffffffb3;flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}.main-content-scroll{flex:1;padding:1.5rem 1.75rem 3rem;position:relative;overflow-y:auto}@media (width<=640px){.main-content-scroll{padding:1rem 1rem 2rem}}.main-sidebar{border-right:1px solid var(--slate-200);z-index:40;background-color:#fff;flex-direction:column;justify-content:space-between;width:260px;min-width:260px;height:100%;padding:1.25rem;transition:transform .3s;display:flex}.sidebar-top{flex-direction:column;gap:1.5rem;display:flex}.brand-header{align-items:center;gap:.75rem;padding:.25rem;display:flex}.brand-logo-box{background-color:var(--brand-600);color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.brand-text{flex-direction:column;display:flex}.brand-title{font-size:var(--text-lg);letter-spacing:-.02em;color:var(--brand-700);text-align:center;font-weight:800;line-height:1.2}.brand-subtitle{font-size:var(--text-xs);color:var(--slate-500);text-align:center;margin:0;font-weight:600}.sidebar-nav{flex-direction:column;gap:.35rem;display:flex}.sidebar-nav-item{font-size:var(--text-sm);color:var(--slate-600);border:1px solid #0000;border-radius:12px;align-items:center;gap:.75rem;padding:.6rem .75rem;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s;display:flex}.sidebar-nav-item:hover{background-color:var(--slate-100);color:var(--slate-900)}.sidebar-nav-item.active{background-color:var(--brand-50);color:var(--brand-700);border-color:var(--brand-200)}.sidebar-bottom{border-top:1px solid var(--slate-200);padding-top:1rem}.profile-card{background-color:var(--slate-50);border:1px solid var(--slate-200);border-radius:12px;align-items:center;gap:.75rem;padding:.65rem .75rem;display:flex}.profile-avatar{background-color:var(--brand-600);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.profile-name{font-size:var(--text-sm);color:var(--slate-900);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:700;overflow:hidden}.profile-limit{font-size:var(--text-xs);color:var(--slate-600);margin:.1rem 0 0;font-weight:600}.mobile-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:35;background-color:#0f172a66;position:fixed;inset:0}@media (width<=991px){.main-sidebar{visibility:hidden;transition:transform .3s,visibility 0s linear .3s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.main-sidebar.open{visibility:visible;transition:transform .3s,visibility;transform:translate(0)}}.main-header{border-bottom:1px solid var(--slate-200);z-index:20;background-color:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.75rem;display:flex;position:sticky;top:0}.header-left{flex-direction:column;min-width:0;display:flex}.header-right{align-items:center;gap:.75rem;display:flex}.header-title,.section-title{font-size:var(--text-xl);letter-spacing:-.02em;color:var(--slate-900);margin:0;font-weight:800}.header-description,.section-subtitle{font-size:var(--text-base);color:var(--slate-700);margin:.2rem 0 0}.btn-mobile-menu{color:var(--slate-700);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.4rem;display:none}@media (width<=991px){.btn-mobile-menu{display:flex}}@media (width<=640px){.main-header{padding:.85rem 1rem}}.section-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}@media (width<=720px){.section-grid{grid-template-columns:1fr}}.card-pro{border:1px solid var(--brand-100);background-color:#fff;border-radius:16px;padding:1.25rem;box-shadow:0 1px 3px #0000000a}.card-pro-header{border-bottom:1px solid var(--slate-100);justify-content:space-between;align-items:center;margin-bottom:.85rem;padding-bottom:.5rem;display:flex}.card-pro-header h3{font-size:var(--text-lg);color:var(--slate-900);margin:0;font-weight:800}.status-pill{font-size:var(--text-xs);border-radius:6px;padding:.2rem .5rem;font-weight:700}.pill-success{background-color:var(--emerald-50);color:var(--emerald-600);border:1px solid var(--emerald-200)}.pill-error{background-color:var(--rose-50);color:var(--rose-600);border:1px solid var(--rose-200)}.status-message{font-size:var(--text-sm);margin:.25rem 0 .5rem;font-weight:700}.text-success{color:var(--emerald-600)}.text-error{color:var(--rose-600)}.endpoint-hint{font-size:var(--text-xs);color:var(--slate-500);margin:0}.endpoint-hint code{background-color:var(--slate-100);border-radius:4px;padding:.15rem .35rem;font-family:monospace}.badge-chip{font-size:var(--text-xs);background-color:var(--brand-50);color:var(--brand-700);border:1px solid var(--brand-200);border-radius:6px;padding:.15rem .45rem;font-weight:700}.info-row{font-size:var(--text-sm);border-bottom:1px dashed var(--slate-100);justify-content:space-between;align-items:center;padding:.4rem 0;display:flex}.info-row:last-child{border-bottom:none}.info-key{color:var(--slate-500);font-weight:600}.info-val{color:var(--slate-800);font-weight:700}.btn-primary-action,.btn-submit-pro,.btn-sec-pro,.btn-cancel-pro,.btn-danger-pro,.btn-danger-ghost,.btn-manage-event{box-sizing:border-box;min-height:2.25rem;font-family:inherit;font-size:var(--text-sm);text-align:center;white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-weight:700;line-height:1.2;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s;display:inline-flex}.btn-primary-action:focus-visible,.btn-submit-pro:focus-visible,.btn-sec-pro:focus-visible,.btn-cancel-pro:focus-visible,.btn-danger-pro:focus-visible,.btn-danger-ghost:focus-visible,.btn-manage-event:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}.btn-primary-action:disabled,.btn-submit-pro:disabled,.btn-sec-pro:disabled,.btn-cancel-pro:disabled,.btn-danger-pro:disabled,.btn-danger-ghost:disabled,.btn-manage-event:disabled{opacity:.6;cursor:not-allowed}.btn-primary-action,.btn-submit-pro{background-color:var(--brand-600);color:#fff}.btn-primary-action:hover:not(:disabled),.btn-submit-pro:hover:not(:disabled){background-color:var(--brand-700)}.btn-sec-pro{color:var(--slate-700);border-color:var(--slate-200);background-color:#fff}.btn-sec-pro:hover:not(:disabled){background-color:var(--slate-100);color:var(--slate-900)}.btn-cancel-pro{color:var(--slate-600);background-color:#0000}.btn-cancel-pro:hover:not(:disabled){background-color:var(--slate-100);color:var(--slate-900)}.btn-manage-event{background-color:var(--brand-50);color:var(--brand-700);border-color:var(--brand-200)}.btn-manage-event:hover:not(:disabled){background-color:var(--brand-100)}.btn-danger-ghost{color:var(--rose-600);border-color:var(--rose-200);background-color:#fff}.btn-danger-ghost:hover:not(:disabled){background-color:var(--rose-50)}.btn-danger-pro{background-color:var(--rose-600);color:#fff}.btn-danger-pro:hover:not(:disabled){background-color:var(--rose-500)}.btn-small,.btn-alert-outline,.btn-alert-primary{min-height:1.85rem;font-size:var(--text-xs);border-radius:8px;gap:.3rem;padding:.25rem .65rem;font-family:inherit}.btn-alert-outline,.btn-alert-primary{cursor:pointer;align-items:center;font-weight:700;display:inline-flex}.btn-alert-outline{border:1px solid var(--emerald-700);color:var(--emerald-700);background-color:#0000}.btn-alert-primary{background-color:var(--emerald-700);color:#fff;border:1px solid #0000}.events-section{flex-direction:column;gap:1rem;display:flex}.section-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.section-header-row>.header-right{flex-wrap:wrap}.events-cards-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:start;gap:1.25rem;display:grid}.event-card-item{border:1px solid var(--brand-100);background-color:#fff;border-radius:16px;flex-direction:column;justify-content:space-between;align-self:start;gap:.85rem;padding:1.25rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s;display:flex;box-shadow:0 1px 3px #0000000a}.event-card-item:hover{border-color:var(--brand-200);box-shadow:0 4px 12px #2563eb14}.event-card-top{justify-content:space-between;align-items:center;display:flex}.event-status-badge{background-color:var(--brand-50);color:var(--brand-700);border:1px solid var(--brand-200);font-size:var(--text-xs);border-radius:4px;padding:.15rem .5rem;font-weight:800}.event-date{font-size:var(--text-sm);color:var(--slate-500);align-items:center;gap:.25rem;font-weight:600;display:flex}.event-name{font-size:var(--text-base);color:var(--slate-900);margin:0;font-weight:800}.event-client{font-size:var(--text-sm);color:var(--slate-500);margin:0}.event-details-list{font-size:var(--text-sm);color:var(--slate-600);flex-direction:column;gap:.35rem;display:flex}.event-detail-row{align-items:center;gap:.4rem;display:flex}.icon-map{color:var(--brand-500);flex-shrink:0}.icon-dollar{color:var(--emerald-600);flex-shrink:0}.truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.event-card-footer{border-top:1px solid var(--slate-100);justify-content:space-between;align-items:center;gap:.75rem;padding-top:.75rem;display:flex}.event-card-actions{flex:1;align-items:stretch;gap:.5rem;display:flex}.event-card-actions>*{flex:1}.detail-desc-text{white-space:pre-line;color:var(--slate-600);margin:0}.event-edit-form{flex-direction:column;gap:.85rem;display:flex}.team-section{margin-top:.5rem}.team-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;display:grid}.team-card{background-color:var(--slate-50);border:1px solid var(--slate-200);border-radius:10px;align-items:center;gap:.65rem;padding:.5rem .75rem;display:flex}.team-avatar{background-color:var(--brand-600);color:#fff;width:28px;height:28px;font-weight:800;font-size:var(--text-xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.team-name{font-size:var(--text-sm);color:var(--slate-800);font-weight:600}.create-page-container{flex-direction:column;gap:1.25rem;max-width:1100px;margin:0 auto;display:flex}.create-layout-grid{grid-template-columns:7fr 5fr;gap:1.25rem;display:grid}@media (width<=880px){.create-layout-grid{grid-template-columns:1fr}}.form-card-pro{border:1px solid var(--brand-100);background-color:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #2563eb0a}.form-card-header{border-bottom:1px solid var(--brand-100);background-color:#eff6ffcc;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem 1.5rem;display:flex}.form-card-header-main{flex:1;min-width:0}.form-card-header-actions{flex-shrink:0;align-items:center;gap:.5rem;margin-left:auto;display:flex}@media (width<=720px){.form-card-header{flex-wrap:wrap}.form-card-header-actions{flex-wrap:wrap;width:100%}}.header-icon-box{background-color:var(--brand-600);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.form-heading{font-size:var(--text-lg);color:var(--slate-900);margin:0;font-weight:800}.form-subheading{font-size:var(--text-sm);color:var(--slate-500);margin:.1rem 0 0}.form-body-pro{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.field-group{flex-direction:column;gap:.35rem;display:flex}.field-label-row{justify-content:space-between;align-items:center;display:flex}.field-label{font-size:var(--text-sm);color:var(--slate-700);font-weight:800}.char-counter{font-size:var(--text-xs);color:var(--slate-500);font-weight:600}.req-star{color:var(--rose-600)}.field-hint{font-size:var(--text-xs);color:var(--slate-500);margin-top:.1rem}.field-input{width:100%;font-size:var(--text-base);background-color:var(--slate-50);border:1px solid var(--slate-200);color:var(--slate-900);border-radius:10px;outline:none;padding:.55rem .85rem;font-family:inherit;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}.field-input:focus{border-color:var(--brand-500);background-color:#fff;box-shadow:0 0 0 3px #3b82f62e}.field-select{cursor:pointer}.field-textarea{resize:vertical;min-height:70px}.field-input-error{border-color:var(--rose-500);background-color:var(--rose-50)}.field-input-error:focus{border-color:var(--rose-600);box-shadow:0 0 0 3px #f43f5e33}.field-error-text{color:var(--rose-600);font-size:var(--text-sm);margin-top:.1rem;font-weight:700}.field-row-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=520px){.field-row-2{grid-template-columns:1fr}}.capacity-impact-box{background-color:var(--brand-50);border:1px solid var(--brand-200);color:var(--brand-900);font-size:var(--text-sm);border-radius:12px;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.text-brand-icon{color:var(--brand-600);flex-shrink:0}.impact-text strong{color:var(--slate-900)}.form-actions-row{border-top:1px solid var(--slate-100);justify-content:flex-end;align-items:center;gap:.65rem;margin-top:.5rem;padding-top:.75rem;display:flex}.preview-card-pro{border:1px solid var(--brand-100);background-color:#fff;border-radius:16px;flex-direction:column;gap:.75rem;height:fit-content;padding:1.25rem;display:flex;box-shadow:0 1px 3px #0000000a}.preview-card-header{border-bottom:1px solid var(--slate-100);justify-content:space-between;align-items:center;padding-bottom:.5rem;display:flex}.preview-card-header h3{font-size:var(--text-lg);color:var(--slate-900);margin:0;font-weight:800}.badge-preview-tag{font-size:var(--text-xs);background-color:var(--brand-100);color:var(--brand-700);border-radius:4px;padding:.15rem .45rem;font-weight:800}.preview-intro{font-size:var(--text-sm);color:var(--slate-500);margin:0}.preview-details-box{background-color:var(--slate-50);border:1px solid var(--slate-200);border-radius:12px;flex-direction:column;gap:.65rem;padding:.85rem;display:flex}.preview-item{font-size:var(--text-sm);border-bottom:1px dashed var(--slate-200);justify-content:space-between;align-items:center;gap:.5rem;padding-bottom:.4rem;display:flex}.preview-item.full-desc{border-bottom:none;flex-direction:column;align-items:flex-start;padding-bottom:0}.p-label{color:var(--slate-500);align-items:center;gap:.25rem;font-weight:700;display:flex}.p-value{color:var(--slate-900);text-align:right;word-break:break-word;font-weight:600}.p-desc-box{border:1px solid var(--slate-200);width:100%;font-size:var(--text-sm);color:var(--slate-700);background-color:#fff;border-radius:8px;min-height:45px;margin:.25rem 0 0;padding:.5rem .65rem}.badge-preview-chip{background-color:var(--brand-100);color:var(--brand-800);font-size:var(--text-xs);border-radius:4px;padding:.15rem .45rem;font-weight:700}.badge-status-chip{background-color:var(--amber-50);color:var(--amber-700);border:1px solid var(--amber-200);font-size:var(--text-xs);border-radius:4px;padding:.15rem .45rem;font-weight:700}.muted{color:var(--slate-500);font-style:italic}.banner-alert{font-size:var(--text-sm);border-radius:12px;align-items:center;gap:.85rem;padding:.85rem 1.15rem;display:flex}.banner-success{background-color:var(--emerald-50);border:1px solid var(--emerald-200);color:var(--emerald-700)}.banner-error{background-color:var(--rose-50);border:1px solid var(--rose-200);color:var(--rose-700)}.banner-icon-side{flex-shrink:0;display:flex}.icon-emerald{color:var(--emerald-600)}.icon-rose{color:var(--rose-600)}.banner-content{flex:1}.banner-subtext{font-size:var(--text-sm);color:var(--slate-600);margin:.15rem 0 0}.banner-actions{gap:.5rem;display:flex}.btn-close-alert{color:var(--rose-600);cursor:pointer;background:0 0;border:none;display:flex}.confirm-dialog-overlay{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#0f172a8c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.confirm-dialog{text-align:center;border:1px solid var(--brand-100);background-color:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:.65rem;width:100%;max-width:420px;max-height:calc(100vh - 2rem);padding:1.5rem;display:flex;overflow-y:auto;box-shadow:0 20px 40px #0f172a33}.confirm-dialog-icon{background-color:var(--brand-50);width:44px;height:44px;color:var(--brand-600);border-radius:12px;justify-content:center;align-items:center;display:flex}.confirm-dialog-icon-danger{background-color:var(--rose-50);color:var(--rose-600)}.confirm-dialog-title{font-size:var(--text-lg);color:var(--slate-900);margin:.25rem 0 0;font-weight:800}.confirm-dialog-message{font-size:var(--text-sm);color:var(--slate-600);margin:0;line-height:1.55}.confirm-dialog-actions{border-top:1px solid var(--slate-100);justify-content:flex-end;align-items:center;gap:.65rem;width:100%;margin-top:.5rem;padding-top:.75rem;display:flex}.confirm-dialog button:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}.confirm-dialog .btn-danger-pro:focus-visible{outline-color:var(--rose-500)}.status-message-box{text-align:center;border:1px dashed var(--slate-300);background-color:#fff;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:3rem 1.5rem;display:flex}.status-message-error{border-color:var(--rose-200)}.status-message-icon{background-color:var(--brand-50);width:56px;height:56px;color:var(--brand-700);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.25rem;display:flex}.status-message-error .status-message-icon{background-color:var(--rose-50);color:var(--rose-600)}.status-message-title{font-size:var(--text-lg);color:var(--slate-900);margin:0;font-weight:800}.status-message-desc{font-size:var(--text-sm);color:var(--slate-600);max-width:420px;margin:0}.status-message-actions{gap:.5rem;margin-top:.75rem;display:flex}.status-message-loading .status-message-title{color:var(--slate-600);font-weight:600}.plain-list{margin:0;padding:0;list-style:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.today-page{flex-direction:column;gap:1.25rem;max-width:1200px;display:flex}.today-layout{flex-direction:column;gap:1.25rem;display:flex}.today-aside{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:1.25rem;display:grid}@media (width<=900px){.today-aside{grid-template-columns:1fr}}.today-summary-card{flex-direction:column;display:flex}.today-summary-body{flex-direction:column;flex:1;justify-content:center;display:flex}.today-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;display:grid}.today-stat{border:1px solid #0000;border-radius:12px;flex-direction:column;gap:.15rem;min-width:0;padding:.65rem .75rem;display:flex}.today-stat-top{justify-content:space-between;align-items:center;gap:.25rem;display:flex}.today-stat-icon{opacity:.85;flex-shrink:0}.today-stat-value{font-size:1.6rem;font-weight:800;line-height:1.1}.today-stat-label{font-size:var(--text-xs);overflow-wrap:anywhere;font-weight:700}.today-stat{background-color:var(--slate-50);border-color:var(--slate-200)}.today-stat-value{color:var(--slate-900)}.today-stat-label{color:var(--slate-600)}.today-stat-overdue .today-stat-icon{color:var(--urgency-overdue)}.today-stat-due_today .today-stat-icon{color:var(--urgency-today)}.today-stat-upcoming .today-stat-icon{color:var(--urgency-upcoming)}.today-stat-postponed .today-stat-icon{color:var(--slate-500)}.today-load{margin-top:.9rem}.today-load-text{font-size:var(--text-sm);color:var(--slate-600);justify-content:space-between;align-items:baseline;gap:.5rem;font-weight:600;display:flex}.today-load-text strong{color:var(--slate-900);font-size:var(--text-base,1rem)}.today-load-limit{color:var(--slate-500);font-weight:600;font-size:var(--text-sm)}.today-load-bar{background-color:var(--slate-100);border-radius:999px;height:8px;margin-top:.4rem;overflow:hidden}.today-load-bar span{border-radius:inherit;background-color:var(--slate-500);height:100%;transition:width .3s;display:block}.today-load-over .today-load-bar span{background-color:var(--urgency-overdue)}.today-load-over .today-load-text strong{color:var(--urgency-overdue)}.today-load-warning{font-size:var(--text-xs);color:var(--urgency-overdue);margin:.4rem 0 0;font-weight:600}.today-next-events{flex-direction:column;gap:.5rem;display:flex}.today-next-event{background-color:var(--slate-50);border-radius:12px;align-items:center;gap:.75rem;padding:.55rem .65rem;display:flex}.today-next-event-date{background-color:var(--urgency-upcoming-bg);width:32px;height:32px;color:var(--urgency-upcoming);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.today-next-event-info{flex-direction:column;flex:1;min-width:0;display:flex}.today-next-event-meta{font-size:var(--text-xs);color:var(--slate-500);font-weight:600}.today-next-event-days{font-size:var(--text-xs);color:var(--slate-700);border:1px solid var(--slate-200);background-color:#fff;border-radius:999px;flex-shrink:0;padding:.15rem .55rem;font-weight:700}@media (width<=520px){.today-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.today-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.today-filters{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.today-filter{flex-direction:column;gap:.35rem;min-width:180px;display:flex}.btn-clear-filters{align-items:center;gap:.35rem;display:inline-flex}.today-date{font-size:var(--text-sm);color:var(--slate-600);margin:0}.today-date strong{color:var(--slate-900)}.sort-help{position:relative}.sort-help-trigger{font:inherit;font-size:var(--text-sm);color:var(--brand-700);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.35rem;padding:.5rem .25rem;font-weight:600;display:inline-flex}.sort-help-trigger:hover{text-decoration:underline}.sort-help-panel{border:1px solid var(--slate-200);z-index:30;background-color:#fff;border-radius:12px;width:min(380px,85vw);padding:.9rem 1rem;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 10px 25px #0f172a1f}.sort-help-panel[hidden]{display:none}.sort-help-panel p{font-size:var(--text-sm);color:var(--slate-700);margin:0;line-height:1.5}.today-groups{flex-direction:column;gap:1.75rem;display:flex}.today-group{flex-direction:column;gap:.75rem;display:flex}.today-group-title{font-size:var(--text-lg);align-items:center;gap:.5rem;margin:0;font-weight:800;display:flex}.today-group-overdue .today-group-title{color:var(--urgency-overdue)}.today-group-due_today .today-group-title{color:var(--urgency-today)}.today-group-upcoming .today-group-title{color:var(--slate-900)}.today-group-upcoming .today-group-title svg{color:var(--urgency-upcoming)}.today-group-count{text-align:center;border-radius:999px;min-width:20px;margin-left:auto;padding:2px 7px;font-size:11px;font-weight:700;line-height:1.4;color:#fff!important}.today-group-overdue .today-group-count{background-color:#ef4444}.today-group-due_today .today-group-count{background-color:#d97706}.today-group-upcoming .today-group-count{background-color:#3b82f6}.today-group-empty{font-size:var(--text-sm);color:var(--slate-600);border:1px dashed var(--slate-300);background-color:#fff;border-radius:12px;margin:0;padding:.85rem 1rem}.today-card-list{flex-direction:column;gap:.75rem;display:flex}.today-card{border:1px solid var(--slate-200);background-color:#fff;border-left-width:4px;border-radius:12px;flex-direction:column;gap:.4rem;padding:.9rem 1.1rem;display:flex}.today-card-overdue{border-left-color:var(--urgency-overdue)}.today-card-due_today{border-left-color:var(--urgency-today)}.today-card-upcoming{border-left-color:var(--urgency-upcoming)}.today-card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.today-card-title{min-width:0;font-size:var(--text-base);color:var(--slate-900);overflow-wrap:anywhere;flex:1;margin:0;font-weight:700}.today-card-edit{color:var(--slate-600);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin:-4px -4px 0 0;padding:4px;transition:background-color .2s;display:inline-flex}.today-card-edit:hover{background-color:var(--slate-100)}.today-date-btn{font:inherit;color:inherit;cursor:pointer;-webkit-text-decoration:underline dotted var(--slate-400);text-decoration:underline dotted var(--slate-400);text-underline-offset:3px;background:0 0;border:none;border-radius:6px;margin:-2px -6px;padding:2px 6px;transition:background-color .15s,color .15s}.today-date-btn:hover,.today-date-btn:focus-visible{background-color:var(--brand-50);color:var(--brand-700);text-decoration-color:currentColor}.today-card-event{font-size:var(--text-base);color:var(--brand-700);align-self:flex-start;font-weight:600;text-decoration:none}.today-card-event:hover{text-decoration:underline}.today-card-meta{font-size:var(--text-sm);color:var(--slate-600);flex-wrap:wrap;align-items:center;gap:.4rem 1rem;display:flex}.today-meta-item{align-items:center;gap:.3rem;display:inline-flex}.today-card-overdue .today-meta-relative{color:var(--urgency-overdue);font-weight:700}.task-status-chip{background-color:var(--slate-100);color:var(--slate-700);font-size:var(--text-xs);border-radius:6px;padding:.1rem .5rem;font-weight:700}@media (width<=640px){.today-filters{width:100%}.today-filter{flex:140px;min-width:0}.sort-help-panel{left:0;right:auto}}.banner-warning{background-color:var(--amber-50);border:1px solid var(--amber-200);color:#92400e}.plan-section{border:1px solid var(--slate-200);border-radius:12px;flex-direction:column;gap:.85rem;margin:0;padding:1rem;display:flex}.plan-legend{font-size:var(--text-base);color:var(--slate-900);padding:0 .35rem;font-weight:800}.plan-row{background-color:var(--slate-50);border:1px solid var(--slate-200);border-radius:10px;flex-direction:column;gap:.75rem;padding:.85rem;display:flex}.plan-row-header{justify-content:space-between;align-items:center;display:flex}.plan-row-title{font-size:var(--text-sm);color:var(--slate-700);font-weight:800}.btn-add-row{align-self:flex-start;align-items:center;gap:.35rem;display:inline-flex}.loading-layer{min-height:320px;position:relative}.loading-background{pointer-events:none;-webkit-user-select:none;user-select:none;filter:blur(3px);transition:filter .2s ease-out}.loading-overlay{-webkit-backdrop-filter:blur(6px);background-color:#f8fafc73;border-radius:16px;justify-content:center;align-items:flex-start;padding-top:5rem;animation:.2s ease-out loading-fade-in;display:flex;position:absolute;inset:-.5rem}.loading-card{border:1px solid var(--slate-200);font-size:var(--text-sm);color:var(--slate-800);background-color:#ffffffe6;border-radius:999px;align-items:center;gap:.75rem;padding:.85rem 1.35rem;font-weight:700;display:inline-flex;position:sticky;top:6rem;box-shadow:0 10px 30px #0f172a1f}.loading-spinner{border:3px solid var(--brand-100);border-top-color:var(--brand-600);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite loading-spin}.skeleton-card{gap:.6rem}.skeleton{background:linear-gradient(90deg, var(--slate-200) 25%, var(--slate-100) 50%, var(--slate-200) 75%);background-size:200% 100%;border-radius:8px;animation:1.4s ease-in-out infinite loading-shimmer}.skeleton-heading{width:160px;height:22px}.skeleton-line{height:12px}.skeleton-line-lg{width:60%;height:16px}.skeleton-line-md{width:40%}.skeleton-line-sm{width:25%}.skeleton-button{width:100%;height:30px;margin-top:.5rem}@keyframes loading-spin{to{transform:rotate(360deg)}}@keyframes loading-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes loading-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.loading-spinner,.skeleton,.loading-overlay{animation:none}}.auth-page{background-color:var(--slate-50);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.auth-card{border:1px solid var(--slate-200);background-color:#fff;border-radius:20px;flex-direction:column;gap:1rem;width:100%;max-width:440px;padding:2rem;display:flex;box-shadow:0 10px 30px #0f172a0f}.auth-brand{text-align:center;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.auth-title{font-size:var(--text-xl);letter-spacing:-.02em;color:var(--slate-900);text-align:center;margin:0;font-weight:800}.auth-subtitle{font-size:var(--text-sm);color:var(--slate-600);text-align:center;margin:-.5rem 0 0}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-form .field-input{padding:.65rem .85rem}.auth-submit{width:100%;margin-top:.25rem;padding:.75rem 1rem}.auth-footer{text-align:center;font-size:var(--text-sm);color:var(--slate-600);margin:0}.auth-footer a{color:var(--brand-700);font-weight:700}.auth-card .banner-alert{font-size:var(--text-sm);align-items:flex-start;gap:.6rem}.auth-card .banner-alert>svg{flex-shrink:0;margin-top:.1rem}.auth-card .banner-alert>span{flex:1}.banner-info{background-color:var(--brand-50);border:1px solid var(--brand-200);color:var(--brand-800)}.btn-alert-retry{border:1px solid var(--rose-200);color:var(--rose-600);font:inherit;font-size:var(--text-sm);cursor:pointer;background-color:#fff;border-radius:8px;align-items:center;gap:.3rem;margin-left:auto;padding:.3rem .65rem;font-weight:700;display:inline-flex}.password-box{position:relative}.password-input{padding-right:2.75rem}.password-toggle{color:var(--slate-500);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.35rem;display:flex;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.password-toggle:hover{color:var(--slate-800);background-color:var(--slate-100)}.btn-logout{color:var(--slate-500);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:.4rem;display:flex}.btn-logout:hover:not(:disabled){color:var(--rose-600);background-color:var(--rose-50)}.session-check{background:linear-gradient(135deg, var(--brand-50) 0%, var(--slate-50) 55%, #eef2ff 100%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex;position:relative;overflow:hidden}.session-check-blob{filter:blur(70px);opacity:.55;border-radius:50%;width:420px;height:420px;animation:14s ease-in-out infinite alternate session-float;position:absolute}.session-check-blob-a{background:var(--brand-200);top:-140px;left:-120px}.session-check-blob-b{background:#c7d2fe;animation-delay:-7s;bottom:-160px;right:-120px}.session-check-card{text-align:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background-color:#ffffffb8;border:1px solid #ffffffe6;border-radius:24px;flex-direction:column;align-items:center;width:100%;max-width:380px;padding:2.5rem 2rem 2rem;animation:.5s ease-out both session-card-in;display:flex;position:relative;box-shadow:0 20px 50px #1e3a8a1f}.session-check-logo{justify-content:center;align-items:center;width:96px;height:96px;margin-bottom:1.25rem;display:flex;position:relative}.session-check-ring{background:conic-gradient(from 0deg, transparent 0deg, var(--brand-500) 280deg, transparent 360deg);border-radius:50%;animation:1.4s linear infinite loading-spin;position:absolute;inset:0;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3px))}.session-check-pulse{background-color:var(--brand-400);border-radius:20px;animation:2s ease-out infinite session-pulse;position:absolute;inset:14px}.session-check-logo-box{color:#fff;background:linear-gradient(135deg, var(--brand-500), var(--brand-700));border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;display:flex;position:relative;box-shadow:0 10px 24px #2563eb59}.session-check-brand{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-700);margin:0;font-weight:700}.session-check-title{color:var(--slate-900);margin:.35rem 0 1.25rem;font-size:1.15rem;font-weight:700}.session-check-dots span{animation:1.4s ease-in-out infinite session-dot;display:inline-block}.session-check-dots span:nth-child(2){animation-delay:.2s}.session-check-dots span:nth-child(3){animation-delay:.4s}.session-check-bar{background-color:var(--brand-100);border-radius:999px;width:100%;height:6px;position:relative;overflow:hidden}.session-check-bar-fill{background:linear-gradient(90deg, var(--brand-400), var(--brand-600));border-radius:999px;width:40%;animation:1.6s ease-in-out infinite session-bar;position:absolute;top:0;bottom:0}.session-check-hint{font-size:var(--text-sm);color:var(--slate-600);margin:1rem 0 0;line-height:1.5;animation:.4s ease-out both loading-fade-in}@keyframes session-card-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}@keyframes session-pulse{0%{opacity:.45;transform:scale(.9)}to{opacity:0;transform:scale(1.45)}}@keyframes session-dot{0%,80%,to{opacity:.2;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes session-bar{0%{left:-40%}to{left:100%}}@keyframes session-float{0%{transform:translate(0)scale(1)}to{transform:translate(60px,40px)scale(1.12)}}@media (prefers-reduced-motion:reduce){.session-check-blob,.session-check-card,.session-check-ring,.session-check-pulse,.session-check-dots span,.session-check-hint{animation:none}.session-check-pulse{opacity:0}.session-check-bar-fill{opacity:.6;width:100%;animation:none;left:0}}@media (width<=520px){.auth-card{padding:1.5rem 1.25rem}}.today-card.card-date-warning,.event-card-item.card-date-warning{background-color:var(--amber-50);border-color:var(--amber-200)}.today-card.card-date-warning{border-left-color:var(--amber-600)}.task-date-warning{color:#92400e;font-size:var(--text-sm);background-color:#fef3c7;border-radius:8px;align-items:flex-start;gap:.45rem;margin:.25rem 0 0;padding:.5rem .65rem;font-weight:600;line-height:1.4;display:flex}.task-date-warning svg{flex-shrink:0;margin-top:.05rem}.date-field{position:relative}.date-field-display{cursor:pointer;padding-right:2.5rem}.date-field-display::placeholder{color:var(--slate-500)}.date-field-icon{color:var(--slate-500);pointer-events:none;position:absolute;top:50%;right:.85rem;transform:translateY(-50%)}.date-field-native{opacity:0;pointer-events:none;border:0;width:100%;height:100%;position:absolute;inset:0}.progress-bar-container{width:100%;margin:12px 0 16px}.progress-bar-header{color:var(--text-secondary,#475569);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;display:flex}.progress-bar-percentage{color:var(--brand-primary,#2563eb);font-weight:700}.progress-track{background-color:var(--border-color,#e2e8f0);border-radius:999px;width:100%;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#3b82f6 0%,#2563eb 100%);border-radius:999px;height:100%;transition:width .4s ease-in-out}.progress-fill-complete{background:linear-gradient(90deg,#10b981 0%,#059669 100%)}.badge-complete{color:#065f46!important;background-color:#ecfdf5!important;border:1px solid #a7f3d0!important}.status-message-box{border:1px solid var(--border-color,#e2e8f0);box-sizing:border-box;background-color:#fff;border-radius:12px;text-align:center!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;width:100%!important;padding:48px 24px!important;display:flex!important}.status-message-icon{color:var(--text-muted,#94a3b8);justify-content:center;align-items:center;margin-bottom:12px;display:flex}.status-message-title{color:var(--text-primary,#1e293b);font-size:16px;font-weight:600;text-align:center!important;margin:0 0 6px!important}.status-message-desc{color:var(--text-secondary,#64748b);max-width:380px;font-size:13px;line-height:1.5;text-align:center!important;margin:0 auto 16px!important}.status-message-actions{gap:12px;width:100%;justify-content:center!important;align-items:center!important;display:flex!important}.today-page{box-sizing:border-box;padding:0 8px;width:100%!important;max-width:100%!important;margin:0!important}.today-toolbar{margin-bottom:20px;justify-content:space-between!important;align-items:flex-end!important;width:100%!important;display:flex!important}.today-layout>div[aria-busy]{width:100%}.today-layout .status-message-box{border:1px solid var(--border-color,#e2e8f0);background-color:#fff;border-radius:12px;min-height:260px;width:100%!important;padding:40px 24px!important}.today-groups{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:16px;width:100%;display:grid}@media (width<=1200px){.today-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.today-groups{grid-template-columns:1fr}}.today-group{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;min-height:240px;padding:14px;display:flex}.today-group-overdue{border-top:4px solid #ef4444}.today-group-due_today{border-top:4px solid #f59e0b}.today-group-upcoming{border-top:4px solid #3b82f6}.today-group-postponed{border-top:4px solid #94a3b8}.today-group-postponed .today-group-title svg{color:var(--slate-600)}.today-group-postponed .today-group-count{background-color:var(--slate-600);color:#fff}.today-group-desc{font-size:var(--text-sm);color:var(--slate-600);margin:-4px 0 12px}.today-group-title{color:#1e293b;border-bottom:1px solid #e2e8f0;align-items:center;gap:8px;margin:0 0 12px;padding-bottom:8px;font-size:15px;font-weight:700;display:flex}.today-group-count{color:#475569;background:#e2e8f0;border-radius:999px;margin-left:auto;padding:2px 8px;font-size:12px;font-weight:600}.today-card-list{flex-direction:column;gap:12px;margin:0;padding:0;display:flex}.today-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;padding:12px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #0000000d}.today-card:hover{box-shadow:0 4px 8px #00000014}.today-group-empty{color:var(--slate-500);text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:8px;margin:0;padding:24px 8px;font-size:13px}.sidebar-bottom{background-color:#fff;border-top:1px solid #e2e8f0;padding:12px}.profile-container{flex-direction:column;gap:8px;display:flex}.profile-user-row{align-items:center;gap:10px;display:flex}.profile-avatar{color:#2563eb;background:#eff6ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.profile-info{flex:1;min-width:0}.profile-name{color:#0f172a;margin:0;font-size:13px;font-weight:600}.btn-logout{color:var(--slate-500);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .15s;display:flex}.btn-logout:hover{color:#ef4444;background:#fee2e2}.btn-limit-card{cursor:pointer;color:#475569;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:6px 10px;font-size:12px;transition:all .15s;display:flex}.btn-limit-card:hover{color:#1d4ed8;background-color:#eff6ff;border-color:#bfdbfe}.btn-limit-left{align-items:center;gap:6px;font-weight:500;display:flex}.btn-limit-left .icon-limit{color:#2563eb}.limit-value-badge{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:1px 6px;font-size:11px;font-weight:700}.btn-limit-card:hover .limit-value-badge{color:#1d4ed8;border-color:#93c5fd}
