/* Uses the Plants Manager foundation; headers and back navigation belong to MainLayout. */
.passport-ledger { min-width: 0; }
.passport-workspace,.passport-legacy { background:var(--pm-app-surface,#fff);border:1px solid var(--pm-app-border,#e1e7ea);border-radius:var(--pm-app-radius,20px);padding:22px;box-shadow:var(--pm-app-shadow);min-width:0;margin-bottom:18px; }
.passport-section-bar {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;}
.passport-section-bar>p,.passport-notice p {margin:0;font-size:13px;line-height:1.55;color:var(--pm-app-text-muted,#66727f);max-width:660px;}
.passport-inline-actions {display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.passport-text-button {border:0;background:transparent;color:var(--pm-app-accent,#2d7651);font:inherit;font-size:13px;font-weight:650;cursor:pointer;padding:8px 0;text-decoration:none;line-height:1.4;text-align:left;}
.passport-text-button:hover {text-decoration:underline;}
.passport-form {padding:20px;display:grid;gap:18px;color:var(--pm-app-text,#18212b);min-width:0;}
.passport-form h3 {margin:0;}
.passport-form fieldset {border:0;padding:0;margin:0;min-width:0;display:grid;gap:16px;}
.passport-form fieldset:disabled {opacity:.65;}
.passport-form label,.passport-filter label,.passport-search {display:grid;gap:7px;font-size:13px;font-weight:600;min-width:0;}
.passport-form input:not([type=checkbox]),.passport-form select,.passport-form textarea,.passport-filter input,.passport-search input {width:100%;min-width:0;box-sizing:border-box;padding:11px 12px;border:1px solid var(--pm-app-border-strong,#cdd6db);border-radius:var(--pm-app-radius-control,12px);background:#fff;color:var(--pm-app-text,#18212b);font:inherit;min-height:44px;}
.passport-form :is(input,textarea,select):focus-visible,.passport-filter input:focus-visible,.passport-search input:focus-visible {outline:2px solid var(--pm-app-accent,#2d7651);outline-offset:2px;}
.passport-form textarea {min-height:76px;resize:vertical;}
.passport-form p,.passport-source p,.passport-legacy>p {margin:0;color:var(--pm-app-text-muted,#66727f);line-height:1.55;font-size:13px;overflow-wrap:anywhere;}
.passport-form-section {display:grid;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--pm-app-border,#e1e7ea);}
.passport-step-label {display:flex;align-items:center;gap:10px;font-size:14px;}
.passport-step-label>span {width:28px;height:28px;border-radius:9px;background:var(--pm-app-accent-soft,#eaf5ee);color:var(--pm-app-accent,#2d7651);display:grid;place-items:center;font-size:13px;flex:none;}
.passport-step-label>span.material-symbols-rounded {font-size:20px;}
.passport-check {display:flex!important;align-items:flex-start;gap:10px!important;line-height:1.5;}
.passport-check input {margin:3px 0 0;accent-color:var(--pm-app-accent,#2d7651);width:17px;height:17px;flex:none;}
.passport-grid {display:grid;grid-template-columns:minmax(0,3fr) minmax(110px,1fr);gap:14px;}
.passport-grid-even {grid-template-columns:repeat(2,minmax(0,1fr));}
.passport-tabs {display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0;}
.passport-filter {display:grid;grid-template-columns:minmax(180px,1fr) minmax(140px,170px) minmax(140px,170px) auto;gap:12px;align-items:end;padding:16px;background:var(--pm-app-surface-muted,#f8fafb);border-radius:14px;margin-bottom:18px;}
.passport-record {width:100%;box-sizing:border-box;border:1px solid var(--pm-app-border,#e1e7ea);background:#fff;border-radius:14px;padding:16px;margin-bottom:10px;display:flex;gap:14px;align-items:center;text-align:left;cursor:pointer;font:inherit;color:var(--pm-app-text,#18212b);}
.passport-record:hover {background:var(--pm-app-surface-muted,#f8fafb);border-color:var(--pm-app-border-strong,#cdd6db);}
.passport-record div {display:grid;gap:6px;min-width:0;flex:1;overflow-wrap:anywhere;}
.passport-record strong {font-size:14px;}
.passport-record span {color:var(--pm-app-text-muted,#66727f);font-size:13px;}
.passport-record .material-symbols-rounded {font-size:22px;flex:none;}
.passport-record .passport-record-icon {width:40px;height:40px;display:grid;place-items:center;background:var(--pm-app-accent-soft,#eaf5ee);color:var(--pm-app-accent,#2d7651);border-radius:12px;}
.passport-source,.passport-allocation {padding:16px;border:1px solid var(--pm-app-border,#e1e7ea);border-radius:14px;background:#fff;margin:12px 0;overflow-wrap:anywhere;min-width:0;}
.passport-source-heading {display:flex;gap:12px;justify-content:space-between;align-items:start;}
.passport-source-heading p {margin-top:5px;}
.passport-badge {display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:8px;background:var(--pm-app-surface-muted,#f8fafb);font-size:12px;font-weight:650;color:var(--pm-app-text-muted,#66727f);white-space:nowrap;}
.passport-badge.ready {background:var(--pm-app-accent-soft,#eaf5ee);color:var(--pm-app-accent,#2d7651);}
.passport-badge.attention {background:var(--pm-app-warning-soft,#fff8eb);color:var(--pm-app-warning,#a96216);}
.passport-source-meta {display:flex;flex-wrap:wrap;gap:22px;margin:16px 0;font-size:12px;color:var(--pm-app-text-muted,#66727f);}
.passport-source-meta strong {margin-left:6px;color:var(--pm-app-text,#18212b);}
.passport-source-actions {display:flex;gap:18px;align-items:start;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--pm-app-border,#e1e7ea);}
.passport-source-more {margin-left:auto;max-width:100%;}
.passport-source-more summary {cursor:pointer;font-size:13px;padding:10px 0;color:var(--pm-app-text-muted,#66727f);}
.passport-source-more>div {display:grid;gap:8px;max-width:440px;}
.passport-source-filters {display:flex;gap:22px;align-items:end;flex-wrap:wrap;margin-bottom:18px;}
.passport-source-filters .passport-search {flex:1;min-width:220px;}
.passport-source-filters .passport-check {padding-bottom:12px;font-size:13px;}
.passport-notice {display:flex;gap:14px;align-items:center;border:1px solid #efdcbf;background:var(--pm-app-warning-soft,#fff8eb);padding:18px;border-radius:16px;margin-bottom:18px;}
.passport-notice>div {flex:1;min-width:0;}
.passport-notice>span {color:var(--pm-app-warning,#a96216);}
.passport-notice strong {display:block;font-size:14px;margin-bottom:4px;}
.passport-error,.passport-success {padding:12px 14px;border-radius:12px;line-height:1.55;font-size:13px;}
.passport-error {color:#b42318!important;background:#fff1ef;}
.passport-success {color:var(--pm-app-accent,#2d7651)!important;background:var(--pm-app-accent-soft,#eaf5ee);}
.passport-hint {padding:10px 12px;border-radius:10px;background:var(--pm-app-warning-soft,#fff8eb);margin-bottom:12px!important;}
.passport-empty {padding:36px 18px;display:grid;justify-items:center;text-align:center;gap:12px;color:var(--pm-app-text-muted,#66727f);}
.passport-empty>.material-symbols-rounded {font-size:32px;color:var(--pm-app-accent,#2d7651);}
.passport-empty strong {color:var(--pm-app-text,#18212b);}
.passport-empty p {margin:0;max-width:520px;line-height:1.6;font-size:13px;}
.passport-pagination {display:flex;justify-content:center;align-items:center;gap:14px;padding-top:16px;}
.passport-legacy summary {cursor:pointer;font-size:13px;font-weight:650;color:var(--pm-app-text-muted,#66727f);}
.passport-legacy>p {margin-top:14px;}
.passport-detail {position:fixed;inset:0;background:#18212b66;z-index:10000;display:flex;justify-content:center;align-items:center;padding:15px;}
.passport-detail>.passport-form {background:#fff;max-width:760px;width:100%;max-height:90vh;overflow:auto;border-radius:20px;box-sizing:border-box;}
.passport-issue-controls {padding:12px 0;}
.passport-form details {padding:12px;border:1px solid var(--pm-app-border,#e1e7ea);border-radius:12px;}
.passport-form details label {margin-top:14px;}
.passport-form summary {cursor:pointer;font-size:13px;line-height:1.5;}
.passport-authority-panel .passport-form {max-width:740px;padding:0;}
.passport-save-button {justify-self:start;}
@media(max-width:900px) {.passport-section-bar{align-items:start;flex-direction:column;}.passport-filter{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}.passport-filter label:first-child{grid-column:1/-1;}}
@media(max-width:600px) {.passport-workspace,.passport-legacy{padding:16px;}.passport-form{padding:16px;}.passport-grid{grid-template-columns:1fr;}.passport-source-heading{flex-direction:column;}.passport-source-meta{gap:10px 18px;}.passport-source-actions{gap:10px 16px;}.passport-source-more{margin-left:0;width:100%;}.passport-notice{flex-wrap:wrap;}.passport-notice>.action-btn{margin-left:38px;}.passport-detail{padding:8px;}.passport-detail>.passport-form{max-height:94vh;}.passport-record{padding:14px;gap:10px;}.passport-record .passport-record-icon{display:none;}.passport-source-filters .passport-search{min-width:0;flex-basis:100%;}.passport-filter{padding:12px;}.passport-inline-actions{gap:14px;}}

@media(max-width:600px) { .passport-ledger .page-toolbar .automation-tabs { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;overflow:visible;gap:6px; } .passport-ledger .page-toolbar .automation-tabs button { min-width:0;font-size:12px;padding:0 7px; } .passport-ledger .page-toolbar .automation-tabs button span { display:none; } }
@media(max-width:600px) { .layout-container .passport-ledger .page-toolbar .automation-tabs button { width:100%;min-width:0;padding:0 4px;font-size:12px; } .layout-container .passport-ledger .page-toolbar .automation-tabs button span { display:none; } }

.passport-origin-fields { padding:0; }
.intake-material-chip { display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--pm-app-border);border-radius:12px;font-size:13px; }
.intake-line-note { display:block;color:var(--pm-app-text-muted);font-size:11px;line-height:1.5; }

.intake-product-name { display:grid;gap:4px;min-width:0; }

.catalog-json{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem}

/* Garden pages share visible groups, icons and comfortable action targets. */
.passport-section-intro { display:flex; align-items:start; gap:12px; min-width:0; }
.passport-section-intro>.material-symbols-rounded { display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#edf6ef;color:#28734c;flex:none;font-size:23px; }
.passport-section-intro h3 { margin:0 0 5px;font-size:15px;color:var(--pm-app-text,#18212b); }
.passport-section-intro p { margin:0;color:var(--pm-app-text-muted,#66727f);font-size:13px;line-height:1.55; }
.layout-container :is(.passport-ledger,.garden-catalogs) .action-btn { min-height:44px;white-space:normal;text-align:center; }
.passport-ledger .passport-section-bar { padding-bottom:18px;border-bottom:1px solid #e5ece7; }
.passport-ledger .passport-source-meta { padding:12px;border-radius:10px;background:#f5f8f5;gap:12px 22px; }
.passport-ledger .passport-source-actions .passport-text-button { border:1px solid #dce6df;border-radius:10px;padding:10px 12px;min-height:44px;box-sizing:border-box; }
.passport-ledger .passport-empty { background:#f8fbf9;border:1px dashed #d9e4dc;border-radius:14px; }
@media(max-width:600px) {
.passport-ledger .passport-section-bar { gap:12px; }.passport-section-intro { gap:10px; }
.passport-inline-actions .action-btn { font-size:12px; }
}
.passport-navigation { display:flex;flex-wrap:wrap;gap:6px;padding:5px;border:1px solid #dde5df;border-radius:14px;background:#edf2ef; }
.passport-navigation button { display:flex;align-items:center;gap:8px;border:1px solid transparent;border-radius:10px;padding:10px 13px;background:transparent;color:#53635b;min-height:44px;font:inherit;font-size:13px;font-weight:650;cursor:pointer; }
.passport-navigation button.active { background:#fff;border-color:#cbdccf;color:#226341;box-shadow:0 2px 5px #173c2410; }
.passport-navigation button .material-symbols-rounded { font-size:20px; }
.passport-navigation button>span:not(.material-symbols-rounded) { min-width:20px;text-align:center;border-radius:6px;padding:2px 5px;background:#e9efea;font-size:11px; }
@media(max-width:600px) { .passport-navigation { width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)); }.passport-navigation button { flex-direction:column;justify-content:center;position:relative;font-size:11px;gap:5px;padding:8px 4px;min-height:64px; }.passport-navigation button>span:not(.material-symbols-rounded) { position:absolute;top:4px;right:4px;min-width:12px;font-size:10px;padding:1px 3px; } }
.health-subject {display:flex;gap:12px;align-items:start;padding:14px;border:1px solid #d8e5dc;border-radius:12px;background:#f2f8f4;}
.health-subject>.material-symbols-rounded {color:#28734c;flex:none;}.health-subject p {margin-top:4px;}
.health-source-choice {padding:12px;border:1px solid #dde6df;border-radius:12px;background:#f9fbfa;}.health-source-choice small {display:block;margin-top:5px;font-size:12px;font-weight:400;color:#65756b;}
.health-history {padding:12px 0;border-bottom:1px solid #e4ebe5;}.health-history strong {font-size:13px;}.health-history p {margin-top:5px;}
@media(max-width:600px){.passport-navigation {grid-template-columns:repeat(2,minmax(0,1fr));}}
.health-field {display:grid;gap:7px;min-width:0;}
