:root{--surf2:#FAF7FF;--ok:#0a7d33;--okbg:rgba(10,125,51,.10);--warn:#8a5a00;--warnbg:rgba(214,158,46,.16);--bad:#b3261e;--badbg:rgba(179,38,30,.09);}
.att{max-width:1100px;margin:0 auto;padding:14px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);}
.att-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surf2);border:1px solid var(--line);border-radius:14px;padding:12px 16px;box-shadow:var(--shadow);}
.att-bar h1{font-size:19px;font-weight:700;color:var(--navy);margin:0;letter-spacing:-.01em;}
.att-bar .sp{flex:1;}
.att-field{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);}
.att-field select,.att-field input{border:1px solid var(--line)!important;border-radius:8px!important;padding:7px 10px!important;font-size:13px!important;background:#fff!important;color:var(--text);}
.att-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:9px;padding:8px 13px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,transform .05s;}
.att-btn:hover{background:#F3EFFF2fb;border-color:#cdd8ee;}
.att-btn:active{transform:translateY(1px);}
.att-btn.primary{background:var(--navy);color:#fff;border-color:var(--navy);}
.att-btn.primary:hover{background:var(--navy2);}
.att-btn:disabled{opacity:.5;cursor:not-allowed;}
.att-lock{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:6px 11px;border-radius:999px;}
.att-lock.open{background:var(--okbg);color:var(--ok);}
.att-lock.shut{background:var(--badbg);color:var(--bad);}
.att-exc{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 6px;}
.att-pill{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:11px;padding:9px 13px;font-size:13px;cursor:pointer;transition:border-color .15s,box-shadow .15s;}
.att-pill:hover{border-color:#cdd8ee;box-shadow:var(--shadow);}
.att-pill .n{font-size:17px;font-weight:700;line-height:1;}
.att-pill .l{color:var(--muted);}
.att-pill.warn .n{color:var(--warn);} .att-pill.bad .n{color:var(--bad);} .att-pill.ok .n{color:var(--ok);}
.att-pill.active{border-color:var(--navy);box-shadow:0 0 0 2px rgba(124,108,240,.12);}
.att-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:14px 0 0;}
.att-tab{padding:10px 14px;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s;}
.att-tab:hover{color:var(--navy);}
.att-tab.on{color:var(--navy);border-bottom-color:var(--navy);}
.att-panel{animation:att-fade .18s ease-out;}
@keyframes att-fade{from{opacity:0;transform:translateY(3px);}to{opacity:1;transform:none;}}
.att-tablewrap{border:1px solid var(--line);border-radius:13px;overflow:auto;max-height:72vh;margin-top:14px;box-shadow:var(--shadow);background:#fff;}
table.att-grid{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;}
table.att-grid thead th{position:sticky;top:0;z-index:2;background:#fff;color:var(--muted);text-align:left;font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;padding:11px 14px;border-bottom:1px solid var(--line);}
table.att-grid thead th.num,table.att-grid td.num{text-align:right;font-variant-numeric:tabular-nums;}
table.att-grid tbody td{padding:10px 14px;border-bottom:1px solid var(--line);}
table.att-grid tbody tr:last-child td{border-bottom:none;}
table.att-grid tbody tr:hover{background:#fafbfe;}
table.att-grid tbody tr.saved{animation:att-flash 1s ease-out;}
@keyframes att-flash{0%{background:var(--okbg);}100%{background:transparent;}}
.att-emp{font-weight:600;color:var(--text);}
.att-emp small{display:block;font-weight:400;color:var(--muted);font-size:11.5px;margin-top:1px;}
.att-edit{width:62px;border:1px solid transparent!important;border-radius:7px!important;padding:6px 8px!important;font-size:13px!important;text-align:right;background:#f4f6fb!important;font-variant-numeric:tabular-nums;transition:border-color .12s,background .12s;}
.att-edit:hover{background:#F3EFFF2fb!important;}
.att-edit:focus{border-color:var(--navy)!important;background:#fff!important;box-shadow:0 0 0 3px rgba(124,108,240,.10)!important;outline:none;}
.att-edit:disabled{background:transparent!important;color:var(--text);}
.chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap;}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;}
.chip.full{background:var(--okbg);color:var(--ok);}
.chip.lop{background:var(--warnbg);color:var(--warn);}
.chip.zero,.chip.not_uploaded{background:var(--badbg);color:var(--bad);}
.att-empty{text-align:center;padding:54px 20px;color:var(--muted);}
.att-empty h3{color:var(--navy);font-size:16px;margin:0 0 6px;}
.att-skel{height:14px;border-radius:6px;background:linear-gradient(90deg,#F7F4FF 25%,#e4e9f2 37%,#F7F4FF 63%);background-size:400% 100%;animation:att-sh 1.4s ease infinite;}
@keyframes att-sh{0%{background-position:100% 0;}100%{background-position:0 0;}}
@media (prefers-reduced-motion: reduce){.att-panel,table.att-grid tbody tr.saved,.att-skel{animation:none!important;}}

/* onboarding kanban */
.kanban{display:flex;gap:14px;overflow-x:auto;padding:16px 2px 8px;}
.kan-col{min-width:210px;flex:1 0 210px;background:#FAF7FF;border:1px solid #EFE7FF;border-radius:14px;padding:10px;}
.kan-head{font-size:12px;font-weight:700;color:#5a49c8;text-transform:uppercase;letter-spacing:.04em;display:flex;justify-content:space-between;align-items:center;padding:4px 6px 10px;}
.kan-head span{background:#EDE7FF;color:#7c6cf0;border-radius:999px;padding:1px 8px;font-size:11px;}
.kan-card{background:#fff;border:1px solid #F0ECFF;border-radius:11px;padding:11px;margin-bottom:9px;box-shadow:0 2px 8px rgba(154,134,253,.08);}
.kan-name{font-size:13px;font-weight:600;color:#3A3357;}
.kan-act{display:flex;gap:6px;margin-top:8px;}
.kan-act button{flex:1;border:1px solid #EFE7FF;background:#FBF8FF;border-radius:8px;padding:4px;color:#7c6cf0;cursor:pointer;font-size:13px;}
.kan-act button:hover{background:#EDE7FF;}
.kan-empty{color:#c4bce0;text-align:center;padding:14px;font-size:13px;}
