.admin-panel{font-family:var(--font-family-primary);max-width:900px;margin:var(--space-8) auto;background:var(--color-neutral-50);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);overflow:hidden;position:relative}.admin-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-accent),var(--color-primary))}.admin-panel__inner{padding:var(--space-10)}.admin-panel__title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary);text-align:center;margin:0 0 var(--space-12) 0;letter-spacing:-.025em;position:relative}.admin-panel__title:after{content:"";position:absolute;bottom:calc(-1 * var(--space-6));left:50%;transform:translate(-50%);width:60px;height:2px;background:var(--color-accent);border-radius:var(--radius-sm)}.admin-panel__section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-primary);margin:0 0 var(--space-6) 0;display:flex;align-items:center;gap:var(--space-3);position:relative}.admin-panel__section-title:before{content:"";width:3px;height:20px;background:var(--color-accent);border-radius:var(--radius-sm)}.admin-panel__subsection-title{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-neutral-700);margin:0 0 var(--space-4) 0}.admin-panel__form-section{margin-bottom:var(--space-10);background:#fff;border-radius:var(--radius-xl);border:1px solid var(--color-neutral-200);overflow:hidden;transition:all var(--transition-normal);position:relative}.admin-panel__form-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);opacity:0;transition:opacity var(--transition-normal)}.admin-panel__form-section:hover:before{opacity:1}.admin-panel__form-section:hover{border-color:var(--color-accent-light);box-shadow:var(--shadow-md);transform:translateY(-1px)}.admin-panel__form-section-inner{padding:var(--space-8)}.admin-panel__form-group{margin-bottom:var(--space-6)}.admin-panel__form-group:last-child{margin-bottom:0}.admin-panel__form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-800);margin-bottom:var(--space-2);letter-spacing:.01em}.admin-panel__form-input,.admin-panel__form-select{width:100%;padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-neutral-300);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-family:inherit;background:#fff;color:var(--color-neutral-900);transition:all var(--transition-fast);box-sizing:border-box;position:relative}.admin-panel__form-input:focus,.admin-panel__form-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #3498db1a;transform:translateY(-1px)}.admin-panel__form-input:hover:not(:focus),.admin-panel__form-select:hover:not(:focus){border-color:var(--color-neutral-400)}.admin-panel__form-input--file{padding:var(--space-5);border:2px dashed var(--color-neutral-300);background:var(--color-neutral-50);cursor:pointer;text-align:center;transition:all var(--transition-normal)}.admin-panel__form-input--file:hover{border-color:var(--color-accent);background:var(--color-neutral-100)}.admin-panel__file-hint{margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--color-neutral-500);font-style:italic}.admin-panel__form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-top:var(--space-3)}.admin-panel__form-row .admin-panel__form-group{margin-bottom:0}.admin-panel__relations-controls{display:grid;gap:var(--space-8)}.admin-panel__relation-type{background:var(--color-neutral-50);border-radius:var(--radius-lg);border:1px solid var(--color-neutral-200);overflow:hidden}.admin-panel__relation-type-inner{padding:var(--space-6)}.admin-panel__relations-container{margin-bottom:var(--space-5);min-height:40px}.admin-panel__relation-control{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-4);background:#fff;border-radius:var(--radius-lg);border:1px solid var(--color-neutral-200);transition:all var(--transition-fast);position:relative}.admin-panel__relation-control:last-child{margin-bottom:0}.admin-panel__relation-control:hover{border-color:var(--color-accent-light);box-shadow:var(--shadow-sm)}.admin-panel__relation-control:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;opacity:0;transition:opacity var(--transition-fast)}.admin-panel__relation-control:hover:before{opacity:1}.admin-panel__relation-select{flex:1;margin-bottom:0;min-width:0}.admin-panel__relation-select--person{flex:2}.admin-panel__relation-remove{background:var(--color-danger);color:#fff;border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0;position:relative;overflow:hidden}.admin-panel__relation-remove:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff3;border-radius:50%;transform:scale(0);transition:transform var(--transition-fast)}.admin-panel__relation-remove:hover:before{transform:scale(1)}.admin-panel__relation-remove:hover{background:#c0392b;transform:scale(1.05)}.admin-panel__btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border:none;border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:inherit;cursor:pointer;text-decoration:none;transition:all var(--transition-fast);position:relative;overflow:hidden;white-space:nowrap}.admin-panel__btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff1a;transform:translate(-100%);transition:transform var(--transition-normal)}.admin-panel__btn:hover:before{transform:translate(0)}.admin-panel__btn--primary{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-sm)}.admin-panel__btn--primary:hover{background:var(--color-accent-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.admin-panel__btn--secondary{background:var(--color-neutral-100);color:var(--color-neutral-700);border:1px solid var(--color-neutral-300)}.admin-panel__btn--secondary:hover{background:var(--color-neutral-200);border-color:var(--color-neutral-400)}.admin-panel__btn--success{background:var(--color-success);color:#fff}.admin-panel__btn--success:hover{background:#219a52}.admin-panel__btn--danger{background:var(--color-danger);color:#fff}.admin-panel__btn--danger:hover{background:#c0392b}.admin-panel__btn--outline{background:transparent;color:var(--color-accent);border:1.5px solid var(--color-accent)}.admin-panel__btn--outline:hover{background:var(--color-accent);color:#fff}.admin-panel__btn--large{padding:var(--space-4) var(--space-8);font-size:var(--font-size-base)}.admin-panel__btn--small{padding:var(--space-2) var(--space-4);font-size:var(--font-size-xs)}.admin-panel__form-actions{display:flex;gap:var(--space-4);justify-content:center;margin-top:var(--space-12);padding-top:var(--space-8);border-top:1px solid var(--color-neutral-200)}.admin-panel__admin-actions{display:flex;justify-content:center;margin-bottom:var(--space-8)}.admin-panel__people-list{margin-top:var(--space-12)}.admin-panel__people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-6);margin-top:var(--space-6)}.admin-panel__person-card{background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);padding:var(--space-6);transition:all var(--transition-normal);display:flex;flex-direction:column;gap:var(--space-4);position:relative;overflow:hidden}.admin-panel__person-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-accent),var(--color-primary));transform:scaleX(0);transition:transform var(--transition-normal)}.admin-panel__person-card:hover:before{transform:scaleX(1)}.admin-panel__person-card:hover{border-color:var(--color-accent-light);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.admin-panel__person-info h3{margin:0;color:var(--color-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.admin-panel__person-actions{display:flex;gap:var(--space-3);margin-top:auto}.admin-panel__modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#212529cc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);opacity:0;visibility:hidden;transition:all var(--transition-normal)}.admin-panel__modal-overlay--active{opacity:1;visibility:visible}.admin-panel__modal-content{background:#fff;border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);width:90%;max-width:900px;max-height:90vh;overflow-y:auto;transform:translateY(20px) scale(.95);transition:all var(--transition-normal);position:relative}.admin-panel__modal-overlay--active .admin-panel__modal-content{transform:translateY(0) scale(1)}.admin-panel__modal-close{position:absolute;top:var(--space-4);right:var(--space-4);background:var(--color-neutral-100);border:none;border-radius:50%;width:36px;height:36px;font-size:var(--font-size-xl);cursor:pointer;color:var(--color-neutral-600);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;z-index:10}.admin-panel__modal-close:hover{background:var(--color-danger);color:#fff;transform:scale(1.1)}.admin-panel__error-message{text-align:center;padding:var(--space-12);background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin:var(--space-8) auto;max-width:500px;border-left:4px solid var(--color-danger)}.admin-panel__error-message p{color:var(--color-danger);font-size:var(--font-size-lg);margin-bottom:var(--space-6);font-weight:var(--font-weight-medium)}@keyframes adminPanelFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.admin-panel__form-section,.admin-panel__relation-control,.admin-panel__person-card{animation:adminPanelFadeInUp .3s ease}@media (max-width: 1024px){.admin-panel{margin:var(--space-6)}.admin-panel__inner{padding:var(--space-8)}}@media (max-width: 768px){.admin-panel{margin:var(--space-4)}.admin-panel__inner{padding:var(--space-6)}.admin-panel__form-row{grid-template-columns:1fr}.admin-panel__form-actions{flex-direction:column}.admin-panel__relation-control{flex-direction:column;align-items:stretch;gap:var(--space-3)}.admin-panel__relation-remove{align-self:flex-end}.admin-panel__people-grid{grid-template-columns:1fr}.admin-panel__person-actions{flex-direction:column}}@media (max-width: 480px){.admin-panel__title{font-size:var(--font-size-2xl)}.admin-panel__form-section-inner,.admin-panel__relation-type-inner{padding:var(--space-5)}.admin-panel__inner{padding:var(--space-4)}.admin-panel__modal-content{width:95%}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.admin-panel__btn:focus-visible,.admin-panel__form-input:focus-visible,.admin-panel__form-select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (prefers-color-scheme: dark){.admin-panel-root{--color-neutral-50: #1a1d23;--color-neutral-100: #2d3139;--color-neutral-200: #404651;--color-neutral-300: #535a68;--color-neutral-400: #6b7280;--color-neutral-500: #9ca3af;--color-neutral-600: #d1d5db;--color-neutral-700: #e5e7eb;--color-neutral-800: #f3f4f6;--color-neutral-900: #ffffff}.admin-panel__form-input,.admin-panel__form-select{background:var(--color-neutral-100);color:var(--color-neutral-900);border-color:var(--color-neutral-300)}.admin-panel__form-input--file{background:var(--color-neutral-200)}}.person-page{min-height:100vh;background:#f5f5f5;padding:40px 20px}.person-page__container{max-width:1200px;margin:0 auto}.person-page__back-btn{background:transparent;border:none;color:#666;font-size:16px;cursor:pointer;padding:8px 0;margin-bottom:30px;transition:color .2s}.person-page__back-btn:hover{color:#333}.person-page__header{text-align:center;background:#fff;padding:60px 40px;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-bottom:30px}.person-page__photo-wrapper{width:200px;height:200px;margin:0 auto 30px;border-radius:50%;overflow:hidden;border:4px solid #f0f0f0}.person-page__photo{width:100%;height:100%;object-fit:cover}.person-page__photo-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#667eea,#764ba2)}.person-page__name{font-size:36px;font-weight:600;color:#333;margin:0 0 20px;letter-spacing:.5px}.person-page__dates{display:flex;flex-direction:column;align-items:center;gap:15px}.person-page__date-line{display:flex;align-items:flex-end;gap:50px;font-size:16px;font-weight:400;color:#666}.person-page__date{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:150px}.person-page__date--left{align-items:flex-end}.person-page__date--right{align-items:flex-start}.person-page__date-day{font-size:16px;color:#666}.person-page__date-year{font-size:48px;font-weight:700;color:#000;line-height:1}.person-page__date-separator{font-size:48px;color:#000;font-weight:300;line-height:1;margin:0 10px}.person-page__lifespan{font-size:16px;color:#666;margin-top:0}.person-page__info{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-bottom:30px;overflow:hidden}.person-page__info-section{padding:30px 40px;border-bottom:1px solid #e5e5e5}.person-page__info-section:last-child{border-bottom:none}.person-page__info-title{font-size:18px;font-weight:600;color:#333;margin:0 0 10px}.person-page__info-value{font-size:16px;color:#666;margin:0;line-height:1.6}.person-page__gallery-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;padding:40px;margin-bottom:30px}.person-page__section-title{font-size:24px;font-weight:600;color:#333;margin:0 0 30px;letter-spacing:2px}.person-page__gallery{display:flex;flex-direction:column;gap:30px}.person-page__gallery-main{position:relative;width:100%;max-width:600px;margin:0 auto}.person-page__gallery-current{width:100%;height:auto;border-radius:4px;cursor:pointer;transition:transform .2s}.person-page__gallery-current:hover{transform:scale(1.02)}.person-page__gallery-caption{text-align:center;font-size:16px;color:#666;margin-top:15px}.person-page__gallery-carousel{position:relative;max-width:600px;margin:0 auto}.person-page__gallery-track{display:flex;gap:15px;overflow-x:auto;scroll-behavior:smooth;padding:10px 0;scrollbar-width:none;-ms-overflow-style:none}.person-page__gallery-track::-webkit-scrollbar{display:none}.person-page__gallery-thumb{flex-shrink:0;width:80px;height:80px;border-radius:8px;overflow:hidden;cursor:pointer;transition:all .3s ease;border:3px solid transparent;position:relative}.person-page__gallery-thumb:hover{transform:scale(1.05);border-color:#e0e0e0}.person-page__gallery-thumb.active{border-color:#333;transform:scale(1.1);box-shadow:0 4px 12px #00000026}.person-page__gallery-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.person-page__gallery-thumb:hover img{transform:scale(1.1)}.person-page__gallery-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffffe6;border:none;color:#333;cursor:pointer;padding:12px;border-radius:50%;transition:all .2s;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;z-index:10}.person-page__gallery-nav:hover:not(:disabled){background:#fff;transform:translateY(-50%) scale(1.1)}.person-page__gallery-nav:disabled{opacity:.3;cursor:not-allowed}.person-page__gallery-nav--prev{left:-20px}.person-page__gallery-nav--next{right:-20px}.person-page__relations-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;padding:40px}.person-page__relations-title{font-size:18px;font-weight:600;color:#333;margin:0 0 20px;padding-bottom:15px;border-bottom:2px solid #f0f0f0}.person-page__relations-list{display:flex;flex-direction:column;gap:10px}.person-page__relation-item{padding:15px 20px;background:#f9f9f9;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:10px}.person-page__relation-item:hover{background:#f0f0f0;transform:translate(5px)}.person-page__relation-name{font-size:16px;color:#333;font-weight:500}.person-page__relation-type{font-size:14px;color:#666}.person-page__modal{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;z-index:1000;align-items:center;justify-content:center}.person-page__modal.active{display:flex}.person-page__modal-content{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.person-page__modal-image{max-width:100%;max-height:90vh;object-fit:contain;border-radius:4px}.person-page__modal-close{position:absolute;top:-50px;right:0;background:transparent;border:none;color:#fff;cursor:pointer;padding:8px;transition:opacity .2s}.person-page__modal-close:hover{opacity:.7}.person-page__modal-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;cursor:pointer;padding:20px;border-radius:50%;transition:background .2s}.person-page__modal-nav:hover{background:#fff3}.person-page__modal-nav--prev{left:-80px}.person-page__modal-nav--next{right:-80px}.person-page__modal-counter{position:absolute;bottom:-50px;left:50%;transform:translate(-50%);color:#fff;font-size:18px}.person-page__error{text-align:center;padding:60px 20px;background:#fff;border-radius:8px}.person-page__error-message{font-size:18px;color:#666;margin-bottom:30px}@media (max-width: 768px){.person-page{padding:20px 10px}.person-page__header{padding:40px 20px}.person-page__photo-wrapper{width:150px;height:150px}.person-page__name{font-size:28px}.person-page__date-line{font-size:18px;gap:20px}.person-page__info-section,.person-page__gallery-section,.person-page__relations-section{padding:20px}.person-page__modal-nav--prev{left:10px}.person-page__modal-nav--next{right:10px}.person-page__gallery-carousel{max-width:100%;margin:0 20px}.person-page__gallery-thumb{width:60px;height:60px}.person-page__gallery-nav--prev{left:-10px}.person-page__gallery-nav--next{right:-10px}.person-page__gallery-nav{padding:8px}}.ft-tree-container{margin:20px 0;border-radius:12px;background:#fff;box-shadow:0 4px 20px #0000001a;padding:10px;position:relative}.ft-connector{position:absolute;background-color:#6b7280;border-radius:2px;transition:background-color .3s ease}.ft-family-box{position:absolute;border:2px solid rgba(0,0,0,.2);background:linear-gradient(45deg,#fff3,#c8c8c833);border-radius:8px;opacity:.3}.ft-family-label{position:absolute;font-size:12px;font-family:Georgia,serif;color:#4b5563;background:#fffc;padding:2px 6px;border-radius:4px}.ft-unit-box{position:absolute;border:1px solid rgba(99,102,241,.2);background:#6366f10d;border-radius:8px}.ft-node-box{position:absolute;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:8px;background:linear-gradient(145deg,#fff,#f1f5f9);box-shadow:0 2px 8px #0000001a;transition:transform .2s ease,box-shadow .2s ease;min-height:40px;padding:8px}.ft-node-box:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.ft-node-box--male{background:linear-gradient(145deg,#dbeafe,#bfdbfe);border:1px solid #3b82f6}.ft-node-box--female{background:linear-gradient(145deg,#fce7f3,#fbcfe8);border:1px solid #ec4899}.ft-node-box--root{border:2px solid #7c3aed;background:linear-gradient(145deg,#f3e8ff,#ddd6fe)}.ft-node-label{font-size:12px;font-family:Georgia,serif;color:#1f2937;text-align:center;padding:4px;overflow:visible;text-overflow:unset;white-space:normal;line-height:1.2}.ft-subtree-indicator{position:absolute;width:10px;height:10px;border-radius:50%;background-color:#10b981;border:1px solid #ffffff;box-shadow:0 0 4px #0003;transition:transform .2s ease}.ft-node-box:hover .ft-subtree-indicator{transform:scale(1.2)}.ft-error-message{text-align:center;padding:3rem;color:#e53e3e;background:#fff;border-radius:14px;box-shadow:0 4px 20px #0000001a}.ft-error-message p{margin-bottom:2rem;font-size:1.2rem}@media (max-width: 768px){.ft-tree-container{transform:scale(.8);transform-origin:top center}.ft-node-box,.ft-node-label{font-size:10px}}:root{--color-primary: #2c3e50;--color-primary-light: #34495e;--color-primary-dark: #1a252f;--color-accent: #3498db;--color-accent-light: #5dade2;--color-accent-dark: #2980b9;--color-success: #27ae60;--color-warning: #f39c12;--color-danger: #e74c3c;--color-neutral-50: #fafbfc;--color-neutral-100: #f4f6f8;--color-neutral-200: #e9ecef;--color-neutral-300: #dee2e6;--color-neutral-400: #ced4da;--color-neutral-500: #8b949e;--color-neutral-600: #6c757d;--color-neutral-700: #495057;--color-neutral-800: #343a40;--color-neutral-900: #212529;--font-family-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--z-modal: 1000;--z-overlay: 999;--z-dropdown: 50}.login-container{max-width:400px;margin:var(--space-16) auto;padding:var(--space-10);background:var(--color-neutral-50);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);position:relative;overflow:hidden;font-family:var(--font-family-primary)}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-accent),var(--color-primary))}.login-container h1{text-align:center;margin-bottom:var(--space-8);color:var(--color-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:-.025em}.login-form{display:flex;flex-direction:column;gap:var(--space-6)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-700);letter-spacing:.01em}.form-group input{padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-neutral-300);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-family:inherit;background:#fff;color:var(--color-neutral-900);transition:all var(--transition-fast)}.form-group input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #3498db1a}.submit-button{padding:var(--space-3) var(--space-6);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:inherit;cursor:pointer;transition:all var(--transition-fast);margin-top:var(--space-2)}.submit-button:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.error-message{color:var(--color-danger);margin-top:var(--space-4);text-align:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--space-2);border-radius:var(--radius-sm);background-color:#e74c3c1a}@media (max-width: 768px){.login-container{margin:var(--space-8) var(--space-4);padding:var(--space-8)}}@media (max-width: 480px){.login-container{padding:var(--space-6)}.login-container h1{font-size:var(--font-size-xl)}}@media (prefers-color-scheme: dark){.login-container{background:var(--color-neutral-100)}.form-group input{background:var(--color-neutral-100);color:var(--color-neutral-900);border-color:var(--color-neutral-300)}}
