.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-height);background:#ffffffd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:all var(--duration) var(--ease)}.nav--scrolled{background:#fffffff5;border-bottom-color:var(--border-light);box-shadow:var(--shadow-sm)}.nav__inner{display:flex;align-items:center;justify-content:space-between;height:100%}.nav__logo{display:flex;align-items:center;gap:var(--sp-2);z-index:110}.nav__logo-img{width:32px;height:32px;object-fit:contain}.nav__logo-text{font-size:1.25rem;font-weight:700;color:var(--navy);letter-spacing:-.02em}.nav__links{display:none;align-items:center;gap:var(--sp-1)}.nav__links li a{display:flex;align-items:center;padding:var(--sp-2) var(--sp-3);font-size:.875rem;font-weight:500;color:var(--text-secondary);border-radius:var(--radius-sm);transition:color var(--duration) var(--ease)}.nav__links li a:hover,.nav__links li a.active{color:var(--navy)}.nav__hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:48px;height:48px;padding:12px;z-index:110}.nav__hamburger span{display:block;width:100%;height:2px;background:var(--navy);border-radius:2px;transition:all var(--duration) var(--ease);transform-origin:center}.nav__hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav__hamburger.open span:nth-child(2){opacity:0}.nav__hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a162866;z-index:90;animation:fade-in .2s ease}.nav__drawer{position:fixed;top:0;right:0;width:280px;height:100dvh;background:var(--surface);z-index:95;padding:calc(var(--nav-height) + var(--sp-8)) var(--sp-6) var(--sp-8);transform:translate(100%);transition:transform var(--duration) var(--ease);overflow-y:auto}.nav__drawer--open{transform:translate(0)}.nav__drawer ul{display:flex;flex-direction:column;gap:var(--sp-1)}.nav__drawer li a{display:block;padding:var(--sp-3) var(--sp-4);font-size:1.0625rem;font-weight:500;color:var(--text-secondary);border-radius:var(--radius-sm);min-height:48px;display:flex;align-items:center;transition:all var(--duration) var(--ease)}.nav__drawer li a:hover,.nav__drawer li a.active{color:var(--navy);background:var(--surface-alt)}@media(min-width:1024px){.nav__links{display:flex}.nav__hamburger,.nav__drawer,.nav__overlay{display:none!important}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.footer{background:var(--navy);color:#ffffffb3;padding:var(--sp-12) 0 var(--sp-8)}.footer__grid{display:grid;gap:var(--sp-8)}.footer__brand p{color:#ffffff80;font-size:.875rem;margin-top:var(--sp-3);max-width:300px}.footer__logo{display:flex;align-items:center;gap:var(--sp-2)}.footer__logo img{width:28px;height:28px;object-fit:contain}.footer__logo span{font-size:1.125rem;font-weight:700;color:#fff}.footer__col h4{font-size:.8125rem;font-weight:600;color:#fff6;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--sp-4)}.footer__col ul{display:flex;flex-direction:column;gap:var(--sp-2)}.footer__col li,.footer__col a{font-size:.9375rem;color:#ffffffb3;transition:color var(--duration) var(--ease)}.footer__col a:hover{color:var(--gold-light)}.footer__bottom{margin-top:var(--sp-10);padding-top:var(--sp-6);border-top:1px solid rgba(255,255,255,.1)}.footer__bottom p{font-size:.8125rem;color:#ffffff59}@media(min-width:640px){.footer__grid{grid-template-columns:2fr 1fr 1fr}}.hero{position:relative;min-height:100dvh;display:flex;align-items:center;background:var(--navy);padding:calc(var(--nav-height) + var(--sp-12)) 0 var(--sp-12);overflow:hidden}.hero__slideshow{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden}.hero__slide{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.5s ease-in-out;will-change:opacity;transform:scale(1);animation:none}.hero__slide--active{opacity:1;animation:hero-ken-burns 6s ease-in-out forwards}@keyframes hero-ken-burns{0%{transform:scale(1)}to{transform:scale(1.08)}}.hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,#0a192fe0 30%,#142846d1);z-index:1}.hero__content{position:relative;z-index:2}.hero__title{color:#fff;font-size:2.25rem;font-weight:700;line-height:1.15;margin:var(--sp-4) 0;letter-spacing:-.03em}.hero__accent{color:var(--gold)}.hero__sub{color:#ffffffa6;font-size:1rem;max-width:480px;margin-bottom:var(--sp-8);line-height:1.7}.hero__actions{display:flex;flex-direction:column;gap:var(--sp-3);margin-bottom:var(--sp-10)}.hero__trust{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap}.hero__trust-item{display:flex;flex-direction:column}.hero__trust-item strong{font-size:1.25rem;font-weight:700;color:var(--gold)}.hero__trust-item span{font-size:.75rem;color:#ffffff73;text-transform:uppercase;letter-spacing:.06em;font-weight:500}.hero__trust-sep{width:1px;height:28px;background:#ffffff26}@media(min-width:640px){.hero{padding:calc(var(--nav-height) + var(--sp-20)) 0 var(--sp-20)}.hero__title{font-size:3rem}.hero__actions{flex-direction:row}}@media(min-width:1024px){.hero__title{font-size:4rem}.hero__sub{font-size:1.125rem}}.stats{background:var(--surface);border-bottom:1px solid var(--border-light);padding:var(--sp-8) 0}.stats__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-6)}.stats__item{text-align:center}.stats__value{font-size:1.5rem;font-weight:700;color:var(--navy);letter-spacing:-.02em}.stats__label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:500;margin-top:var(--sp-1)}@media(min-width:640px){.stats__grid{grid-template-columns:repeat(4,1fr)}.stats__value{font-size:1.75rem}}.about{display:grid;gap:var(--sp-10);align-items:center}.about__text .section-header{margin-bottom:var(--sp-6)}.about__text .section-header .badge{margin-bottom:var(--sp-3)}.about__text p{font-size:.9375rem}.about__image img{border-radius:var(--radius-lg);width:100%;height:300px;object-fit:cover}@media(min-width:640px){.about__image img{height:360px}}@media(min-width:1024px){.about{grid-template-columns:1fr 1fr;gap:var(--sp-16)}.about__image img{height:420px}}.packages-section{background:var(--surface-alt)}.packages__grid{display:grid;gap:var(--sp-5);margin-bottom:var(--sp-5)}.packages__card h3{font-size:1.0625rem;margin-bottom:var(--sp-4);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border-light)}.packages__items{display:flex;flex-direction:column;gap:var(--sp-3)}.packages__row{display:flex;justify-content:space-between;align-items:center;font-size:.9375rem;gap:var(--sp-3)}.packages__row span:first-child{color:var(--text-secondary)}.packages__price{font-weight:600;color:var(--navy);white-space:nowrap}.packages__note{font-size:.8125rem;color:var(--text-muted);margin-top:var(--sp-4)}.packages__warranty{margin-top:0}.packages__warranty h3{font-size:1.0625rem;margin-bottom:var(--sp-4)}.packages__warranty-grid{display:grid;gap:var(--sp-3)}.packages__warranty-item{display:flex;flex-direction:column;gap:var(--sp-1);font-size:.9375rem}.packages__warranty-item strong{color:var(--navy);font-weight:600}.packages__warranty-item span{color:var(--text-secondary)}@media(min-width:640px){.packages__grid,.packages__warranty-grid{grid-template-columns:1fr 1fr}}.installs__grid{display:grid;gap:var(--sp-5)}.installs__skeleton{min-height:320px}.installs__card{padding:0;overflow:hidden}.installs__img{height:200px;overflow:hidden}.installs__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.installs__card:hover .installs__img img{transform:scale(1.04)}.installs__info{padding:var(--sp-5)}.installs__info h3{font-size:1rem;margin-bottom:var(--sp-1)}.installs__info p{font-size:.875rem}@media(min-width:640px){.installs__grid{grid-template-columns:repeat(3,1fr)}.installs__img{height:220px}}.benefits__grid{display:grid;gap:var(--sp-5)}.benefits__card{text-align:center;padding:var(--sp-8) var(--sp-6)}.benefits__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius);background:#c9a84c1a;color:var(--gold-dim);margin-bottom:var(--sp-4)}.benefits__card h3{margin-bottom:var(--sp-2)}.benefits__card p{font-size:.9375rem}@media(min-width:640px){.benefits__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.benefits__grid{grid-template-columns:repeat(4,1fr)}}.calc{max-width:640px;margin:0 auto}.calc__label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--sp-3)}.calc__options{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-2)}.calc__btn{padding:var(--sp-3) var(--sp-4);min-height:48px;font-size:.9375rem;font-weight:500;border-radius:var(--radius-sm);border:1.5px solid var(--border);color:var(--text-secondary);background:var(--surface);transition:all var(--duration) var(--ease)}.calc__btn:hover{border-color:var(--navy);color:var(--navy)}.calc__btn--active{background:var(--navy);color:#fff;border-color:var(--navy)}.calc__results{display:grid;gap:var(--sp-5);margin-top:var(--sp-8);padding:var(--sp-6);background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius)}.calc__result{text-align:center}.calc__result-label{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--sp-1)}.calc__result-value{font-size:1.5rem;font-weight:700;color:var(--navy)}.calc__divider{height:1px;background:var(--border-light)}.calc__note{font-size:.8125rem;color:var(--text-muted);text-align:center;margin-top:var(--sp-5)}@media(min-width:640px){.calc__options{grid-template-columns:repeat(4,1fr)}.calc__results{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center}.calc__divider{width:1px;height:40px;background:var(--border-light)}}.testimonials__grid{display:grid;gap:var(--sp-5)}.testimonials__card{padding:var(--sp-6)}.testimonials__text{font-size:1rem;color:var(--text);font-style:italic;line-height:1.7;margin-bottom:var(--sp-6)}.testimonials__author{display:flex;align-items:center;gap:var(--sp-3)}.testimonials__avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--navy);color:var(--gold-light);display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:600;flex-shrink:0}.testimonials__author strong{display:block;font-size:.9375rem;color:var(--navy)}.testimonials__author span{font-size:.8125rem;color:var(--text-muted)}@media(min-width:640px){.testimonials__grid{grid-template-columns:repeat(3,1fr)}}.faq__list{max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:var(--sp-2)}.faq__item{border:1px solid var(--border-light);border-radius:var(--radius);background:var(--surface);overflow:hidden;transition:border-color var(--duration) var(--ease)}.faq__item:hover{border-color:var(--border)}.faq__question{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--sp-4) var(--sp-5);min-height:56px;font-size:.9375rem;font-weight:500;color:var(--navy);text-align:left;gap:var(--sp-3)}.faq__chevron{flex-shrink:0;color:var(--text-muted);transition:transform var(--duration) var(--ease)}.faq__item--open .faq__chevron{transform:rotate(180deg)}.faq__answer{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}.faq__item--open .faq__answer{max-height:200px}.faq__answer p{padding:0 var(--sp-5) var(--sp-5);font-size:.9375rem}.contact-section{background:var(--navy);padding:var(--sp-16) 0;text-align:center}.contact__inner{display:flex;flex-direction:column;align-items:center;gap:var(--sp-6)}.contact__inner .section-header{margin-bottom:0}.contact__area{font-size:.8125rem;color:#fff6;margin-top:var(--sp-2)}@media(min-width:1024px){.contact-section{padding:var(--sp-24) 0}}.back-to-top{position:fixed;bottom:90px;right:20px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--navy);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(12px);transition:all var(--duration) var(--ease);z-index:50}.back-to-top--visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{box-shadow:var(--shadow-lg)}.messenger-fab{position:fixed;bottom:24px;right:20px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:#0084ff;border-radius:var(--radius-full);box-shadow:0 4px 16px #0084ff59;transition:all var(--duration) var(--ease);z-index:50}.messenger-fab:hover{transform:scale(1.08);box-shadow:0 6px 24px #0084ff73}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0a1628eb;display:flex;align-items:center;justify-content:center;animation:fade-in .2s ease;padding:var(--sp-4)}.lightbox__content{position:relative;max-width:900px;width:100%;display:flex;flex-direction:column;align-items:center}.lightbox__img{max-width:100%;max-height:80dvh;object-fit:contain;border-radius:var(--radius);-webkit-user-select:none;user-select:none}.lightbox__close{position:absolute;top:-48px;right:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:#ffffffb3;transition:color var(--duration) var(--ease)}.lightbox__close:hover{color:#fff}.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:#ffffffb3;background:#ffffff1a;border-radius:var(--radius-full);transition:all var(--duration) var(--ease)}.lightbox__nav:hover{color:#fff;background:#fff3}.lightbox__nav--prev{left:-8px}.lightbox__nav--next{right:-8px}.lightbox__caption{margin-top:var(--sp-4);font-size:.8125rem;color:#ffffff80;font-weight:500;letter-spacing:.05em}@media(min-width:640px){.lightbox__nav--prev{left:-56px}.lightbox__nav--next{right:-56px}}.gallery-hero{background:var(--navy);padding:calc(var(--nav-height) + var(--sp-12)) 0 var(--sp-12);text-align:center}.gallery-hero .badge{margin-bottom:var(--sp-4)}.gallery-hero h1{color:#fff;font-size:2rem;margin-bottom:var(--sp-3)}.gallery-hero p{color:#fff9;font-size:1rem;max-width:500px;margin:0 auto}@media(min-width:640px){.gallery-hero{padding:calc(var(--nav-height) + var(--sp-16)) 0 var(--sp-16)}.gallery-hero h1{font-size:2.5rem}}.gallery-filters{display:flex;gap:var(--sp-2);overflow-x:auto;padding-bottom:var(--sp-2);margin-bottom:var(--sp-8);-webkit-overflow-scrolling:touch;scrollbar-width:none}.gallery-filters::-webkit-scrollbar{display:none}.gallery-filter{padding:var(--sp-2) var(--sp-4);min-height:44px;font-size:.875rem;font-weight:500;color:var(--text-secondary);border-radius:var(--radius-full);border:1.5px solid var(--border);background:var(--surface);white-space:nowrap;transition:all var(--duration) var(--ease);flex-shrink:0}.gallery-filter:hover{border-color:var(--navy);color:var(--navy)}.gallery-filter--active{background:var(--navy);color:#fff;border-color:var(--navy)}.gallery-grid{display:grid;gap:var(--sp-5)}.gallery-skeleton{min-height:320px}.gallery-empty{grid-column:1 / -1;text-align:center;padding:var(--sp-16) 0;color:var(--text-muted)}.gallery-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:all var(--duration) var(--ease)}.gallery-card:hover{box-shadow:var(--shadow);border-color:var(--border)}.gallery-card__img{position:relative;height:220px;overflow:hidden}.gallery-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.gallery-card:hover .gallery-card__img img{transform:scale(1.04)}.gallery-card__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 50%,#0a162899);display:flex;align-items:flex-end;justify-content:flex-end;padding:var(--sp-3);opacity:0;transition:opacity var(--duration) var(--ease)}.gallery-card:hover .gallery-card__overlay{opacity:1}.gallery-card__count{font-size:.75rem;font-weight:500;color:#fff;background:#0a162880;padding:var(--sp-1) var(--sp-3);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.gallery-card__info{padding:var(--sp-4) var(--sp-5)}.gallery-card__info h3{font-size:1rem;margin-bottom:var(--sp-1)}.gallery-card__specs{font-size:.875rem;color:var(--text-secondary)}.gallery-card__location{font-size:.8125rem;color:var(--text-muted);margin-top:var(--sp-1)}@media(min-width:640px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}.gallery-cta{text-align:center;margin-top:var(--sp-12);padding:var(--sp-8) var(--sp-6);display:flex;flex-direction:column;align-items:center;gap:var(--sp-3)}.gallery-cta strong{font-size:1.0625rem;color:var(--navy)}.gallery-cta p{font-size:.9375rem;max-width:480px}.admin-loading{display:flex;align-items:center;justify-content:center;min-height:100dvh}.admin-loading-inline{display:flex;justify-content:center;padding:var(--sp-12) 0}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--navy);border-radius:50%;animation:spin .7s linear infinite}.admin-login{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--sp-5);background:var(--bg)}.admin-login__card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);padding:var(--sp-8)}.admin-login__header{text-align:center;margin-bottom:var(--sp-8)}.admin-login__logo{width:48px;height:48px;margin:0 auto var(--sp-4)}.admin-login__header h1{font-size:1.375rem;margin-bottom:var(--sp-1)}.admin-login__header p{font-size:.875rem;color:var(--text-muted)}.admin-login__form{display:flex;flex-direction:column;gap:var(--sp-4)}.admin-field{display:flex;flex-direction:column;gap:var(--sp-1)}.admin-field label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.admin-field input,.admin-field select,.admin-field textarea{padding:var(--sp-3) var(--sp-4);font-size:.9375rem;font-family:var(--font);border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);min-height:48px;transition:border-color var(--duration) var(--ease)}.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus{outline:none;border-color:var(--navy)}.admin-field textarea{resize:vertical;min-height:80px}.admin-error{font-size:.8125rem;color:var(--error);padding:var(--sp-2) var(--sp-3);background:#ef444414;border-radius:var(--radius-sm)}.admin-header{background:var(--surface);border-bottom:1px solid var(--border-light);padding:var(--sp-4) 0;position:sticky;top:0;z-index:50}.admin-header__inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-3)}.admin-header h1{font-size:1.125rem;display:flex;align-items:center}.admin-header__actions{display:flex;align-items:center;gap:var(--sp-3)}.admin-header__email{font-size:.8125rem;color:var(--text-muted);display:none}@media(min-width:640px){.admin-header__email{display:inline}}.admin-main{padding:var(--sp-6) var(--sp-5)}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-6)}.admin-toolbar h2{font-size:1.125rem}.admin-empty{text-align:center;padding:var(--sp-12) 0;color:var(--text-muted)}.admin-projects{display:flex;flex-direction:column;gap:var(--sp-3)}.admin-project-card{display:grid;grid-template-columns:80px 1fr;gap:var(--sp-4);padding:var(--sp-4);background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);align-items:start}.admin-project-card__img{width:80px;height:80px;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-alt);flex-shrink:0}.admin-project-card__img img{width:100%;height:100%;object-fit:cover}.admin-project-card__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:.6875rem;color:var(--text-muted)}.admin-project-card__info h3{font-size:.9375rem;margin-bottom:var(--sp-1)}.admin-project-card__info p{font-size:.8125rem}.admin-project-card__meta{color:var(--text-muted);font-size:.75rem;margin-top:var(--sp-1)}.admin-project-card__actions{display:flex;gap:var(--sp-2);grid-column:1 / -1}.admin-project-card__actions .btn{min-height:40px;font-size:.8125rem;padding:var(--sp-2) var(--sp-4)}@media(min-width:640px){.admin-project-card{grid-template-columns:80px 1fr auto}.admin-project-card__actions{grid-column:auto;align-self:center}}.admin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0a162880;display:flex;align-items:flex-end;justify-content:center;padding:0;animation:fade-in .2s ease}@media(min-width:640px){.admin-modal-overlay{align-items:center;padding:var(--sp-5)}}.admin-modal{background:var(--surface);width:100%;max-width:560px;max-height:90dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow-y:auto}@media(min-width:640px){.admin-modal{border-radius:var(--radius-lg)}}.admin-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border-light);position:sticky;top:0;background:var(--surface);z-index:1}.admin-modal__header h2{font-size:1.125rem}.admin-modal__close{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--text-muted);border-radius:var(--radius-sm)}.admin-modal__close:hover{background:var(--surface-alt);color:var(--text)}.admin-modal__form{padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-5)}.admin-modal__actions{display:flex;gap:var(--sp-3);justify-content:flex-end;padding-top:var(--sp-3);border-top:1px solid var(--border-light)}.admin-photos label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--sp-2)}.admin-photos__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:var(--sp-2)}.admin-photos__item{position:relative;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden}.admin-photos__item img{width:100%;height:100%;object-fit:cover}.admin-photos__item button{position:absolute;top:2px;right:2px;width:24px;height:24px;background:#0009;color:#fff;border-radius:var(--radius-full);font-size:.875rem;display:flex;align-items:center;justify-content:center}.admin-tabs{display:flex;gap:0;border-bottom:2px solid var(--border-light);margin-bottom:var(--sp-6);overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-tab{padding:var(--sp-3) var(--sp-5);font-size:.875rem;font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;transition:all var(--duration) var(--ease);background:none;cursor:pointer}.admin-tab:hover{color:var(--text)}.admin-tab.active{color:var(--navy);border-bottom-color:var(--navy);font-weight:600}.admin-workers{display:flex;flex-direction:column;gap:var(--sp-3)}.admin-worker-card{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4);background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius)}.admin-worker-card__avatar{width:48px;height:48px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:1rem;font-weight:700;flex-shrink:0}.admin-worker-card__info{flex:1;min-width:0}.admin-worker-card__info h3{font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-worker-card__info p{font-size:.75rem;color:var(--text-muted);margin-top:2px}.admin-worker-card__actions{flex-shrink:0}.reg-camera-wrap{position:relative;width:100%;aspect-ratio:4/3;background:#000;border-radius:var(--radius-sm);overflow:hidden;margin-bottom:var(--sp-3)}.reg-camera-wrap video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.reg-camera-wrap canvas{position:absolute;top:0;right:0;bottom:0;left:0;transform:scaleX(-1)}.reg-capture-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.reg-capture-frame{width:160px;height:160px;position:relative}.reg-capture-frame:before,.reg-capture-frame:after,.reg-capture-frame span:before,.reg-capture-frame span:after{content:"";position:absolute;width:20px;height:20px;border-color:var(--gold);border-style:solid;border-width:0}.reg-capture-frame:before{top:0;left:0;border-top-width:3px;border-left-width:3px;border-top-left-radius:4px}.reg-capture-frame:after{top:0;right:0;border-top-width:3px;border-right-width:3px;border-top-right-radius:4px}.reg-capture-frame span:before{bottom:0;left:0;border-bottom-width:3px;border-left-width:3px;border-bottom-left-radius:4px}.reg-capture-frame span:after{bottom:0;right:0;border-bottom-width:3px;border-right-width:3px;border-bottom-right-radius:4px}.reg-status{font-size:.78rem;text-align:center;margin-bottom:var(--sp-3);min-height:1.2em}.reg-status--ok{color:var(--success)}.reg-status--warn{color:var(--gold)}.reg-status--err{color:var(--error)}.att-filters{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-bottom:var(--sp-5)}.att-filters select,.att-filters input[type=date]{padding:var(--sp-2) var(--sp-3);font-size:.875rem;font-family:var(--font);border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);min-height:40px;flex:1;min-width:130px}.att-log-table{width:100%;border-collapse:collapse;font-size:.8125rem}.att-log-table th{text-align:left;padding:var(--sp-2) var(--sp-3);font-size:.75rem;font-weight:600;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;border-bottom:2px solid var(--border-light);white-space:nowrap}.att-log-table td{padding:var(--sp-3);border-bottom:1px solid var(--border-light);color:var(--text-secondary);vertical-align:middle}.att-log-table tr:last-child td{border-bottom:none}.att-log-table tr:hover td{background:var(--surface-alt)}.badge-in{background:#10b9811a;color:var(--success);padding:2px 8px;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.badge-out{background:#ef444414;color:var(--error);padding:2px 8px;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.att-table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius)}.dtr-controls{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-bottom:var(--sp-6);align-items:flex-end}.dtr-controls select{padding:var(--sp-2) var(--sp-3);font-size:.875rem;font-family:var(--font);border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);min-height:40px;flex:1;min-width:140px}.dtr-table-wrap{overflow-x:auto;margin-bottom:var(--sp-5)}.dtr-table{width:100%;border-collapse:collapse;font-size:.8125rem;min-width:500px}.dtr-table th{padding:var(--sp-3);background:var(--navy);color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-align:center;white-space:nowrap}.dtr-table td{padding:var(--sp-3);text-align:center;border-bottom:1px solid var(--border-light);color:var(--text-secondary);white-space:nowrap}.dtr-table tr:nth-child(2n) td{background:var(--surface-alt)}.dtr-table tr.dtr-sunday td{background:#ef44440a;color:var(--error)}.dtr-table tr.dtr-absent td{color:var(--text-muted)}.dtr-table tfoot td{font-weight:700;color:var(--navy);border-top:2px solid var(--navy);background:var(--surface)}.dtr-header{text-align:center;margin-bottom:var(--sp-6);padding:var(--sp-5);background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius)}.dtr-header h3{font-size:1rem;color:var(--navy);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--sp-1)}.dtr-header p{font-size:.8125rem}.dtr-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-5)}.dtr-summary-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:var(--sp-4);text-align:center}.dtr-summary-card__value{font-size:1.5rem;font-weight:700;color:var(--navy);line-height:1;margin-bottom:4px}.dtr-summary-card__label{font-size:.7rem;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}@media print{.admin-header,.admin-tabs,.dtr-controls,.no-print{display:none!important}.admin-main{padding:0}body{background:#fff}}@media(min-width:640px){.admin-main{padding:var(--sp-8)}}.att-root{min-height:100dvh;background:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--sp-5) var(--sp-5) var(--sp-10);position:relative;overflow:hidden}.att-root:before{content:"";position:absolute;top:-120px;right:-80px;width:300px;height:300px;background:radial-gradient(circle,rgba(201,168,76,.12) 0%,transparent 70%);pointer-events:none}.att-header{width:100%;max-width:420px;display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) 0 var(--sp-6)}.att-header__logo{display:flex;align-items:center;gap:var(--sp-3)}.att-header__logo img{width:32px;height:32px}.att-header__logo span{font-size:1rem;font-weight:700;color:var(--gold);letter-spacing:.04em;text-transform:uppercase}.att-header__link{font-size:.8rem;color:#fff6;text-decoration:none;transition:color var(--duration) var(--ease)}.att-header__link:hover{color:var(--gold)}.att-card{width:100%;max-width:420px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:var(--sp-8) var(--sp-6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.att-welcome{text-align:center}.att-welcome__time{font-size:3rem;font-weight:700;color:#fff;letter-spacing:-.03em;line-height:1;margin-bottom:var(--sp-2)}.att-welcome__date{font-size:.9rem;color:#ffffff73;margin-bottom:var(--sp-8);letter-spacing:.02em}.att-welcome__icon{width:80px;height:80px;background:#c9a84c1a;border:2px solid rgba(201,168,76,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--sp-6)}.att-welcome__icon svg{width:36px;height:36px;color:var(--gold)}.att-welcome h2{color:#fff;font-size:1.25rem;margin-bottom:var(--sp-2)}.att-welcome p{color:#ffffff73;font-size:.875rem;margin-bottom:var(--sp-8)}.att-camera{text-align:center}.att-camera__label{font-size:.8rem;font-weight:600;color:var(--gold);letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--sp-4)}.att-camera__container{position:relative;width:100%;aspect-ratio:1 / 1;max-width:320px;margin:0 auto var(--sp-5);border-radius:var(--radius);overflow:hidden;background:#000;border:2px solid rgba(255,255,255,.1)}.att-camera__video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.att-camera__canvas{position:absolute;top:0;left:0;width:100%;height:100%;transform:scaleX(-1)}.att-camera__overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.att-camera__frame{width:200px;height:200px;position:relative}.att-camera__frame:before,.att-camera__frame:after,.att-camera__frame span:before,.att-camera__frame span:after{content:"";position:absolute;width:28px;height:28px;border-color:var(--gold);border-style:solid;border-width:0}.att-camera__frame:before{top:0;left:0;border-top-width:3px;border-left-width:3px;border-top-left-radius:6px}.att-camera__frame:after{top:0;right:0;border-top-width:3px;border-right-width:3px;border-top-right-radius:6px}.att-camera__frame span:before{bottom:0;left:0;border-bottom-width:3px;border-left-width:3px;border-bottom-left-radius:6px}.att-camera__frame span:after{bottom:0;right:0;border-bottom-width:3px;border-right-width:3px;border-bottom-right-radius:6px}.att-camera__status{font-size:.8rem;margin-bottom:var(--sp-6)}.att-camera__status--scanning{color:#ffffff80}.att-camera__status--detected{color:var(--gold)}.att-camera__status--matched{color:var(--success)}.att-camera__status--error{color:var(--error)}@keyframes pulse-ring{0%{transform:scale(.95);opacity:1}70%{transform:scale(1.05);opacity:.5}to{transform:scale(.95);opacity:1}}.att-camera__container.scanning{animation:pulse-ring 2s ease-in-out infinite}.att-confirm{text-align:center}.att-confirm__avatar{width:72px;height:72px;background:linear-gradient(135deg,var(--navy-light),var(--navy-muted));border:2px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--sp-4);font-size:1.75rem;font-weight:700;color:var(--gold)}.att-confirm__name{color:#fff;font-size:1.25rem;font-weight:700;margin-bottom:var(--sp-1)}.att-confirm__role{color:#fff6;font-size:.8rem;margin-bottom:var(--sp-2)}.att-confirm__id{display:inline-block;background:#c9a84c1a;border:1px solid rgba(201,168,76,.2);color:var(--gold);font-size:.75rem;font-weight:600;letter-spacing:.06em;padding:var(--sp-1) var(--sp-3);border-radius:var(--radius-full);margin-bottom:var(--sp-6);text-transform:uppercase}.att-confirm__last{font-size:.78rem;color:#ffffff59;margin-bottom:var(--sp-6)}.att-confirm__actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);margin-bottom:var(--sp-4)}.att-btn-timein{background:var(--success);color:#fff;border-radius:var(--radius-sm);padding:var(--sp-4) var(--sp-5);font-size:.9rem;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);transition:all var(--duration) var(--ease);min-height:72px;justify-content:center}.att-btn-timein:hover{background:#0ea271}.att-btn-timein:disabled{opacity:.5;cursor:not-allowed}.att-btn-timeout{background:#ef444426;border:1.5px solid var(--error);color:var(--error);border-radius:var(--radius-sm);padding:var(--sp-4) var(--sp-5);font-size:.9rem;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);transition:all var(--duration) var(--ease);min-height:72px;justify-content:center}.att-btn-timeout:hover{background:#ef444440}.att-btn-timeout:disabled{opacity:.5;cursor:not-allowed}.att-btn-sub{font-size:.7rem;font-weight:400;opacity:.7}.att-success{text-align:center}.att-success__icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--sp-5)}.att-success__icon--in{background:#10b98126;border:2px solid var(--success)}.att-success__icon--out{background:#ef44441a;border:2px solid var(--error)}.att-success__icon svg{width:36px;height:36px}.att-success__icon--in svg{color:var(--success)}.att-success__icon--out svg{color:var(--error)}.att-success h2{color:#fff;margin-bottom:var(--sp-2)}.att-success__worker{color:var(--gold);font-size:1rem;font-weight:600;margin-bottom:var(--sp-1)}.att-success__time{color:#ffffff80;font-size:.875rem;margin-bottom:var(--sp-8)}.att-btn-primary{width:100%;background:var(--gold);color:var(--navy);border-radius:var(--radius-sm);padding:var(--sp-4) var(--sp-6);font-size:1rem;font-weight:700;transition:all var(--duration) var(--ease);min-height:52px;letter-spacing:.01em}.att-btn-primary:hover{background:var(--gold-dim);box-shadow:var(--shadow-gold)}.att-btn-primary:disabled{opacity:.5;cursor:not-allowed}.att-btn-secondary{width:100%;background:transparent;color:#ffffff80;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);padding:var(--sp-3) var(--sp-6);font-size:.875rem;font-weight:500;transition:all var(--duration) var(--ease);margin-top:var(--sp-3);min-height:44px}.att-btn-secondary:hover{border-color:#ffffff40;color:#fffc}.att-loading{text-align:center;padding:var(--sp-10) 0}.att-loading__spinner{width:40px;height:40px;border:3px solid rgba(201,168,76,.2);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto var(--sp-4)}@keyframes spin{to{transform:rotate(360deg)}}.att-loading p{color:#fff6;font-size:.875rem}.att-error-msg{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--error);border-radius:var(--radius-sm);padding:var(--sp-3) var(--sp-4);font-size:.8rem;text-align:center;margin-bottom:var(--sp-4)}.att-divider{display:flex;align-items:center;gap:var(--sp-3);margin:var(--sp-5) 0}.att-divider span{font-size:.7rem;color:#ffffff40;letter-spacing:.06em;text-transform:uppercase}.att-dots{display:inline-flex;gap:4px;margin-left:4px}.att-dots span{width:5px;height:5px;background:currentColor;border-radius:50%;animation:dot-bounce 1.4s ease-in-out infinite}.att-dots span:nth-child(2){animation-delay:.2s}.att-dots span:nth-child(3){animation-delay:.4s}@keyframes dot-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}.att-auth{display:flex;flex-direction:column}.att-auth__clock{text-align:center;margin-bottom:var(--sp-5)}.att-auth__clock .att-welcome__time{font-size:2.25rem;margin-bottom:var(--sp-1)}.att-auth__icon{width:56px;height:56px;background:#c9a84c1a;border:2px solid rgba(201,168,76,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--sp-4)}.att-auth__icon svg{width:26px;height:26px;color:var(--gold)}.att-form{display:flex;flex-direction:column;gap:var(--sp-4)}.att-field{display:flex;flex-direction:column;gap:var(--sp-2)}.att-field label{font-size:.8rem;font-weight:500;color:#ffffff8c;letter-spacing:.02em}.att-field input{background:#ffffff0f;border:1.5px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);padding:var(--sp-3) var(--sp-4);font-size:.9375rem;font-family:var(--font);color:#fff;min-height:48px;transition:border-color var(--duration) var(--ease);-webkit-appearance:none;-moz-appearance:none;appearance:none}.att-field input::placeholder{color:#fff3}.att-field input:focus{outline:none;border-color:#c9a84c80;background:#ffffff14}.att-divider{display:flex;align-items:center;gap:var(--sp-3);margin:var(--sp-4) 0}.att-divider:before,.att-divider:after{content:"";flex:1;height:1px;background:#ffffff14}.att-divider span{font-size:.75rem;color:#ffffff40;text-transform:uppercase;letter-spacing:.06em}.att-back-btn{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:.8125rem;color:#fff6;background:none;border:none;cursor:pointer;padding:0;transition:color var(--duration) var(--ease);align-self:flex-start}.att-back-btn:hover{color:var(--gold)}@media(min-width:480px){.att-card{padding:var(--sp-10) var(--sp-8)}.att-welcome__time{font-size:3.5rem}.att-auth__clock .att-welcome__time{font-size:2.75rem}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--navy: #0A1628;--navy-light: #1A2A42;--navy-muted: #2A3F5F;--gold: #C9A84C;--gold-light: #E8D5A3;--gold-dim: #A08535;--bg: #FAFAF8;--surface: #FFFFFF;--surface-alt: #F5F5F3;--text: #1A1A1A;--text-secondary: #6B7280;--text-muted: #9CA3AF;--border: #E5E7EB;--border-light: #F3F4F6;--success: #10B981;--error: #EF4444;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--sp-20: 80px;--sp-24: 96px;--radius-sm: 6px;--radius: 12px;--radius-lg: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(10, 22, 40, .06);--shadow: 0 4px 12px rgba(10, 22, 40, .08);--shadow-lg: 0 12px 40px rgba(10, 22, 40, .12);--shadow-gold: 0 4px 20px rgba(201, 168, 76, .25);--ease: cubic-bezier(.4, 0, .2, 1);--duration: .3s;--container: 1200px;--nav-height: 60px}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font);font-size:16px;font-weight:400;line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font-family:var(--font);cursor:pointer;border:none;background:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--navy);letter-spacing:-.02em}h1{font-size:2rem;font-weight:700}h2{font-size:1.5rem}h3{font-size:1.125rem}p{color:var(--text-secondary);line-height:1.7}@media(min-width:640px){h1{font-size:2.75rem}h2{font-size:2rem}h3{font-size:1.25rem}}@media(min-width:1024px){h1{font-size:3.5rem}h2{font-size:2.5rem}h3{font-size:1.375rem}}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--sp-5)}@media(min-width:640px){.container{padding:0 var(--sp-8)}}@media(min-width:1024px){.container{padding:0 var(--sp-12)}}.section{padding:var(--sp-16) 0}@media(min-width:640px){.section{padding:var(--sp-20) 0}}@media(min-width:1024px){.section{padding:var(--sp-24) 0}}.section-header{margin-bottom:var(--sp-10)}.section-header h2{margin-bottom:var(--sp-3)}.section-header p{font-size:1rem;max-width:560px}.section-header.center{text-align:center}.section-header.center p{margin:0 auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-6);font-size:.9375rem;font-weight:500;border-radius:var(--radius-sm);min-height:48px;min-width:48px;transition:all var(--duration) var(--ease);white-space:nowrap}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-light);box-shadow:var(--shadow)}.btn-gold{background:var(--gold);color:var(--navy);font-weight:600}.btn-gold:hover{background:var(--gold-dim);box-shadow:var(--shadow-gold)}.btn-outline{border:1.5px solid var(--border);color:var(--text);background:transparent}.btn-outline:hover{border-color:var(--navy);color:var(--navy)}.btn-lg{padding:var(--sp-4) var(--sp-8);font-size:1rem;min-height:52px}.card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);padding:var(--sp-6);transition:all var(--duration) var(--ease)}.card:hover{box-shadow:var(--shadow);border-color:var(--border)}.badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-3);font-size:.75rem;font-weight:500;border-radius:var(--radius-full);background:var(--surface-alt);color:var(--text-secondary);letter-spacing:.02em;text-transform:uppercase}.badge-gold{background:#c9a84c1f;color:var(--gold-dim)}.skeleton{background:linear-gradient(90deg,var(--border-light) 25%,var(--surface-alt) 50%,var(--border-light) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.fade-up{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.fade-up.visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.fade-up{opacity:1;transform:none;transition:none}.skeleton{animation:none}html{scroll-behavior:auto}}.text-center{text-align:center}.text-gold{color:var(--gold)}.text-navy{color:var(--navy)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
