:root{--bg-primary: #FFF8F0;--bg-secondary: #FAF0E6;--bg-card: #FFFAF5;--text-primary: #2C1810;--text-secondary: #5C4033;--border-color: #DDD0C0;--green-primary: #8B4513;--green-light: #F5EDE0}.dark-theme{--bg-primary: #1C1410;--bg-secondary: #241A14;--bg-card: #2C2018;--text-primary: #E8D8C8;--text-secondary: #B09880;--border-color: #4A3828;--green-primary: #C08040;--green-light: #2C2018}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:Lato,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem;line-height:1.6;color:var(--text-primary);background-color:var(--bg-secondary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,Georgia,serif;font-weight:600;line-height:1.3;color:#2c1810}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}@media (max-width: 768px){h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.25rem}}a{color:#8b4513;text-decoration:none;transition:color .2s ease}a:hover{color:sienna}a:focus-visible{outline:2px solid #8B4513;outline-offset:2px;border-radius:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-family:Lato,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn:focus-visible{outline:2px solid #8B4513;outline-offset:2px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:disabled:hover{transform:none;box-shadow:none}.btn-primary{background:#8b4513;color:#fff}.btn-primary:hover:not(:disabled){background:sienna;transform:translateY(-1px);box-shadow:0 4px 12px #8b45134d}.btn-secondary{background:transparent;color:#8b4513;border:2px solid #8B4513}.btn-secondary:hover:not(:disabled){background:#8b4513;color:#fff}.btn-accent{background:#daa520;color:#2c1810}.btn-accent:hover:not(:disabled){background:#e8c55a}.btn-danger{background:#b71c1c;color:#fff}.btn-danger:hover:not(:disabled){background:#8b1515}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-lg{padding:1rem 2rem;font-size:1.125rem}.btn-full{width:100%}.form-group{margin-bottom:1.25rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:#2c1810}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem 1rem;font-family:Lato,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem;color:#2c1810;background:#fff;border:2px solid #DDD0C0;border-radius:8px;transition:border-color .2s ease,box-shadow .2s ease}.form-input:hover:not(:focus):not(:disabled),.form-select:hover:not(:focus):not(:disabled),.form-textarea:hover:not(:focus):not(:disabled){border-color:#c2ab8e}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#8b4513;box-shadow:0 0 0 3px #8b45131a}.form-input::placeholder,.form-select::placeholder,.form-textarea::placeholder{color:#8b7355}.form-input.error,.form-select.error,.form-textarea.error{border-color:#b71c1c}.form-input.error:focus,.form-select.error:focus,.form-textarea.error:focus{box-shadow:0 0 0 3px #b71c1c1a}.form-textarea{min-height:120px;resize:vertical}.form-error{margin-top:.25rem;font-size:.875rem;color:#b71c1c}.form-hint{margin-top:.25rem;font-size:.875rem;color:#8b7355}.card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.card-body{padding:1.25rem}.card-header{padding:1rem 1.25rem;border-bottom:1px solid #DDD0C0;background:#f5ede0}.card-footer{padding:1rem 1.25rem;border-top:1px solid #DDD0C0;background:#fafafa}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1rem}@media (min-width: 768px){.container{padding:0 1.5rem}}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(1,1fr)}@media (min-width: 768px){.grid-2{grid-template-columns:repeat(2,1fr)}}.grid-3{grid-template-columns:repeat(1,1fr)}@media (min-width: 480px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.grid-3{grid-template-columns:repeat(3,1fr)}}.grid-4{grid-template-columns:repeat(1,1fr)}@media (min-width: 480px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.grid-4{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1024px){.grid-4{grid-template-columns:repeat(4,1fr)}}.alert{padding:1rem 1.25rem;border-radius:8px;margin-bottom:1rem;font-weight:500}.alert-success{background:#afe2b2;color:#205823;border:1px solid #2E7D32}.alert-error{background:#f2adad;color:#8b1515;border:1px solid #B71C1C}.alert-warning{background:#ffbd9a;color:#9a3600;border:1px solid #E65100}.alert-info{background:#f6d7c0;color:#6b3410;border:1px solid #8B4513}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;border-radius:999px;text-transform:uppercase;letter-spacing:.025em}.badge-primary{background:#8b4513;color:#fff}.badge-accent{background:#daa520;color:#2c1810}.badge-success{background:#2e7d32;color:#fff}.badge-warning{background:#e65100;color:#fff}.badge-danger{background:#b71c1c;color:#fff}.spinner{width:40px;height:40px;border:4px solid #DDD0C0;border-top-color:#8b4513;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay{display:flex;align-items:center;justify-content:center;min-height:200px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.page{min-height:calc(100vh - 160px);padding:2rem 0}.page-header{margin-bottom:2rem}.page-header h1{margin-bottom:.5rem}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:#fff;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{padding:1.25rem;border-bottom:1px solid #DDD0C0;display:flex;align-items:center;justify-content:space-between}.modal-header h3{margin:0}.modal-body{padding:1.25rem}.modal-footer{padding:1rem 1.25rem;border-top:1px solid #DDD0C0;display:flex;gap:.75rem;justify-content:flex-end}.close-btn{background:none;border:none;font-size:1.5rem;color:#8b7355;cursor:pointer;padding:.25rem;line-height:1}.close-btn:hover{color:#2c1810}.close-btn:focus-visible{outline:2px solid #8B4513;outline-offset:2px;border-radius:4px}.pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:2rem}.pagination-btn{padding:.5rem 1rem;background:#fff;border:1px solid #DDD0C0;border-radius:6px;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){border-color:#8b4513;color:#8b4513}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn.active{background:#8b4513;color:#fff;border-color:#8b4513}.pagination-btn:focus-visible{outline:2px solid #8B4513;outline-offset:2px}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;background:#f5ede0;display:flex;align-items:center;justify-content:center;font-weight:600;color:#8b4513}.avatar-sm{width:32px;height:32px;font-size:.875rem}.avatar-lg{width:64px;height:64px;font-size:1.5rem}.avatar-xl{width:100px;height:100px;font-size:2.5rem}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem}.toast{padding:1rem 1.5rem;border-radius:8px;box-shadow:0 4px 12px #00000026;animation:slideIn .3s ease;max-width:400px}.toast-success{background:#2e7d32;color:#fff}.toast-error{background:#b71c1c;color:#fff}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media print{app-header,app-footer,app-toast-container,app-session-timeout-modal,app-cookie-consent{display:none!important}body{background:#fff}.main-content{padding:0;min-height:auto}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
