/* Taskivoza 1.8.0: authentication, system pages, maintenance, and responsive dashboard */
:root{--ptc-system-max:1050px}

.ptc-system-page{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1fr);align-items:center;gap:64px;max-width:var(--ptc-system-max);min-height:610px;margin:32px auto;padding:56px 48px;border:1px solid var(--ptc-line);border-radius:12px;background:#fff}
.ptc-system-visual{position:relative;display:grid;place-items:center;min-height:330px;border:1px solid var(--ptc-line);border-radius:12px;background:#f8fcf9;overflow:hidden}
.ptc-system-code{font-size:76px;font-weight:850;line-height:1;color:#d9efe2;letter-spacing:-5px}
.ptc-system-icon{display:grid;place-items:center;width:88px;height:88px;margin-top:-34px;border:1px solid #bfe2cc;border-radius:50%;background:#fff;color:var(--ptc-primary)}
.ptc-system-icon .ptc-icon{width:42px;height:42px}
.ptc-system-content h1{margin:10px 0 15px;font-size:46px;line-height:1.05;letter-spacing:-1.8px}
.ptc-system-content>p{max-width:620px;margin:0;color:var(--ptc-muted);font-size:15px;line-height:1.75}
.ptc-system-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.ptc-system-help{display:grid;gap:9px;margin-top:26px;padding-top:22px;border-top:1px solid var(--ptc-line)}
.ptc-system-help span{display:flex;align-items:center;gap:9px;color:#526158;font-size:11px;font-weight:650}
.ptc-system-help .ptc-icon{color:var(--ptc-primary)}

.ptc-auth-form .ptc-alert{margin-bottom:18px}
.ptc-auth-form input:focus-visible,.ptc-auth-form button:focus-visible{outline:3px solid rgba(7,148,71,.16);outline-offset:2px}
.ptc-caps-warning{display:block;margin-top:7px;color:#a15c00;font-weight:700}
.ptc-password-strength{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin-top:10px}
.ptc-password-strength>span{position:relative;height:5px;border-radius:99px;background:#edf1ee;overflow:hidden}
.ptc-password-strength>span::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--ptc-strength,0%);background:var(--ptc-strength-color,#d6ddd8);transition:width .22s ease,background .22s ease}
.ptc-password-strength>small{margin:0!important;white-space:nowrap}
.ptc-password-strength[data-score="1"]{--ptc-strength:25%;--ptc-strength-color:#d84b4b}
.ptc-password-strength[data-score="2"]{--ptc-strength:50%;--ptc-strength-color:#d58a00}
.ptc-password-strength[data-score="3"]{--ptc-strength:75%;--ptc-strength-color:#47a663}
.ptc-password-strength[data-score="4"]{--ptc-strength:100%;--ptc-strength-color:#078a42}
.ptc-auth-form [data-password-match].is-valid{color:#078a42;font-weight:700}
.ptc-auth-form [data-password-match].is-invalid{color:#c43e3e;font-weight:700}
.ptc-auth-form[aria-busy="true"]{pointer-events:none}

/* Responsive member dashboard */
.ptc-dashboard-page{min-width:0}
.ptc-dashboard-page .ptc-page-heading,.ptc-dashboard-page .ptc-heading{min-width:0}
.ptc-dashboard-page .ptc-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.ptc-dashboard-page .ptc-stat,.ptc-dashboard-page .ptc-panel,.ptc-dashboard-page .ptc-campaign-row,.ptc-dashboard-page .ptc-proof-row,.ptc-dashboard-page .ptc-my-proof-row{min-width:0}
.ptc-dashboard-page .ptc-two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.ptc-dashboard-page .ptc-panel-head{flex-wrap:wrap}
.ptc-dashboard-page .ptc-table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.ptc-dashboard-page .ptc-table{min-width:560px}
.ptc-dashboard-page .ptc-campaign-row>div:first-child,.ptc-dashboard-page .ptc-proof-summary{min-width:0}
.ptc-dashboard-page .ptc-campaign-row strong,.ptc-dashboard-page .ptc-proof-summary strong,.ptc-dashboard-page .ptc-my-proof-row strong{overflow-wrap:anywhere}

/* Maintenance */
body.ptc-maintenance-mode{margin:0;background:#fff;color:#101813}
.ptc-maintenance-mode .ptc-site-loader,.ptc-maintenance-mode .ptc-navigation-loader{display:none!important}
.ptc-maintenance-wrap{min-height:100vh;display:grid;place-items:center;padding:32px}
.ptc-maintenance-card{position:relative;width:min(1120px,100%);border:1px solid var(--ptc-line);border-radius:14px;background:#fff;overflow:hidden}
.ptc-maintenance-preview{padding:9px 20px;border-bottom:1px solid var(--ptc-line);background:#f4faf6;color:#087a3a;text-align:center;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.ptc-maintenance-brand{display:flex;align-items:center;gap:10px;padding:22px 30px;border-bottom:1px solid var(--ptc-line)}
.ptc-maintenance-brand strong{font-size:20px}
.ptc-maintenance-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.82fr);align-items:center;gap:40px;padding:58px}
.ptc-maintenance-copy h1{max-width:650px;margin:10px 0 16px;font-size:52px;line-height:1.03;letter-spacing:-2px}
.ptc-maintenance-copy>p{max-width:640px;color:var(--ptc-muted);font-size:16px;line-height:1.75}
.ptc-maintenance-art img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain}
.ptc-maintenance-countdown{display:grid;grid-template-columns:repeat(4,minmax(70px,1fr));gap:9px;margin:28px 0;max-width:520px}
.ptc-maintenance-countdown>div{padding:14px 8px;border:1px solid var(--ptc-line);border-radius:9px;text-align:center;background:#fff}
.ptc-maintenance-countdown strong,.ptc-maintenance-countdown small{display:block}
.ptc-maintenance-countdown strong{font-size:25px;color:var(--ptc-primary)}
.ptc-maintenance-countdown small{margin-top:3px;color:var(--ptc-muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.ptc-maintenance-status{display:flex;align-items:center;gap:9px;margin:18px 0;color:#506158;font-size:11px;font-weight:700}
.ptc-maintenance-status>span{width:9px;height:9px;border-radius:50%;background:var(--ptc-primary);animation:ptc-maintenance-pulse 1.6s ease-in-out infinite}
@keyframes ptc-maintenance-pulse{50%{opacity:.35;transform:scale(.82)}}

/* Legal pages */
.ptc-legal-content{font-size:14px;line-height:1.8}
.ptc-legal-content h2{margin-top:32px;padding-top:25px;border-top:1px solid var(--ptc-line);font-size:23px}
.ptc-legal-content h2:first-child{margin-top:0;padding-top:0;border-top:0}
.ptc-legal-content p{color:#4e5e54}

@media(max-width:1050px){
  .ptc-dashboard-page .ptc-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ptc-dashboard-page .ptc-two-col{grid-template-columns:1fr}
  .ptc-system-page{gap:38px;padding:45px 34px}
  .ptc-maintenance-grid{padding:45px 36px;gap:20px}
  .ptc-maintenance-copy h1{font-size:43px}
}
@media(max-width:780px){
  .ptc-system-page{grid-template-columns:1fr;min-height:auto;margin:20px auto;padding:28px 22px;gap:28px}
  .ptc-system-visual{min-height:210px}
  .ptc-system-code{font-size:58px}
  .ptc-system-content h1{font-size:36px}
  .ptc-auth{grid-template-columns:1fr;max-width:620px;margin-top:24px}
  .ptc-auth-copy{padding:30px}
  .ptc-auth-copy h1{font-size:31px}
  .ptc-auth-form{margin:0;padding:26px!important;border-width:1px 0 0!important;border-radius:0!important}
  .ptc-dashboard-page .ptc-page-heading-actions,.ptc-dashboard-page .ptc-heading-actions{width:100%;justify-content:flex-start}
  .ptc-dashboard-page .ptc-campaign-row,.ptc-dashboard-page .ptc-my-proof-row,.ptc-dashboard-page .ptc-proof-row{align-items:flex-start;flex-direction:column;gap:13px}
  .ptc-dashboard-page .ptc-campaign-row>div:last-child,.ptc-dashboard-page .ptc-my-proof-row>div:last-child{width:100%;justify-content:flex-start;flex-wrap:wrap}
  .ptc-maintenance-wrap{padding:16px}
  .ptc-maintenance-grid{grid-template-columns:1fr;padding:32px 24px}
  .ptc-maintenance-art{order:-1}
  .ptc-maintenance-art img{max-height:260px}
  .ptc-maintenance-copy h1{font-size:36px;letter-spacing:-1px}
}
@media(max-width:520px){
  .ptc-dashboard-page .ptc-stats{grid-template-columns:1fr}
  .ptc-dashboard-page .ptc-stat{padding:16px}
  .ptc-dashboard-page .ptc-panel{padding:18px!important}
  .ptc-dashboard-page .ptc-panel-head{align-items:flex-start;flex-direction:column}
  .ptc-system-page{border-left:0;border-right:0;border-radius:0;padding:24px 16px}
  .ptc-system-actions{display:grid;grid-template-columns:1fr}
  .ptc-system-actions .ptc-btn{width:100%;justify-content:center}
  .ptc-auth-copy{padding:24px 20px}
  .ptc-auth-illustration{width:210px;height:170px}
  .ptc-auth-form{padding:22px 18px!important}
  .ptc-auth-form .ptc-form-grid.two{grid-template-columns:1fr}
  .ptc-login-options{align-items:flex-start;flex-direction:column}
  .ptc-maintenance-countdown{grid-template-columns:repeat(2,1fr)}
  .ptc-maintenance-brand{padding:18px 20px}
  .ptc-maintenance-grid{padding:26px 18px}
}
@media(prefers-reduced-motion:reduce){.ptc-maintenance-status>span{animation:none}}
