:root{--pynet-font: "Poppins", system-ui, -apple-system, sans-serif;--pynet-bg: #fff9f0;--pynet-surface: #ffffff;--pynet-surface-alt: #e9eefc;--pynet-surface-muted: #dfecff;--pynet-text: #1a1a1a;--pynet-text-secondary: #54595f;--pynet-text-muted: #69727d;--pynet-primary: #ed7233;--pynet-primary-hover: #d45f24;--pynet-navy: #204493;--pynet-navy-dark: #003357;--pynet-accent: #3a79bd;--pynet-border: #e5e7eb;--pynet-border-strong: #d1d5db;--pynet-radius: 8px;--pynet-radius-sm: 4px;--pynet-shadow: 0 2px 16px rgba(6, 18, 45, .08);--pynet-shadow-lg: 0 4px 24px rgba(6, 18, 45, .12);--pynet-success: #166534;--pynet-success-bg: #dcfce7;--pynet-error: #de3623;--pynet-error-bg: #fef2f2;--pynet-warning: #b45309;--pynet-warning-bg: #fef3c7}*{box-sizing:border-box}body{margin:0;font-family:var(--pynet-font);background:var(--pynet-bg);color:var(--pynet-text);min-height:100vh;-webkit-font-smoothing:antialiased}a{color:var(--pynet-navy);text-decoration:none}a:hover{color:var(--pynet-accent);text-decoration:underline}.container{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.container-admin{max-width:min(100%,1680px)}.muted{color:var(--pynet-text-muted);font-size:.9rem}tr.row-busy{opacity:.55;background:var(--pynet-surface-muted)}tr.row-busy button{cursor:wait}.small{font-size:.8rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem 1rem}.form-grid label{display:block;font-size:.85rem;color:var(--pynet-text-secondary);font-weight:500}.form-grid input,.form-grid select{margin-bottom:0;margin-top:.25rem}.form-actions{grid-column:1 / -1;display:flex;gap:.75rem;margin-top:.5rem}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.enrollment-scroll{margin:0 -.25rem;padding:0 .25rem .5rem}.enrollment-scroll-hint{margin:-.25rem 0 .75rem;font-size:.8rem}.enrollment-table{width:max-content;min-width:100%}.enrollment-table th,.enrollment-table td{vertical-align:top}.enrollment-table .col-check{width:2.75rem;min-width:2.75rem;padding-left:.35rem;padding-right:.35rem}.enrollment-table .col-name{min-width:7.5rem;max-width:10rem}.enrollment-table .col-email{min-width:10rem;max-width:14rem}.enrollment-table .col-folder{min-width:8rem;max-width:11rem}.enrollment-table .col-jumphost{min-width:8rem;max-width:10rem}.enrollment-table .col-actions{min-width:15rem}.enrollment-table .cell-truncate{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.enrollment-table th.sticky-left,.enrollment-table td.sticky-left{position:sticky;left:0;z-index:2;background:var(--pynet-surface);box-shadow:2px 0 4px -2px #00000014}.enrollment-table th.sticky-left-2,.enrollment-table td.sticky-left-2{position:sticky;left:2.75rem;z-index:2;background:var(--pynet-surface);box-shadow:2px 0 4px -2px #00000014}.enrollment-table th.sticky-right,.enrollment-table td.sticky-right{position:sticky;right:0;z-index:2;background:var(--pynet-surface);box-shadow:-2px 0 4px -2px #00000014}.enrollment-table thead th.sticky-left,.enrollment-table thead th.sticky-left-2,.enrollment-table thead th.sticky-right{z-index:3}.enrollment-table tbody tr:hover td.sticky-left,.enrollment-table tbody tr:hover td.sticky-left-2,.enrollment-table tbody tr:hover td.sticky-right{background:var(--pynet-surface-alt)}.row-actions{display:flex;gap:.35rem;flex-wrap:wrap}.row-actions button{padding:.35rem .6rem;font-size:.8rem}.badge{display:inline-block;padding:.15rem .5rem;border-radius:var(--pynet-radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase}.input-with-action{display:flex;gap:.5rem;align-items:center}.input-with-action input{flex:1}.badge-draft{background:var(--pynet-surface-muted);color:var(--pynet-navy)}.badge-pending{background:#f3f4f6;color:var(--pynet-text-secondary)}.badge-provisioning{background:var(--pynet-warning-bg);color:var(--pynet-warning)}.badge-ready{background:var(--pynet-success-bg);color:var(--pynet-success)}.badge-failed{background:var(--pynet-error-bg);color:var(--pynet-error)}.card{background:var(--pynet-surface);border-radius:var(--pynet-radius);padding:1.5rem;margin-bottom:1rem;border:1px solid var(--pynet-border);box-shadow:var(--pynet-shadow)}h1,h2,h3{margin-top:0;color:var(--pynet-text);font-weight:600}input,select,button{font:inherit}input,select{width:100%;padding:.6rem .75rem;border-radius:var(--pynet-radius-sm);border:1px solid var(--pynet-border-strong);background:var(--pynet-surface);color:var(--pynet-text);margin-bottom:.75rem}input:focus,select:focus{outline:none;border-color:var(--pynet-accent);box-shadow:0 0 0 2px #3a79bd33}button,.btn{display:inline-block;padding:.6rem 1.2rem;border-radius:var(--pynet-radius-sm);border:none;background:var(--pynet-primary);color:#fff;cursor:pointer;text-decoration:none;font-weight:600;transition:background .15s}button:hover,.btn:hover{background:var(--pynet-primary-hover);color:#fff;text-decoration:none}button.secondary{background:var(--pynet-navy)}button.secondary:hover{background:var(--pynet-navy-dark)}button.danger{background:var(--pynet-error)}button.danger:hover{background:#c42f1e}button:disabled{opacity:.5;cursor:not-allowed}.nav{display:flex;gap:1.25rem;align-items:center;padding:.85rem 2rem;background:var(--pynet-surface);border-bottom:1px solid var(--pynet-border);box-shadow:var(--pynet-shadow)}.nav-brand{display:flex;align-items:center;gap:.65rem;color:var(--pynet-text);text-decoration:none;font-weight:600;font-size:1rem}.nav-brand:hover{color:var(--pynet-navy);text-decoration:none}.nav-brand img{height:2rem;width:auto}.nav a,.nav button.link{background:none;border:none;color:var(--pynet-text-secondary);padding:0;cursor:pointer;font-weight:500;text-decoration:none}.nav a:hover,.nav button.link:hover{color:var(--pynet-primary);background:none;text-decoration:none}.nav a.active{color:var(--pynet-navy);font-weight:600}.nav-user{margin-left:auto;color:var(--pynet-text-secondary);font-size:.9rem}.error{color:var(--pynet-error);margin-bottom:.75rem}.success{color:var(--pynet-success)}.timer{font-size:2.5rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--pynet-navy)}.warning{color:var(--pynet-warning);font-weight:600}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.65rem .5rem;border-bottom:1px solid var(--pynet-border)}th{color:var(--pynet-text-secondary);font-weight:600;font-size:.85rem}tbody tr:hover{background:var(--pynet-surface-alt)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.stat{background:var(--pynet-surface-alt);padding:1rem;border-radius:var(--pynet-radius);text-align:center;border:1px solid var(--pynet-border)}.stat .value{font-size:1.75rem;font-weight:700;color:var(--pynet-navy)}.stat .label{font-size:.85rem;color:var(--pynet-text-muted)}.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:grid;place-items:center;z-index:1000;padding:1rem}.confirm-dialog{background:var(--pynet-surface);border-radius:var(--pynet-radius);padding:1.5rem;max-width:28rem;width:100%;border:1px solid var(--pynet-border);box-shadow:var(--pynet-shadow)}.confirm-dialog h3{margin-bottom:.5rem}.confirm-dialog .email-option{display:flex;gap:.6rem;align-items:flex-start;margin:1rem 0 .25rem;font-size:.9rem;color:var(--pynet-text)}.confirm-dialog .email-option input{width:auto;margin:.15rem 0 0}.provision-email-option{display:flex;gap:.6rem;align-items:flex-start;margin:0 0 .75rem;font-size:.9rem;color:var(--pynet-text)}.provision-email-option input{width:auto;margin:.15rem 0 0}.detail-list{display:grid;gap:.65rem;margin:0}.detail-list>div{display:grid;grid-template-columns:8rem 1fr;gap:.75rem}.detail-list dt{margin:0;color:var(--pynet-text-muted);font-size:.9rem}.detail-list dd{margin:0}.inline-check{display:inline-flex;align-items:center;gap:.4rem}.inline-check input{width:auto;margin:0}.page-loading{min-height:100vh;display:grid;place-items:center;background:var(--pynet-bg);color:var(--pynet-text-muted);font-family:var(--pynet-font)}
