.tp-admin{display:flex;flex-direction:column;gap:20px;color:var(--ink,#1d1d20);min-width:0;font-size:14px}.tp-admin *{box-sizing:border-box}.tp-admin h2,.tp-admin h3,.tp-admin h4,.tp-admin p{margin:0}.tp-admin button,.tp-admin input,.tp-admin textarea{font:inherit}.tp-intro{display:flex;justify-content:space-between;align-items:center;gap:18px}.tp-eyebrow{font-size:10px;font-weight:800;letter-spacing:1.4px;color:var(--accent,#7867e6);margin-bottom:8px!important}.tp-intro h2{font-size:21px;letter-spacing:-.8px;line-height:1.5}.tp-intro>div>p:last-child{font-size:12px;line-height:1.8;color:var(--muted,#747477);margin-top:7px}.tp-button{border:1px solid var(--line,#deded7);border-radius:9px;background:var(--surface,#fff);color:var(--ink,#1d1d20);padding:10px 14px;font-weight:700;font-size:12px!important;line-height:1.4;cursor:pointer;white-space:nowrap}.tp-button:hover:not(:disabled){border-color:var(--accent,#7867e6);color:var(--accent-dark,#5948c9)}.tp-button:disabled{opacity:.45;cursor:not-allowed}.tp-button-primary{background:var(--accent,#7867e6);border-color:var(--accent,#7867e6);color:#fff}.tp-button-primary:hover:not(:disabled){background:var(--accent-dark,#5948c9);color:#fff}.tp-button-danger{background:#fff3ef;border-color:#ecd6cf;color:#a75740}.tp-button-danger:hover:not(:disabled){border-color:#c7745a;color:#943f2d;background:#ffede5}.tp-button-danger-quiet{padding:6px 9px;border-color:#e9ddd7;color:#a86650;background:transparent}.tp-admin :is(button,input,textarea):focus-visible{outline:3px solid #b5a6f6;outline-offset:3px}.tp-notice{display:flex;align-items:center;justify-content:space-between;gap:15px;line-height:1.7;padding:13px 16px;border-radius:11px;font-size:12px;overflow-wrap:anywhere}.tp-error{background:#fff1ec;border:1px solid #f0d2c7;color:#9d4d35}.tp-success{background:#edf7f0;border:1px solid #d6e8db;color:#45815a}.tp-video-note{display:flex;align-items:center;flex-wrap:wrap;gap:7px 16px;background:var(--accent-soft,#eeebff);padding:13px 16px;border:1px solid #ded8f5;border-radius:11px;font-size:11px;line-height:1.8;color:#77698b}.tp-video-note strong{color:#6951b2;white-space:nowrap;font-size:12px}.tp-main-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:20px;align-items:start}.tp-card{background:var(--surface,#fff);border:1px solid var(--line,#deded7);border-radius:16px;padding:23px;min-width:0;box-shadow:0 3px 14px #201f1c04}.tp-card-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px}.tp-card h3{font-size:16px;letter-spacing:-.4px;line-height:1.6}.tp-card h4{font-size:13px;line-height:1.6}.tp-muted{font-size:11px;color:var(--muted,#747477)}.tp-admin fieldset{border:0;padding:0;margin:0;min-width:0}.tp-admin fieldset:disabled{opacity:.75}.tp-field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;font-weight:600;font-size:11px;min-width:0}.tp-field input{border:1px solid var(--line,#deded7);border-radius:8px;padding:11px 12px;min-width:0;width:100%;color:var(--ink,#1d1d20);font-size:12px;background:var(--paper,#fbfbf8)}.tp-field small{font-size:10px;line-height:1.6;font-weight:400;color:var(--muted,#747477)}.tp-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.tp-help{font-size:11px;line-height:1.8;color:var(--muted,#747477);margin:4px 0 12px!important}.tp-warning{color:#a1753b}.tp-expiry-preview{font-size:11px;font-weight:600;color:#77639b;line-height:1.8;padding:10px 12px;border-radius:8px;background:#f5f2fc;margin:13px 0!important}.tp-create .tp-button-primary{width:100%;margin-top:4px}.tp-course-list{display:flex;flex-direction:column;gap:10px;max-height:590px;overflow:auto;padding:2px}.tp-course-row{display:block;text-align:left;width:100%;background:var(--paper,#fbfbf8);color:var(--ink,#1d1d20);border:1px solid #e5e4dd;border-radius:11px;padding:15px;cursor:pointer}.tp-course-row:hover{border-color:#c9bff1}.tp-course-row.tp-selected{border-color:#a38de5;background:#f6f3ff;box-shadow:inset 0 0 0 1px #a38de5}.tp-course-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.tp-course-title strong{font-size:13px;overflow-wrap:anywhere;line-height:1.6}.tp-status{display:inline-flex;align-items:center;flex-shrink:0;font-weight:600;font-size:10px;line-height:1.4;padding:5px 8px;border-radius:20px;white-space:nowrap}.tp-active{background:#e8f3ec;color:#4d8960}.tp-stopped{background:#eeece9;color:#8c8881}.tp-expired{background:#fcf0d9;color:#a57a35}.tp-course-expiry{font-size:10px;color:var(--muted,#747477);margin:7px 0 10px!important;line-height:1.6}.tp-course-stats{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;font-size:10px;color:#8b8398;line-height:1.7}.tp-budget-row{display:flex;align-items:center;gap:13px;margin-top:10px;font-size:10px;color:#756c84;flex-wrap:wrap}.tp-budget-row progress{flex:1;min-width:70px;max-width:180px;height:5px;accent-color:var(--accent,#7867e6)}.tp-empty{background:var(--paper,#fbfbf8);text-align:center;border:1px dashed var(--line,#deded7);border-radius:11px;padding:30px 15px;color:var(--muted,#747477);font-size:12px;line-height:1.8}.tp-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tp-code-card{border-color:#b9abeb;background:#fcfaff}.tp-code-card .tp-card-heading{margin-bottom:11px}.tp-code-warning{font-size:12px;line-height:1.8;color:#806b98;margin-bottom:14px!important}.tp-code-text{display:block;width:100%;resize:vertical;min-height:85px;max-height:300px;border:1px solid #d9d0ed;border-radius:9px;padding:12px 14px;margin:14px 0 12px;line-height:1.9;font-family:ui-monospace,Consolas,monospace!important;font-size:12px!important;color:#584570;background:#fff}.tp-saved-check{display:flex;flex-direction:row;align-items:flex-start;gap:8px;font-size:12px;line-height:1.8;color:#746186;font-weight:500}.tp-saved-check input{width:14px;height:14px;padding:0;flex-shrink:0;margin:4px 0 0;accent-color:var(--accent,#7867e6)}.tp-management-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 25px}.tp-mini-form{background:var(--paper,#fbfbf8);border:1px solid #e9e7e0;border-radius:11px;padding:18px;min-width:0}.tp-mini-form h4{margin-bottom:15px}.tp-mini-form .tp-field input{background:#fff}.tp-mini-form .tp-help{margin-top:13px!important;margin-bottom:0!important}.tp-mini-form .tp-expiry-preview{margin-bottom:0!important}.tp-confirm{background:#fff3ea;border:1px solid #eed2bb;border-radius:11px;padding:17px;margin-bottom:24px;color:#986a45;font-size:13px}.tp-confirm p{font-size:11px;margin:8px 0 13px;overflow-wrap:anywhere}.tp-student-heading{margin-top:5px;margin-bottom:14px}.tp-table-wrap{width:100%;overflow-x:auto}.tp-table{border-collapse:collapse;width:100%;font-size:11px;white-space:nowrap}.tp-table th{padding:11px 10px;background:var(--paper,#fbfbf8);font-size:10px;color:var(--muted,#747477);text-align:left;font-weight:600;border-bottom:1px solid var(--line,#deded7)}.tp-table td{padding:14px 10px;border-bottom:1px solid #eeede7;color:#716a7d}.tp-table tbody tr:last-child td{border-bottom:0}.tp-admin .tp-detail>.tp-card-heading h3{overflow-wrap:anywhere}@media(max-width:1250px){.tp-main-grid{grid-template-columns:minmax(265px,.85fr) minmax(300px,1.15fr);gap:16px}.tp-card{padding:19px}.tp-card-heading{gap:10px}.tp-intro h2{font-size:19px}}@media(max-width:900px){.tp-main-grid{grid-template-columns:1fr}.tp-management-grid{gap:12px}.tp-course-list{max-height:480px}.tp-intro{align-items:flex-start}.tp-card-heading{flex-wrap:wrap}}@media(max-width:620px){.tp-admin{gap:15px}.tp-intro{flex-direction:column;gap:12px}.tp-intro h2{font-size:18px}.tp-intro .tp-button{align-self:flex-end}.tp-card{padding:17px;border-radius:13px}.tp-main-grid{gap:15px}.tp-management-grid{grid-template-columns:1fr}.tp-detail>.tp-card-heading{align-items:flex-start}.tp-card-heading>.tp-actions{width:100%;justify-content:space-between}.tp-code-card .tp-card-heading>.tp-muted{width:100%;font-size:10px}.tp-actions .tp-button{padding:8px 11px;font-size:11px!important}.tp-video-note{padding:12px 14px;gap:4px}.tp-saved-check{font-size:11px}.tp-course-stats{display:block}.tp-course-stats span{display:block}.tp-table{min-width:650px}.tp-code-warning{font-size:11px}}
.tp-admin .tp-saved-codes{margin-top:24px;padding-top:24px;border-top:1px solid #e3e0d8}.tp-admin .tp-code-list{max-height:360px;overflow:auto;margin-top:12px}.tp-admin .tp-code-list code{white-space:nowrap;user-select:all}.tp-admin .tp-student-budget-form{display:flex;gap:6px;align-items:center}.tp-admin .tp-student-budget-form input{width:100px;min-width:0;padding:8px;border:1px solid #ddd;border-radius:8px}.tp-admin input[type=datetime-local]{min-width:0;max-width:100%;font-size:13px}.tp-admin .tp-video-limits .tp-help{line-height:1.7}
.tp-admin .tp-field:has(input[type=datetime-local]){grid-column:1 / -1}
