.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:#f5f7fa}.error-boundary__container{max-width:600px;width:100%;background:#fff;border-radius:12px;padding:3rem;box-shadow:0 10px 40px #0000001a;text-align:center}.error-boundary__icon{color:#ef4444;margin-bottom:1.5rem}.error-boundary__title{font-size:1.875rem;font-weight:700;color:#1f2937;margin:0 0 1rem}.error-boundary__message{font-size:1rem;color:#6b7280;margin:0 0 2rem;line-height:1.6}.error-boundary__details{text-align:left;margin:2rem 0;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer}.error-boundary__details summary{font-weight:600;color:#374151;margin-bottom:.5rem;user-select:none}.error-boundary__details summary:hover{color:#111827}.error-boundary__stack{font-family:Monaco,Menlo,Courier New,monospace;font-size:.75rem;color:#ef4444;white-space:pre-wrap;word-break:break-all;margin:.5rem 0 0;padding:1rem;background:#fff;border-radius:4px;overflow-x:auto}.error-boundary__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.error-boundary__actions .btn{min-width:140px}.toast{position:fixed;top:80px;left:50%;transform:translate(-50%);min-width:300px;max-width:500px;background:#fff;border-radius:16px;box-shadow:0 8px 25px #00000026;padding:1.5rem 2rem;display:flex;align-items:center;gap:1rem;z-index:80;animation:slideInDown .3s ease-out;border-left:4px solid}.toast--auto-dismiss{animation:slideInDown .3s ease-out,fadeOut .3s ease-out 2.7s}.toast--success{border-left-color:#4caf50}.toast--success .toast__icon{color:#4caf50}.toast--error{border-left-color:#f44336}.toast--error .toast__icon{color:#f44336}.toast--info{border-left-color:#2196f3}.toast--info .toast__icon{color:#2196f3}.toast__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.toast__message{flex:1;font-size:.875rem;font-weight:500;color:#212529;line-height:1.5}.toast__close{flex-shrink:0;background:transparent;border:none;padding:.5rem;cursor:pointer;color:#6c757d;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.toast__close:hover{background:#f8f9fa;color:#212529}@media (max-width: 640px){.toast{left:1.5rem;right:1.5rem;min-width:auto;transform:none}}@keyframes slideInDown{0%{transform:translate(-50%,-20px);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #1e88e5;--primary-dark: #1565c0;--primary-light: #42a5f5;--secondary-color: #d32f2f;--background-color: #f5f7fa;--surface-color: #ffffff;--text-primary: #212529;--text-secondary: #6c757d;--text-muted: #868e96;--border-color: #e9ecef;--border-light: #f8f9fa;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 25px rgba(0, 0, 0, .15);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem}html,body{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;color:#212529;background-color:#f5f7fa;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%;display:flex;flex-direction:column}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,#1e88e5,#1565c0);color:#fff;box-shadow:0 4px 6px #0000001a;position:relative;z-index:20;flex-shrink:0}.app-header__content{width:100%;padding:.5rem 1.5rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem}@media (max-width: 640px){.app-header__content{grid-template-columns:auto 1fr auto;gap:1rem}}.app-header__logo{height:48px;flex-shrink:0;display:flex;align-items:center;justify-self:start;padding:0}.app-header__logo img{height:100%;width:auto;display:block}.app-header__logo:focus{outline:none}.app-header__logo:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:2px;border-radius:6px}@media (min-width: 768px){.app-header__logo{height:56px}}.app-header__title{font-size:1.125rem;font-weight:600;margin:0;text-align:center;justify-self:center}@media (min-width: 768px){.app-header__title{font-size:1.5rem}}@media (max-width: 640px){.app-header__title{font-size:1rem;text-align:left;justify-self:start}}.app-header__actions{display:flex;align-items:center;justify-self:end;gap:1rem}.app-header__report-issue{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;min-height:36px;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.app-header__report-issue:hover{background:#ffffff40;border-color:#ffffff80}.app-header__report-issue:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}@media (max-width: 640px){.app-header__report-text{display:none}}.app-header__report-icon{width:20px;height:20px;flex-shrink:0}.app-header__user{position:relative;display:flex;align-items:center;gap:1rem}.app-header__user-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;min-height:36px;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.app-header__user-button:hover{background:#ffffff40;border-color:#ffffff80}.app-header__user-button:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.app-header__welcome{font-size:.875rem;font-weight:500;color:#fff;opacity:.95}.app-header__chevron{width:16px;height:16px;transition:transform .2s ease;flex-shrink:0}.app-header__chevron--open{transform:rotate(180deg)}.app-header__drawer{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:#fff;border-radius:6px;box-shadow:0 8px 25px #00000026;border:1px solid #e9ecef;overflow:hidden;z-index:10}.app-header__drawer-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:1rem 1.5rem;background:transparent;border:none;font-size:.875rem;font-weight:500;color:#212529;cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease;text-align:left}.app-header__drawer-item svg{width:16px;height:16px;flex-shrink:0}.app-header__drawer-item:hover{background:#f8f9fa;color:#1e88e5}.app-header__drawer-item:focus{outline:none;background:#f8f9fa;color:#1e88e5}.app-main{flex:1;width:100%;padding:0;min-height:0;display:flex;flex-direction:column}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn:focus{outline:2px solid #42a5f5;outline-offset:2px}.btn--primary{background:#1e88e5;color:#fff}.btn--primary:hover,.btn--primary:active{background:#1565c0}.btn--success{background:#4caf50;color:#fff}.btn--success:hover,.btn--success:active{background:#409343}.btn--warning{background:#ff9800;color:#fff}.btn--warning:hover,.btn--warning:active{background:#d68000}.btn--outline{background:transparent;color:#1e88e5;border:1px solid #1e88e5}.btn--outline:hover{background:#1e88e5;color:#fff}.btn--ghost{background:transparent;color:#6c757d}.btn--ghost:hover{background:#f8f9fa;color:#212529}.btn--sm,.btn--small{padding:.5rem .75rem;font-size:.75rem;height:32px}.btn--large{padding:1rem 1.5rem;font-size:1rem;height:56px}.btn--full{width:100%;justify-content:center}.btn:disabled{opacity:.6;cursor:not-allowed}.card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001f;border:1px solid #e9ecef;overflow:hidden;transition:box-shadow .2s ease,transform .2s ease}.card--hover{cursor:pointer}.card--hover:hover{box-shadow:0 8px 25px #00000026}.card--elevated{box-shadow:0 4px 6px #0000001a}.card__content{padding:1.5rem}@media (min-width: 768px){.card__content{padding:2rem}}.chip{display:inline-flex;align-items:center;padding:.25rem .75rem;background:#1e88e5;color:#fff;font-size:.75rem;font-weight:500;border-radius:50%;white-space:nowrap}.chip--small{padding:.125rem .5rem;font-size:.6875rem}.chip--secondary{background:#6c757d}.chip--outline{background:transparent;color:#1e88e5;border:1px solid #1e88e5}.alert{padding:1rem 1.5rem;border-radius:6px;margin-bottom:1.5rem;border-left:4px solid;font-size:.875rem;font-weight:500}.alert--error{background:#ffebee;color:#c62828;border-left-color:#f44336}.alert--warning{background:#fff3e0;color:#ef6c00;border-left-color:#ff9800}.alert--info{background:#e3f2fd;color:#1565c0;border-left-color:#2196f3}.alert--success{background:#e8f5e8;color:#2e7d32;border-left-color:#4caf50}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;color:#6c757d}.loading__spinner{width:40px;height:40px;border:3px solid #e9ecef;border-top:3px solid #1e88e5;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.grid{display:grid;gap:1.5rem}.grid--1{grid-template-columns:1fr}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}@media (max-width: 767px){.grid--responsive{grid-template-columns:1fr}}@media (min-width: 768px) and (max-width: 1535px){.grid--responsive{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1536px){.grid--responsive{grid-template-columns:repeat(3,1fr)}}.form-field{margin-bottom:1.5rem}.form-field__label{display:block;margin-bottom:.5rem;font-weight:500;color:#212529;font-size:.875rem}.form-field__input{width:100%;padding:.75rem;border:1px solid #e9ecef;border-radius:6px;font-size:1rem;height:44px;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.form-field__input:focus{outline:none;border-color:#1e88e5;box-shadow:0 0 0 3px #1e88e51a}.form-field__input::placeholder{color:#868e96}.form-field__select{width:100%;padding:.75rem;border:1px solid #e9ecef;border-radius:6px;background:#fff;font-size:1rem;height:44px;cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.form-field__select:focus{outline:none;border-color:#1e88e5;box-shadow:0 0 0 3px #1e88e51a}.text--primary{color:#212529}.text--secondary{color:#6c757d}.text--muted{color:#868e96}.text--center{text-align:center}.text--right{text-align:right}.text--xs{font-size:.75rem}.text--sm{font-size:.875rem}.text--base{font-size:1rem}.text--lg{font-size:1.125rem}.text--xl{font-size:1.25rem}.text--2xl{font-size:1.5rem}.text--3xl{font-size:1.875rem}.text--bold{font-weight:700}.text--semibold{font-weight:600}.text--medium{font-weight:500}.text--truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
