:root{color-scheme:light;--bg: #f7f7f8;--surface: #ffffff;--surface-raised: #ffffff;--border: #e6e6e9;--border-strong: #d4d4d9;--hover-border: #b8b8bf;--hover-bg: #f2f2f4;--text: #18181b;--text-muted: #5c5c66;--text-faint: #8f8f99;--accent: #3860e0;--accent-hover: #2c4ec2;--accent-text: #ffffff;--success: #1a8f52;--error: #cc3333;--warning: #b4790f;--font: "Inter", -apple-system, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", monospace;--radius: 8px;--radius-sm: 6px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:13.5px;line-height:1.45;-webkit-font-smoothing:antialiased}::selection{background:#5b8def40}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:4px}@media (prefers-reduced-motion: reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.page-header{border-bottom:1px solid var(--border)}.page-header-inner{max-width:1320px;margin:0 auto;padding:1.1rem 1.75rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.page-title{font-size:.95rem;font-weight:600;letter-spacing:-.01em;margin:0;color:var(--text)}.page-subtitle{font-size:.75rem;color:var(--text-faint);margin:.1rem 0 0}.session-line{font-size:.8rem;color:var(--text-muted);display:flex;align-items:center;gap:.6rem}.container{max-width:1320px;margin:0 auto;padding:1.5rem 1.75rem 3rem}.tab-bar{display:flex;gap:.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--border)}.tab-bar button{border:none;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:.5rem .25rem;margin-right:1.25rem;color:var(--text-faint);font-weight:500}.tab-bar button:hover:not(:disabled){background:transparent;color:var(--text)}.tab-bar button.tab-active{color:var(--text);border-bottom-color:var(--accent)}.toolbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.toolbar-meta{font-size:.8rem;color:var(--text-faint)}.grant-group-heading{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin:.6rem 0 .3rem;padding-top:.5rem;border-top:1px solid var(--border)}.grant-group-heading:first-of-type{border-top:none;padding-top:0;margin-top:0}.checkbox-label{font-size:.8rem;color:var(--text-muted);display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}button{font-family:var(--font);font-size:.8rem;font-weight:500;padding:.4rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text);cursor:pointer;transition:border-color .12s ease,background .12s ease;line-height:1.2}button:hover:not(:disabled){border-color:var(--hover-border);background:var(--hover-bg)}button:disabled{opacity:.4;cursor:not-allowed}button.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}button.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}select,input[type=text]{font-family:var(--font);font-size:.8rem;padding:.35rem .55rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text)}select:hover:not(:disabled),input[type=text]:hover{border-color:var(--hover-border)}input[type=checkbox]{accent-color:var(--accent)}.text-faint{color:var(--text-faint);font-size:.8rem}table{border-collapse:collapse;width:100%;font-size:.8rem}th,td{text-align:left;padding:.55rem 1rem;border-bottom:1px solid var(--border);white-space:nowrap}.cell-name{font-weight:500;color:var(--text)}.cell-email{color:var(--text-faint)}th{font-size:.72rem;font-weight:500;color:var(--text-faint);border-bottom:1px solid var(--border-strong)}tbody tr{transition:background .1s ease}tbody tr:hover{background:#00000005}.row-hidden{opacity:.4}.grid-scroll{max-height:70vh;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.grid-scroll thead th{position:sticky;top:0;background:var(--surface);z-index:1}.grid-scroll table{margin:0}.grid-scroll tbody tr:last-child td{border-bottom:none}.status-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--text-muted)}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.status-ok{color:var(--success)}.status-none{color:var(--text-faint)}.status-error{color:var(--error)}.status-queued{color:var(--warning)}.teams-dropdown{position:relative;display:inline-block}.teams-dropdown summary{cursor:pointer;list-style:none;padding:.3rem .6rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-raised);font-size:.78rem;color:var(--text-muted);-webkit-user-select:none;user-select:none;transition:border-color .12s ease}.teams-dropdown summary:hover{border-color:var(--hover-border);color:var(--text)}.teams-dropdown summary::-webkit-details-marker{display:none}.teams-dropdown summary:after{content:""}.teams-dropdown-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:5;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:0 8px 24px -8px #00000026;min-width:200px}.teams-dropdown-list{padding:.5rem .7rem;max-height:220px;overflow-y:auto}.teams-dropdown-list label{display:flex;align-items:center;gap:.5rem;white-space:nowrap;padding:.2rem 0;font-size:.8rem;color:var(--text-muted)}.teams-dropdown-actions{display:flex;gap:.5rem;padding:.5rem .7rem;border-top:1px solid var(--border)}.apps-manager summary{cursor:pointer;list-style:none;padding:.3rem .6rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-raised);font-size:.78rem;color:var(--text-muted);-webkit-user-select:none;user-select:none;display:inline-block;transition:border-color .12s ease}.apps-manager summary:hover{border-color:var(--hover-border);color:var(--text)}.apps-manager summary::-webkit-details-marker{display:none}.apps-manager-panel{margin-top:.5rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-width:440px}.apps-manager-list{margin-bottom:.5rem}.apps-manager-row{display:flex;justify-content:space-between;align-items:center;padding:.3rem 0;font-size:.8rem;color:var(--text-muted);border-bottom:1px solid var(--border)}.apps-manager-row:last-child{border-bottom:none}.apps-manager-add{display:flex;gap:.5rem;margin-top:.5rem}.apps-manager-add input{flex:1}hr{border:none;border-top:1px solid var(--border);margin:.6rem 0}
