/* TechnoPkg AI platform-wide hardening v8.0-RC1 */
.tp-sr-only{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;white-space:nowrap!important;border:0!important}
.tp-skip-link{position:fixed;left:12px;top:-80px;z-index:10000;background:#fff;color:#111;padding:.65rem 1rem;border-radius:8px;box-shadow:0 4px 18px #0005;font-weight:700}.tp-skip-link:focus{top:12px}
.tp-ai-progress{position:fixed;top:66px;left:50%;transform:translate(-50%,-140%);z-index:9998;display:flex;align-items:center;gap:.7rem;min-width:280px;max-width:calc(100vw - 24px);padding:.65rem .8rem;border:1px solid var(--border2,#475569);border-radius:12px;background:var(--bg2,#1e293b);color:var(--text,#fff);box-shadow:0 8px 30px #0006;opacity:0;pointer-events:none;transition:.18s ease}.tp-ai-progress.active{transform:translate(-50%,0);opacity:1;pointer-events:auto}.tp-ai-progress-bar{width:22px;height:22px;border:3px solid var(--border2,#475569);border-top-color:var(--amber,#f59e0b);border-radius:50%;animation:tp-spin .8s linear infinite}.tp-ai-progress span{flex:1;font-size:.9rem}.tp-ai-cancel{border:1px solid var(--border2,#475569);background:transparent;color:inherit;border-radius:7px;padding:.35rem .65rem;cursor:pointer}.tp-ai-cancel:hover,.tp-ai-cancel:focus{border-color:var(--danger,#ef4444);color:var(--danger,#ef4444)}
.tp-ai-toasts{position:fixed;right:16px;bottom:18px;z-index:10001;display:grid;gap:9px;width:min(420px,calc(100vw - 32px))}.tp-ai-toast{display:flex;align-items:flex-start;gap:.6rem;padding:.8rem .9rem;border-radius:10px;background:var(--bg2,#1e293b);border:1px solid var(--border2,#475569);color:var(--text,#fff);box-shadow:0 8px 30px #0007;animation:tp-in .18s ease}.tp-ai-toast span{flex:1;overflow-wrap:anywhere}.tp-ai-toast button{border:0;background:transparent;color:inherit;font-size:1.25rem;cursor:pointer;line-height:1}.tp-ai-toast-error{border-left:4px solid var(--danger,#ef4444)}.tp-ai-toast-warn{border-left:4px solid var(--warn,#f59e0b)}.tp-ai-toast-success{border-left:4px solid var(--success,#10b981)}.tp-ai-toast-info{border-left:4px solid var(--indigo3,#60a5fa)}
.tp-ai-page :focus-visible{outline:3px solid var(--amber,#f59e0b)!important;outline-offset:3px!important}.tp-ai-page button,.tp-ai-page .btn,.tp-ai-page input,.tp-ai-page select,.tp-ai-page textarea{min-height:40px}.tp-ai-page textarea{resize:vertical}.tp-ai-page pre,.tp-ai-page code{max-width:100%;overflow:auto}.tp-ai-page table{max-width:100%}.tp-ai-page .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.tp-ai-page img{max-width:100%;height:auto}
@keyframes tp-spin{to{transform:rotate(360deg)}}@keyframes tp-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:720px){.tp-ai-progress{top:70px;width:calc(100vw - 20px)}.tp-ai-toasts{right:10px;bottom:10px;width:calc(100vw - 20px)}.tp-ai-page .grid,.tp-ai-page .form-grid{grid-template-columns:1fr!important}.tp-ai-page .panel{padding:1rem!important}.tp-ai-page h1{font-size:clamp(1.55rem,7vw,2.2rem)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
@media print{#tp-ai-runtime,.tp-skip-link{display:none!important}}
