/*
Theme Name: ATimeCardCalculator — Fixed
Theme URI: https://atimecardcalculator.com/
Author: ATimeCardCalculator
Description: WordPress conversion of the ATimeCardCalculator React application with native pages, blog, Customizer-controlled ads, affiliate/payment links, and SEO-friendly sitemap support.
Version: 1.3.6
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: atcc
*/
html { scroll-behavior: smooth; }
body { margin: 0; }
.atcc-ad-slot { max-width: 80rem; margin: 1rem auto; padding: 0 1rem; }
.atcc-ad-inner { background:#fff; border:1px solid #e2e8f0; border-radius:.75rem; padding:1rem; text-align:center; overflow:hidden; }
.atcc-ad-label { display:block; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:#94a3b8; margin-bottom:.45rem; }
.atcc-sticky-product { position:sticky; top:0; z-index:60; background:#0f172a; color:white; border-bottom:1px solid #1e293b; }
.atcc-sticky-product a { color:inherit; text-decoration:none; }
.atcc-sticky-product-inner { max-width:80rem; margin:auto; padding:.55rem 1rem; display:flex; gap:.75rem; align-items:center; justify-content:center; font-size:.82rem; }
.atcc-sticky-side { position:fixed; right:12px; bottom:18px; z-index:55; width:min(320px,calc(100vw - 24px)); box-shadow:0 10px 30px rgba(15,23,42,.18); }
.atcc-sticky-side .atcc-ad-inner { position:relative; }
.atcc-sticky-close { position:absolute; top:5px; right:8px; border:0; background:transparent; cursor:pointer; font-size:18px; color:#64748b; }
.atcc-native-wrap{max-width:72rem;margin:0 auto;padding:2.5rem 1rem}.atcc-native-card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1.5rem}.atcc-native-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.atcc-native-card a{color:#2563eb;text-decoration:none}.atcc-native-card a:hover{text-decoration:underline}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media print{body{background:#fff!important;color:#000!important}header,footer,nav,.print\\:hidden,button,.fixed,aside{display:none!important}#timecard-calculator-app{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}table{border-collapse:collapse!important;width:100%!important}th,td{border:1px solid #cbd5e1!important}@page{margin:1.2cm;size:letter portrait}}

/* Pro payment confirmation */
.atcc-native-header{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.atcc-native-header-inner{max-width:1120px;height:72px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.atcc-native-brand{display:flex;align-items:center;gap:10px;color:#0f172a;text-decoration:none;font-size:20px;font-weight:800;letter-spacing:-.025em}.atcc-native-dot{color:#2563eb}.atcc-native-clock{width:38px;height:38px;border-radius:9px;background:#2563eb;color:#fff;display:grid;place-items:center;font-size:25px}.atcc-native-brand .custom-logo{max-height:44px;width:auto}.atcc-native-account{color:#1d4ed8;text-decoration:none;font-weight:700;font-size:14px}.atcc-native-wrap{max-width:760px;margin:0 auto;padding:48px 20px 72px}.atcc-pro-confirmation-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:32px;box-shadow:0 10px 30px rgba(15,23,42,.06)}.atcc-pro-confirmation-badge{display:inline-block;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.atcc-pro-confirmation-card h1{font-size:30px;line-height:1.15;margin:14px 0 10px;color:#0f172a}.atcc-pro-confirmation-card>p{color:#475569;line-height:1.7}.atcc-pro-form{display:grid;gap:18px;margin-top:26px}.atcc-pro-form label{display:grid;gap:7px;color:#334155;font-size:13px;font-weight:800}.atcc-pro-form input{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;padding:12px 13px;background:#f8fafc;font:inherit;color:#0f172a}.atcc-pro-form input:focus{background:#fff;outline:2px solid #93c5fd;border-color:#2563eb}.atcc-pro-form button{border:0;border-radius:10px;background:#2563eb;color:#fff;padding:13px 18px;font-weight:800;font-size:15px;cursor:pointer}.atcc-pro-form button:hover{background:#1d4ed8}.atcc-pro-notice{margin-top:20px;border-radius:10px;padding:14px 15px;font-size:14px;line-height:1.55}.atcc-pro-notice.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.atcc-pro-notice.info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.atcc-pro-notice.error{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}.atcc-pro-small{font-size:12px!important;color:#64748b!important;margin-top:18px!important}.atcc-native-footer{max-width:1120px;margin:0 auto;border-top:1px solid #e2e8f0;padding:24px 20px 38px;display:flex;justify-content:space-between;gap:16px;color:#64748b;font-size:13px}.atcc-native-footer a{color:#2563eb;text-decoration:none}@media(max-width:600px){.atcc-native-header-inner{height:64px;padding:0 14px}.atcc-native-brand{font-size:16px}.atcc-native-clock{width:34px;height:34px}.atcc-native-wrap{padding:28px 14px 48px}.atcc-pro-confirmation-card{padding:22px 18px}.atcc-pro-confirmation-card h1{font-size:25px}.atcc-native-footer{padding-left:14px;padding-right:14px;flex-direction:column}}

.atcc-register-card{max-width:620px;margin:0 auto}.atcc-register-card a{color:#2563eb;font-weight:700;text-decoration:none}.atcc-register-card a:hover{text-decoration:underline}

/* Account-state UI guards (v1.3.1). WordPress PHP supplies the initial account
   state; background refreshes keep these classes synchronized when available. */
body.atcc-account-state-pending .atcc-guest-only,
body.atcc-account-state-pending .atcc-upgrade-only,
body.atcc-account-state-pending .atcc-free-only,
body.atcc-account-state-pending .atcc-pro-only{visibility:hidden!important;}
body.atcc-user-logged-in .atcc-guest-only{display:none!important;}
body.atcc-user-logged-out .atcc-account-only{display:none!important;}
body.atcc-user-pro-active .atcc-free-only{display:none!important;}
body.atcc-user-pro-active .atcc-upgrade-only{display:none!important;}
body.atcc-user-free .atcc-pro-only{display:none!important;}

/* Text-free first-paint shell. React replaces this entire #root immediately after the app bundle loads. */
.atcc-seo-preload-h1{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.atcc-preload-shell{min-height:100vh;background:#f8fafc;color:transparent;overflow:hidden}
.atcc-preload-header{height:72px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:18px;padding:0 max(20px,calc((100vw - 1280px)/2));box-sizing:border-box}
.atcc-preload-logo,.atcc-preload-nav,.atcc-preload-line,.atcc-preload-card{display:block;background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);background-size:200% 100%;animation:atcc-preload-shimmer 1.15s linear infinite;border-radius:8px}
.atcc-preload-logo{width:220px;height:32px;margin-right:auto}
.atcc-preload-nav{width:92px;height:18px}.atcc-preload-nav-short{width:68px}
.atcc-preload-main{max-width:1120px;margin:0 auto;padding:58px 20px 80px;box-sizing:border-box}
.atcc-preload-line{height:16px;margin-bottom:14px}.atcc-preload-line-title{height:38px;width:min(560px,72%);margin-bottom:22px}.atcc-preload-line-wide{width:min(760px,92%)}.atcc-preload-line-mid{width:min(620px,78%)}
.atcc-preload-card{height:300px;margin-top:34px;border-radius:18px}
@keyframes atcc-preload-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
@media(max-width:640px){.atcc-preload-header{height:64px;padding:0 14px}.atcc-preload-logo{width:170px;height:28px}.atcc-preload-nav{display:none}.atcc-preload-main{padding:36px 14px 56px}.atcc-preload-line-title{width:86%;height:32px}.atcc-preload-card{height:360px;margin-top:28px}}
@media(prefers-reduced-motion:reduce){.atcc-preload-logo,.atcc-preload-nav,.atcc-preload-line,.atcc-preload-card{animation:none}}


/* Related content for native WordPress blog/account templates (v1.3.5). */
.atcc-related-native{max-width:72rem;margin:1rem auto 3.5rem;padding:2rem 1rem 0;border-top:1px solid #e2e8f0;box-sizing:border-box}
.atcc-related-native-head{margin-bottom:1.25rem}.atcc-related-native-head>span{display:block;color:#2563eb;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.5rem}.atcc-related-native-head h2{margin:0;color:#0f172a;font-size:1.75rem;line-height:1.2}.atcc-related-native-head p{margin:.55rem 0 0;color:#64748b;line-height:1.55;max-width:42rem}.atcc-related-native-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.atcc-related-native-card{display:flex;flex-direction:column;min-height:165px;background:#fff;border:1px solid #e2e8f0;border-radius:.8rem;padding:1rem;text-decoration:none!important;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.atcc-related-native-card:hover{border-color:#93c5fd;box-shadow:0 8px 24px rgba(15,23,42,.07);transform:translateY(-1px)}.atcc-related-native-card small{color:#2563eb;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.atcc-related-native-card strong{color:#0f172a;font-size:.98rem;line-height:1.35;margin-top:.6rem}.atcc-related-native-card p{color:#64748b;font-size:.8rem;line-height:1.5;margin:.55rem 0 1rem}.atcc-related-native-card>span{color:#2563eb;font-size:.78rem;font-weight:800;margin-top:auto}@media(max-width:900px){.atcc-related-native-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.atcc-related-native{padding-left:14px;padding-right:14px;margin-bottom:2.5rem}.atcc-related-native-head h2{font-size:1.45rem}.atcc-related-native-grid{grid-template-columns:1fr}.atcc-related-native-card{min-height:0}}
