.packages-page,.package-dialog { --pk-bg:#fff;--pk-soft:#f4f7fa;--pk-text:#172b42;--pk-muted:#5b6b80;--pk-line:#dfe6ee;color:var(--pk-text); }
.dark .packages-page,.dark .package-dialog { --pk-bg:#1b2028;--pk-soft:#242d38;--pk-text:#edf3fa;--pk-muted:#b5c2d3;--pk-line:#354151; }
.packages-page { display:flex;flex-direction:column;gap:.85rem;height:calc(100dvh - 6rem);min-height:0; }
.pk-header { display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;flex-shrink:0; }
.pk-header>div:first-child { min-width:0;max-width:100%; }
.pk-eyebrow { display:block;font-size:.6875rem;letter-spacing:.12em;font-weight:800;color:#0f766e; }
.dark .pk-eyebrow { color:#5eead4; }
.pk-header h1 { font-size:clamp(1.35rem,2.4vw,1.85rem);line-height:1.25;font-weight:750;letter-spacing:-.035em;margin:.2rem 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.pk-header p { display:none;margin:.3rem 0 0;font-size:.8125rem;color:var(--pk-muted); }
.pk-actions { display:flex;align-items:center;gap:.5rem; }
.pk-button { display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:2.75rem;min-width:2.75rem;border:1px solid var(--pk-line);border-radius:.7rem;background:var(--pk-bg);color:var(--pk-text);padding:.6rem .9rem;font-size:.8125rem;font-weight:700;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s; }
.pk-button:hover:not(:disabled) { background:var(--pk-soft);border-color:#14b8a6; }
.pk-button.pk-primary { background:#0f766e;border-color:#0f766e;color:white;box-shadow:0 3px 9px #0f766e20; }
.pk-button.pk-primary:hover:not(:disabled) { background:#115e59;border-color:#115e59; }
.pk-button.pk-danger { background:#b91c1c;border-color:#b91c1c;color:#fff; }
.pk-icon { padding:.5rem;width:2.75rem;flex-shrink:0; }
.packages-page button:disabled,.package-dialog button:disabled { opacity:.45;cursor:default;box-shadow:none; }
.packages-page :is(button,a,input,select):focus-visible,.package-dialog :is(button,a,input,textarea):focus-visible,.pk-table-scroll:focus-visible { outline:3px solid #14b8a6;outline-offset:3px; }
.pk-toolbar { display:flex;justify-content:space-between;gap:.65rem;flex-wrap:wrap;flex-shrink:0; }
.pk-tabs,.pk-search { display:flex;gap:.5rem;align-items:center; }
.pk-search { flex:1;min-width:12rem; }
.pk-search input,.pk-field input,.pk-field textarea { background:var(--pk-soft);border:1px solid var(--pk-line);border-radius:.65rem;color:var(--pk-text);min-height:2.75rem;padding:.6rem .75rem;font-size:.875rem;min-width:0;width:100%; }
.pk-results { display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;background:var(--pk-bg);border:1px solid var(--pk-line);border-radius:1rem; }
.pk-caption { display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;padding:.8rem 1rem;flex-shrink:0;border-bottom:1px solid var(--pk-line);font-size:.875rem; }
.pk-caption span { color:var(--pk-muted);font-size:.75rem; }
.pk-table-scroll { overflow:auto;min-height:0;flex:1;overscroll-behavior:contain; }
.pk-table { width:100%;min-width:40rem;border-collapse:separate;border-spacing:0;table-layout:fixed;text-align:left; }
.pk-table th { position:sticky;top:0;z-index:1;background:var(--pk-soft);font-size:.75rem;color:var(--pk-muted);padding:.7rem 1rem;border-bottom:1px solid var(--pk-line); }
.pk-table th:first-child { width:48%; }.pk-table th:nth-child(2) { width:22%; }.pk-table th:last-child { width:30%; }
.pk-table td { height:4.5rem;padding:.65rem 1rem;font-size:.8125rem;vertical-align:middle;border-bottom:1px solid var(--pk-line); }
.pk-table td strong { font-weight:700; }.pk-table td small { display:block;margin-top:.2rem;color:var(--pk-muted);font-size:.75rem; }
.pk-table tr:hover td { background:var(--pk-soft); }.pk-table tr:last-child td { border-bottom:0; }
.pk-ellipsis { display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden; }
.pk-badge { display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .55rem;border-radius:.5rem;background:#e0f2fe;color:#075985;font-size:.75rem;font-weight:750;white-space:nowrap; }
.dark .pk-badge { background:#16364b;color:#7dd3fc; }.pk-warning { color:#a16207!important; }.dark .pk-warning { color:#fcd34d!important; }
.pk-pager { display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.7rem .85rem;border-top:1px solid var(--pk-line);background:var(--pk-bg);flex-shrink:0; }
.pk-pager>div:first-child { display:flex;flex-direction:column;gap:.15rem; }.pk-pager strong { font-size:.8125rem; }.pk-pager span { font-size:.75rem;color:var(--pk-muted); }
.pk-footnote { font-size:.6875rem;line-height:1.4;color:var(--pk-muted);margin:0;flex-shrink:0; }
.pk-error,.pk-message { margin:0;padding:.65rem .85rem;font-size:.8125rem;border-radius:.7rem;flex-shrink:0; }
.pk-error { background:#fef2f2;color:#991b1b;border:1px solid #fca5a5; }.pk-message { background:#ecfdf5;color:#065f46;border:1px solid #6ee7b7; }
.pk-empty { padding:2rem 1rem;text-align:center;color:var(--pk-muted); }.pk-empty>i { font-size:1.8rem; }.pk-empty h2 { margin:.5rem 0;font-size:1rem;color:var(--pk-text); }.pk-empty p { font-size:.875rem; }
.package-dialog { --training-surface:var(--pk-soft);--training-border:var(--pk-line);--training-muted:var(--pk-muted);--training-ink:var(--pk-text);margin:auto;width:min(46rem,calc(100vw - 1.5rem));max-width:none;height:min(51rem,calc(100dvh - 2rem));max-height:calc(100dvh - 2rem);padding:0;border:1px solid var(--pk-line);border-radius:1.1rem;background:var(--pk-bg);box-shadow:0 24px 100px #0005;overflow:hidden; }
.package-dialog[open] { display:flex;flex-direction:column; }.package-dialog::backdrop { background:#08121d99;backdrop-filter:blur(3px); }
.pk-dialog-header { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid var(--pk-line);flex-shrink:0; }.pk-dialog-header h2 { margin:.2rem 0 0;font-size:1.2rem;font-weight:750; }
.pk-dialog-form { display:flex;flex-direction:column;flex:1;min-height:0; }.pk-dialog-body { display:flex;flex-direction:column;gap:1rem;overflow:auto;flex:1;min-height:0;padding:1rem 1.1rem;overscroll-behavior:contain; }
.pk-field { display:flex;flex-direction:column;gap:.35rem;min-width:0; }.pk-field label { font-size:.8125rem;font-weight:700; }.pk-field small,.pk-hint { font-size:.75rem;line-height:1.5;color:var(--pk-muted);margin:0; }
.pk-field textarea { resize:vertical;min-height:4.5rem;max-height:8rem; }.pk-dialog-footer { display:flex;justify-content:flex-end;gap:.6rem;flex-shrink:0;padding:.9rem 1.1rem;border-top:1px solid var(--pk-line); }
.pk-editor-steps { display:flex;flex-direction:column;gap:.5rem;list-style:none;padding:0;margin:0; }.pk-editor-steps li { display:flex;align-items:center;gap:.5rem;min-width:0;border:1px solid var(--pk-line);border-radius:.75rem;padding:.5rem;background:var(--pk-soft); }
.pk-step-number { display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:.5rem;background:var(--pk-bg);color:var(--pk-muted);font-size:.75rem;font-weight:750;flex-shrink:0; }.pk-step-title { flex:1;min-width:0;font-size:.8125rem;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.pk-editor-steps .pk-actions { gap:.25rem; }
.pk-step-title>small { display:block;font-size:.6875rem; }
.pk-step-heading { display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.875rem; }.pk-step-heading span { color:var(--pk-muted);font-size:.75rem; }
.pk-date { display:flex;position:relative;max-width:20rem; }.pk-date input[type=text] { padding-right:3rem;font-variant-numeric:tabular-nums; }.pk-date>button { position:absolute;right:0;top:0;min-width:2.75rem;height:2.75rem;background:transparent;color:var(--pk-muted);border:0;border-left:1px solid var(--pk-line);border-radius:0 .65rem .65rem 0;cursor:pointer; }.pk-date .pk-native-date { position:absolute;right:0;bottom:0;width:1px;height:1px;min-height:0;padding:0;border:0;opacity:0;pointer-events:none; }
.pk-program { padding:1rem;border:1px solid var(--pk-line);border-radius:.85rem;background:var(--pk-soft); }.pk-program h3 { margin:.5rem 0;font-size:1.1rem;font-weight:750;overflow-wrap:anywhere; }.pk-program p { margin:.5rem 0 0;font-size:.875rem;line-height:1.5;overflow-wrap:anywhere; }
.pk-track-actions { display:flex;gap:.5rem;flex-wrap:wrap; }.pk-inner-table { overflow:auto;min-height:6rem;border:1px solid var(--pk-line);border-radius:.7rem;flex-shrink:0;max-height:40dvh; }
.pk-progress { display:flex;flex-direction:column;gap:.3rem;min-width:4rem; }.pk-progress strong { font-size:.875rem; }.pk-progress>div { background:var(--pk-line);height:.35rem;border-radius:1rem;overflow:hidden; }.pk-progress>div>span { display:block;height:100%;background:#14b8a6;border-radius:1rem; }
.pk-overview { display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-shrink:0; }.pk-overview>div:first-child { display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;font-size:.875rem; }.pk-overview small { color:var(--pk-muted); }.pk-overview .pk-progress { width:25%;min-width:4rem; }
.pk-next-step { display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-shrink:0;border:1px solid #14b8a650;border-radius:.85rem;padding:.75rem 1rem;background:var(--pk-bg); }.pk-next-step>div { min-width:0; }.pk-next-step strong { font-size:.875rem;margin-top:.3rem; }.pk-note { margin:0;padding:.5rem .75rem;max-height:4rem;overflow:auto;flex-shrink:0;color:var(--pk-muted);font-size:.8125rem;border-left:3px solid #14b8a6; }
.pk-sr-only { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0); }
@media(min-width:640px) { .packages-page { height:calc(100dvh - 7rem); }.pk-header p { display:block; }.pk-search { flex:initial;min-width:20rem; } }
@media(min-width:768px) { .packages-page { height:calc(100dvh - 8rem); } }
@media(prefers-reduced-motion:reduce) { .pk-button { transition:none; } }
