:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color:var(--color-text);background-color:var(--blue-bg);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 2px 8px rgba(15, 23, 42, .08);--shadow-lg: 0 4px 16px rgba(15, 23, 42, .1);--text-xs: .8rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--color-text: #111827;--color-text-muted: #374151;--color-text-secondary: #6b7280;--color-text-tertiary: #475569;--color-bg: #ffffff;--blue-50: #eff6ff;--blue-100: #dbeafe;--blue-200: #bfdbfe;--blue-300: #93c5fd;--blue-400: #60a5fa;--blue-500: #4c6fff;--blue-600: #3b5bdb;--blue-700: #2563eb;--blue-800: #1d4ed8;--blue-900: #1e3a8a;--blue-bg: #f0f7ff;--blue-card: #ffffff;--blue-border: #bfdbfe;--blue-border-light: #e0edff;--color-error: #dc2626;--color-error-hover: #b91c1c;--color-error-bg: #fef2f2;--color-success: #166534;--color-success-bg: #ecfdf3;--color-success-border: #22c55e}*{box-sizing:border-box}body{margin:0;min-height:100vh}h1,h2,h3,h4{margin:0 0 var(--space-2);font-weight:600;line-height:1.3;color:var(--color-text)}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-base)}p{margin:0 0 var(--space-2);color:var(--color-text-muted)}.page-description{font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:var(--space-4)}a{color:var(--blue-600);text-decoration:none;transition:color .15s ease}a:hover{color:var(--blue-700);text-decoration:underline}button{cursor:pointer;font:inherit;transition:background-color .15s ease,border-color .15s ease,opacity .15s ease}button:disabled{cursor:not-allowed;opacity:.65}input,textarea,select{font:inherit;transition:border-color .15s ease,box-shadow .15s ease}.container{max-width:960px;margin:0 auto;padding:var(--space-4)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack-sm{display:flex;flex-direction:column;gap:var(--space-2)}.row{display:flex;align-items:center;gap:var(--space-2)}.row-between{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--space-2)}.pt-main{padding-top:var(--space-5)}.card{background:var(--blue-card);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);border:1px solid var(--blue-border-light)}.card h3{margin-top:0;color:var(--color-text)}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;margin-bottom:var(--space-1);font-weight:500;font-size:var(--text-sm);color:var(--blue-800)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--blue-border);border-radius:var(--radius-md);background:var(--color-bg)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 3px #4c6fff26}.form-group.mb-0{margin-bottom:0}.form-group--checkbox label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.form-group--checkbox input[type=checkbox]{width:auto}.form-card{max-width:400px;margin:var(--space-6) auto;border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.settings-page .settings-section{max-width:400px;margin-bottom:var(--space-6)}.settings-page .settings-section:last-child{margin-bottom:0}.form-card-wide{max-width:520px;border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.not-found-card{max-width:400px;margin:var(--space-6) auto;text-align:center}.form-card h1,.form-card-wide h3{margin-top:0;margin-bottom:var(--space-4)}.btn{display:inline-block;padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-md);font-weight:500;font-size:var(--text-sm)}.btn-primary{background:var(--blue-500);color:var(--color-bg)}.btn-primary:hover:not(:disabled){background:var(--blue-600)}.btn-secondary{background:var(--blue-100);color:var(--blue-800);border:1px solid var(--blue-200)}.btn-secondary:hover:not(:disabled){background:var(--blue-200)}.btn-danger{background:var(--color-error);color:var(--color-bg)}.btn-danger:hover:not(:disabled){background:var(--color-error-hover)}.error{color:var(--color-error);font-size:var(--text-sm);margin-top:var(--space-1);padding:var(--space-2);background:var(--color-error-bg);border-radius:var(--radius-md)}.success{color:var(--color-success);font-size:var(--text-sm);margin-top:var(--space-1);padding:var(--space-2);background:var(--color-success-bg);border-radius:var(--radius-md)}.nav{display:flex;gap:var(--space-4);align-items:center;padding:var(--space-3) var(--space-5);background:var(--blue-card);border-bottom:1px solid var(--blue-border-light);box-shadow:var(--shadow-sm)}.nav-menu{display:flex;gap:var(--space-4);align-items:center;margin-left:0;flex:1;min-width:0}.nav .nav-menu .nav-user{margin-left:auto}.nav a{color:var(--blue-800);font-weight:500;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md)}.nav a:hover{color:var(--blue-600);text-decoration:none;background:var(--blue-50)}.nav a.active{color:var(--blue-600);background:var(--blue-100)}.nav .nav-user{color:var(--color-text-muted);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;min-width:0}.nav .nav-user-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}@media(min-width:641px){.nav .nav-user-name{max-width:none}}.nav .nav-user .btn-secondary{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);flex-shrink:0}.nav-toggle,.nav-close{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;background:transparent;border:1px solid var(--blue-200);border-radius:var(--radius-md);cursor:pointer}.nav-close:hover{background:var(--blue-50)}.nav-toggle-icon{display:block;width:100%;height:2px;background:var(--blue-700);border-radius:1px}@media(max-width:768px){.nav{flex-wrap:wrap;padding:var(--space-2) var(--space-3)}.nav-toggle{display:flex}.nav--menu-open .nav-toggle{display:none}.nav-menu{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:0;margin-top:0}.nav--menu-open .nav-menu{display:flex}.nav-close{display:flex;align-self:flex-start;margin-bottom:var(--space-1)}.nav-menu a{padding:var(--space-3);border-radius:var(--radius-md)}.nav .nav-menu .nav-user{margin-left:0;margin-right:auto}.nav-menu .nav-user{margin-top:var(--space-3);padding:var(--space-3) 0 0;border-top:2px solid var(--blue-200);flex-direction:column;align-items:flex-start;gap:0}.nav-menu .nav-user-name{max-width:none;padding:var(--space-3) 0 var(--space-2);font-weight:500;color:var(--color-text-tertiary)}.nav-menu .nav-user .btn-secondary{width:auto;margin-left:0;padding:var(--space-3) 0;text-align:left;background:transparent;border:none;color:var(--blue-800);font-weight:500;border-radius:var(--radius-md)}.nav-menu .nav-user .btn-secondary:hover{background:var(--blue-50);color:var(--blue-600)}}.calendar-event{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--blue-50);border:1px solid var(--blue-200)}.calendar-event--personal{border-left:3px solid var(--blue-400)}.calendar-event-time{font-size:var(--text-xs);color:var(--blue-700);margin-bottom:var(--space-1)}.calendar-event-title{font-size:var(--text-sm);font-weight:500;color:var(--color-text)}.calendar-day-header{color:var(--blue-800);font-weight:600;font-size:var(--text-sm);text-align:center;line-height:1.3}.calendar-week-label{font-size:var(--text-sm);color:var(--blue-700);margin-bottom:var(--space-2)}.calendar-empty{margin:0;font-size:var(--text-sm);color:var(--blue-300);text-align:center;padding:var(--space-3) var(--space-2);min-height:2.5rem;display:flex;align-items:center;justify-content:center}.calendar-events{display:flex;flex-direction:column;gap:var(--space-2)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(96px,1fr));gap:var(--space-3)}.card-calendar-day{min-height:120px;min-width:0}.calendar-grid .card-calendar-day:not(:first-child){border-left:2px solid var(--blue-200)}.page-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-4)}.page-toolbar .row{gap:var(--space-2);flex-wrap:wrap}.page-toolbar .row .btn,.page-toolbar .calendar-week-label{flex-shrink:0}@media(max-width:800px){.calendar-grid{grid-template-columns:repeat(7,minmax(72px,1fr));gap:var(--space-2)}}@media(max-width:768px){.calendar-grid{grid-template-columns:1fr;gap:var(--space-2)}.calendar-grid .card-calendar-day:not(:first-child){border-left:1px solid var(--blue-border-light);border-top:1px solid var(--blue-200)}}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.m-0{margin:0}.mb-1{margin-bottom:var(--space-4)}.mb-half{margin-bottom:var(--space-2)}.mt-1{margin-top:var(--space-4)}.mt-half{margin-top:var(--space-2)}.ml-half{margin-left:var(--space-2)}.ml-1{margin-left:var(--space-4)}.text-muted{color:var(--blue-700);margin:var(--space-1) 0;font-size:var(--text-sm)}.text-muted.m-0{margin:0}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.filter-row{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:flex-end}.loading-placeholder{color:var(--color-text-secondary);font-size:var(--text-base);padding:var(--space-4) 0}.toast-container{position:fixed;top:var(--space-4);right:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);z-index:1000}.toast{min-width:220px;max-width:320px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--text-sm)}.toast-success{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success)}
