*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f4f6f9;color:#1a1a2e;min-height:100vh}#root{max-width:100%;margin:0 auto;padding:2rem 2.5rem}.app>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.app>header h1{font-size:1.5rem;font-weight:700;color:#1a1a2e}button{cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:opacity .15s}button:disabled{opacity:.5;cursor:not-allowed}button:hover:not(:disabled){opacity:.85}.add-btn{background:#4f46e5;color:#fff;padding:.55rem 1.2rem}.edit-btn{background:#e0e7ff;color:#4f46e5}.delete-btn{background:#fee2e2;color:#dc2626}.secondary{background:#e5e7eb;color:#374151}.error-banner{background:#fef2f2;border:1px solid #fca5a5;color:#dc2626;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem}.form-section{background:#fff;border-radius:10px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 4px #00000014}.form-section h2{font-size:1rem;margin-bottom:1rem;color:#374151}.user-form{display:flex;flex-direction:column;gap:.75rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.field{display:flex;flex-direction:column;gap:.3rem}.field label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.field input{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;outline:none;transition:border-color .15s}.field input:focus{border-color:#4f46e5}.form-actions{display:flex;gap:.5rem;margin-top:.25rem}.table-section{background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 1px 4px #00000014}.table-section h2{font-size:1rem;margin-bottom:1rem;color:#374151}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;min-width:640px;border-collapse:collapse;font-size:.875rem}th{text-align:left;padding:.6rem .75rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;border-bottom:2px solid #e5e7eb}td{padding:.75rem;border-bottom:1px solid #f3f4f6;vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:#f9fafb}.name{font-weight:600}.mono{font-family:SF Mono,Menlo,monospace;font-size:.8rem;color:#374151}td.actions{display:flex;gap:.4rem}.empty{color:#9ca3af;font-size:.875rem;padding:1rem 0}.tabs{display:flex;gap:0;margin-bottom:1rem;border-bottom:2px solid #e5e7eb}.tab{background:transparent;color:#6b7280;border-radius:0;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;border-bottom:2px solid transparent;margin-bottom:-2px}.tab:hover:not(:disabled){color:#374151;opacity:1}.tab-active{color:#4f46e5;border-bottom-color:#4f46e5}.tab-count{background:#e5e7eb;color:#6b7280;border-radius:9999px;padding:.1rem .5rem;font-size:.7rem;margin-left:.35rem}.tab-active .tab-count{background:#e0e7ff;color:#4f46e5}.disable-btn{background:#fff7ed;color:#c2410c}.enable-btn{background:#f0fdf4;color:#15803d}.row-disabled td{opacity:.5}.row-disabled .name{text-decoration:line-through}.modal-sub{display:block;font-size:.8rem;color:#6b7280;margin-top:.3rem}.header-right{display:flex;align-items:center;gap:1.25rem}.header-actions{display:flex;gap:.5rem;align-items:center}.license-badge{display:flex;flex-direction:column;gap:.15rem;min-width:180px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.45rem .75rem;font-size:.75rem}.license-badge.license-low{border-color:#fca5a5;background:#fef2f2}.license-label{font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:.65rem}.license-nums{color:#1a1a2e}.license-nums strong{font-size:.9rem}.license-sep{color:#9ca3af;margin:0 .2rem}.license-avail{color:#16a34a}.license-avail-low{color:#dc2626}.license-bar{height:4px;background:#e5e7eb;border-radius:99px;margin-top:.2rem;overflow:hidden}.license-bar-fill{height:100%;background:#4f46e5;border-radius:99px;transition:width .3s}.check-btn{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.check-btn:hover:not(:disabled){background:#e5e7eb;opacity:1}.sync-btn{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.sync-btn:hover:not(:disabled){background:#dbeafe;opacity:1}.health-panel{border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem;font-size:.875rem}.health-ok{background:#f0fdf4;border:1px solid #86efac}.health-fail{background:#fef2f2;border:1px solid #fca5a5}.health-summary{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.health-icon{font-size:1.1rem;font-weight:700}.health-ok .health-icon{color:#16a34a}.health-fail .health-icon{color:#dc2626}.health-msg{color:#6b7280;flex:1}.health-close{margin-left:auto;background:transparent;color:#9ca3af;padding:.2rem .5rem;font-size:.75rem}.health-close:hover{color:#374151;opacity:1}.health-perms{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.3rem}.health-perms li{display:flex;align-items:center;gap:.5rem;font-family:SF Mono,Menlo,monospace;font-size:.8rem}.perm-ok{color:#16a34a}.perm-fail{color:#dc2626}.provision-steps{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.3rem}.provision-steps li{display:flex;align-items:center;gap:.5rem;font-size:.8rem;padding-left:1rem}.provision-section{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;padding-left:0!important;margin-top:.5rem}.perm-sub{padding-left:2rem!important;font-style:italic}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f4f6f9}.login-card{background:#fff;border-radius:12px;padding:2.5rem 3rem;box-shadow:0 4px 24px #0000001a;text-align:center;min-width:320px}.login-card h1{font-size:1.5rem;margin-bottom:.25rem}.login-sub{color:#6b7280;font-size:.95rem;margin-bottom:2rem}.ms-login-btn{display:inline-block;background:#0078d4;color:#fff;border-radius:6px;padding:.65rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s}.ms-login-btn:hover{background:#106ebe}.user-pill{display:flex;align-items:center;gap:.6rem;padding:.3rem .3rem .3rem .75rem;background:#f3f4f6;border-radius:99px;border:1px solid #e5e7eb}.user-pill-name{font-size:.8rem;font-weight:600;color:#374151}.user-pill button{border-radius:99px;padding:.25rem .75rem;font-size:.75rem}.modal-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:#fff;border-radius:10px;padding:1.5rem 2rem;min-width:300px;box-shadow:0 8px 32px #0000002e}.modal p{margin-bottom:1.25rem;font-size:.95rem}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:inherit}
