:root{--color-bg:#f5f7f6;--color-surface:#fff;--color-text:#1b2420;--color-muted:#5b6b63;--color-primary:#1f7a52;--color-primary-hover:#17603f;--color-success:#1f7a52;--color-error:#b3261e;--color-border:#dde5e0;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.25rem;--font-size-xl:2rem;--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2.5rem;--radius-md:8px;--shadow-sm:0 1px 3px #00000014}.page{max-width:720px;padding:var(--space-5) var(--space-3);margin:0 auto}.page__header{margin-bottom:var(--space-4)}.page__title{font-size:var(--font-size-xl);color:var(--color-primary);margin:0}.page__subtitle{margin:var(--space-1) 0 0;color:var(--color-muted)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-4)}.card__title{margin:0 0 var(--space-3);font-size:var(--font-size-lg)}.status{margin:0 0 var(--space-3);color:var(--color-muted)}.status--ok{color:var(--color-success)}.status--error{color:var(--color-error)}.button{font:inherit;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-primary);color:#fff;cursor:pointer;border:0}.button:hover{background:var(--color-primary-hover)}@media (width<=480px){.page{padding:var(--space-4) var(--space-3)}.page__title{font-size:var(--font-size-lg)}}.page--narrow{max-width:420px}.form{gap:var(--space-3);display:grid}.field{gap:var(--space-1);display:grid}.field__label{font-size:var(--font-size-sm);color:var(--color-muted)}.input{font:inherit;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text)}.input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.input--code{letter-spacing:.4em;font-size:var(--font-size-lg);text-align:center}.code-box{padding:var(--space-2) var(--space-3);background:var(--color-bg);border-radius:var(--radius-md);word-break:break-all;display:block}.link{color:var(--color-primary);font-size:var(--font-size-sm)}.button:disabled{opacity:.6;cursor:not-allowed}.button--ghost{color:var(--color-primary);border:1px solid var(--color-border);background:0 0}.button--ghost:hover{background:var(--color-bg)}a.button{text-decoration:none;display:inline-block}.list{margin:0 0 var(--space-3);gap:var(--space-2);padding:0;list-style:none;display:grid}.list__item{width:100%;font:inherit;text-align:left;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;display:flex}.list__item:hover{border-color:var(--color-primary)}.list__title{font-weight:600}.list__meta{color:var(--color-muted);font-size:var(--font-size-sm)}.tags{margin:0 0 var(--space-4);gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.tag{font-size:var(--font-size-sm);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background:var(--color-bg)}.actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.shell__nav{gap:var(--space-3);padding:var(--space-4) var(--space-3);background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;display:flex}.shell__brand{font-weight:700;font-size:var(--font-size-lg);color:var(--color-primary);margin:0}.shell__nav nav{gap:var(--space-1);display:grid}.nav-link{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text);text-decoration:none}.nav-link:hover{background:var(--color-bg)}.nav-link.active{background:var(--color-primary);color:#fff}.shell__user{gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-muted);margin-top:auto;display:grid}.shell__user strong{color:var(--color-text)}.shell__main{padding:var(--space-5) var(--space-4);width:100%;min-width:0;max-width:1100px}.page__header--row{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.card--spaced{margin-bottom:var(--space-4)}.button--small{padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm)}.form__grid{gap:var(--space-3);border:0;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0;padding:0;display:grid}.field--check{align-items:center;gap:var(--space-2);grid-column:1/-1;display:flex}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.table th,.table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);vertical-align:middle}.table th{color:var(--color-muted);font-weight:600}.table__actions{text-align:right;white-space:nowrap}@media (width<=760px){.shell{grid-template-columns:1fr}.shell__nav{border-right:0;border-bottom:1px solid var(--color-border)}.shell__main{padding:var(--space-4) var(--space-3)}}.stats{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.stat{gap:var(--space-1);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);text-decoration:none;display:grid}.stat:hover{border-color:var(--color-primary)}.stat__value{font-size:var(--font-size-xl);font-variant-numeric:tabular-nums;font-weight:700}.stat__label{color:var(--color-muted);font-size:var(--font-size-sm)}.badge{padding:0 var(--space-2);font-size:var(--font-size-sm);background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;display:inline-block}.badge--submitted{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.num{text-align:right;font-variant-numeric:tabular-nums}.filters{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.filters .input{width:auto}.field__error{color:var(--color-error);font-size:var(--font-size-sm)}.field__hint{color:var(--color-muted);font-size:var(--font-size-sm);margin:0}.field--wide{grid-column:1/-1}.input--invalid{border-color:var(--color-error)}.evidence{border-top:1px solid var(--color-border);padding-top:var(--space-3);gap:var(--space-2);display:grid}.list__item--static{cursor:default;flex-wrap:wrap;align-items:center}.list__item--static:hover{border-color:var(--color-border)}a.list__item{color:inherit;text-decoration:none}.button--danger{color:var(--color-error)}.shell--platform .shell__nav{background:#14231c;border-right-color:#14231c}.shell--platform .shell__brand{color:#fff}.shell--platform .nav-link{color:#d6e3dc}.shell--platform .nav-link:hover{background:#ffffff14}.shell--platform .nav-link.active{background:var(--color-primary);color:#fff}.shell--platform .shell__user,.shell--platform .shell__user strong{color:#d6e3dc}.shell--platform .shell__user .button--ghost{color:#fff;border-color:#ffffff4d}.shell__tag{font-size:var(--font-size-sm);opacity:.75;font-weight:500;display:block}.banner{margin:0 0 var(--space-4);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:#6b4e00;background:#fff4d6;border:1px solid #f0d58a}.badge--sub-active,.badge--sub-trial,.badge--org-active{color:var(--color-success);background:#e3f3ea;border-color:#bfe3cf}.badge--sub-expired,.badge--sub-cancelled{color:#6b4e00;background:#fff4d6;border-color:#f0d58a}.badge--sub-suspended,.badge--org-suspended{color:var(--color-error);background:#fde8e7;border-color:#f5c2bf}.grid-2{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.dl{gap:var(--space-1) var(--space-3);margin:0 0 var(--space-3);grid-template-columns:max-content 1fr;display:grid}.dl dt{color:var(--color-muted)}.dl dd{margin:0}.plain{padding-left:var(--space-4);margin:0}.table__row-link{cursor:pointer}.table__row-link:hover td{background:var(--color-bg)}.field--inline{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);display:flex}.spaced{margin-top:var(--space-3)}.list__item:disabled{opacity:.6;cursor:not-allowed}.banner--blocked{color:var(--color-error);background:#fde8e7;border-color:#f5c2bf}.pager{justify-content:flex-end;align-items:center;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.pager .field__hint:first-child{margin-right:auto}.tabs{gap:var(--space-1);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-3);display:flex}.tab{font:inherit;padding:var(--space-2) var(--space-3);color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000}.tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.picker{min-width:260px;display:inline-block;position:relative}.picker .input{width:100%}.picker__list{z-index:10;padding:var(--space-1) 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);max-height:280px;margin:2px 0 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.picker__list button{text-align:left;width:100%;font:inherit;padding:var(--space-2) var(--space-3);cursor:pointer;color:var(--color-text);background:0 0;border:0}.picker__list button:hover{background:var(--color-bg)}.picker__empty{padding:var(--space-2) var(--space-3);color:var(--color-muted)}.picked{align-items:center;gap:var(--space-2);padding:0 var(--space-2);display:inline-flex}.link--button{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.dialog{background:var(--color-surface);width:min(440px,100vw - 32px);color:var(--color-text);border:0;border-radius:12px;padding:0;box-shadow:0 20px 50px #00000040}.dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f191473}.dialog[open]{animation:.15s ease-out dialog-in}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.dialog__body{padding:var(--space-4);gap:var(--space-3);display:grid}.dialog__title{font-size:var(--font-size-lg);margin:0}.dialog__message{color:var(--color-muted);line-height:1.5}.dialog__actions{justify-content:flex-end;gap:var(--space-2);display:flex}.button--solid-danger{background:var(--color-error);border-color:var(--color-error);color:#fff}.button--solid-danger:hover{background:#8f1e18;border-color:#8f1e18}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans);font-size:var(--font-size-md);background:var(--color-bg);color:var(--color-text);margin:0}
