:root {
    --page:#f4f6f8;
    --surface:#ffffff;
    --surface-soft:#f8fafc;
    --text:#172033;
    --muted:#687386;
    --line:#dce2e9;
    --line-strong:#c8d0da;
    --accent:#2463eb;
    --accent-dark:#194fc5;
    --accent-soft:#eaf0ff;
    --success:#16794b;
    --success-soft:#e8f6ef;
    --warning:#9a5b00;
    --warning-soft:#fff5df;
    --danger:#b42332;
    --danger-soft:#fdecef;
    --shadow:0 12px 35px rgba(28,42,66,.08);
    --shadow-soft:0 3px 12px rgba(28,42,66,.06);
    --radius:14px;
}
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body {
    margin:0;
    min-height:100vh;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    background:var(--page);
    color:var(--text);
    line-height:1.45;
}
a {
    color:var(--accent);
    text-decoration:none;
}
a:hover { text-decoration:underline; }

.topbar {
    position:sticky;
    top:0;
    z-index:20;
    display:flex;
    justify-content:space-between;
    align-items:center;
    min-height:66px;
    padding:0 28px;
    background:rgba(23,32,51,.96);
    color:#fff;
    box-shadow:0 4px 16px rgba(0,0,0,.12);
    backdrop-filter:blur(10px);
}
.topbar a {
    color:#fff;
    margin-left:6px;
    padding:10px 12px;
    border-radius:9px;
}
.topbar nav a:hover {
    background:rgba(255,255,255,.1);
    text-decoration:none;
}
.brand a {
    margin:0;
    padding:0;
    font-size:1.18rem;
    font-weight:800;
    letter-spacing:-.02em;
}
.container {
    width:min(1200px,100%);
    margin:0 auto;
    padding:30px 24px 54px;
}
h1,h2,h3 {
    line-height:1.18;
    letter-spacing:-.025em;
}
h1 {
    margin:0 0 18px;
    font-size:clamp(1.8rem,3vw,2.45rem);
}
h2 { margin-top:0; }
.card {
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:22px;
    margin:18px 0;
    box-shadow:var(--shadow-soft);
}
.login-card {
    max-width:430px;
    margin:70px auto;
    box-shadow:var(--shadow);
}
label {
    display:flex;
    flex-direction:column;
    gap:7px;
    color:#344054;
    font-size:.94rem;
    font-weight:700;
}
input,select,textarea,button,.button {
    font:inherit;
    border-radius:10px;
}
input,select,textarea {
    width:100%;
    padding:12px 13px;
    color:var(--text);
    background:#fff;
    border:1px solid var(--line-strong);
    transition:border-color .15s ease,box-shadow .15s ease;
}
input:hover,select:hover,textarea:hover { border-color:#aeb8c4; }
input:focus,select:focus,textarea:focus {
    outline:none;
    border-color:var(--accent);
    box-shadow:0 0 0 4px rgba(36,99,235,.13);
}
textarea {
    min-height:120px;
    resize:vertical;
}
button,.button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:11px 17px;
    border:1px solid var(--accent);
    background:var(--accent);
    color:#fff;
    font-weight:750;
    cursor:pointer;
    box-shadow:0 3px 8px rgba(36,99,235,.18);
    transition:transform .12s ease,background .12s ease,box-shadow .12s ease;
}
button:hover,.button:hover {
    background:var(--accent-dark);
    border-color:var(--accent-dark);
    text-decoration:none;
    transform:translateY(-1px);
    box-shadow:0 5px 12px rgba(36,99,235,.23);
}
button:active,.button:active { transform:translateY(0); }
.button-secondary {
    background:#fff;
    color:var(--text);
    border-color:var(--line-strong);
    box-shadow:none;
}
.button-secondary:hover {
    background:var(--surface-soft);
    color:var(--text);
    border-color:#aeb8c4;
    box-shadow:none;
}
.button-quiet {
    background:transparent;
    color:var(--muted);
    border-color:transparent;
    box-shadow:none;
}
.button-quiet:hover {
    color:var(--text);
    background:#e9edf2;
    border-color:transparent;
    box-shadow:none;
}
.error,.success {
    padding:12px 14px;
    border-radius:10px;
    font-weight:750;
}
.error {
    color:var(--danger);
    background:var(--danger-soft);
    border:1px solid #f5cbd1;
}
.success {
    color:var(--success);
    background:var(--success-soft);
    border:1px solid #c8ead8;
}
.muted { color:var(--muted); font-size:.9rem; }

.tiles {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:17px;
}
.tile {
    position:relative;
    overflow:hidden;
    min-height:126px;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:21px;
    box-shadow:var(--shadow-soft);
}
.tile::before {
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:5px;
    background:#98a2b3;
}
.tile span {
    display:block;
    color:var(--muted);
    font-size:.88rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.tile strong {
    display:block;
    margin-top:12px;
    font-size:clamp(1.65rem,3vw,2.2rem);
}
.tile-inventory::before { background:#2463eb; }
.tile-value::before { background:#7c3aed; }
.tile-sales::before { background:#d97706; }
.tile-profit::before { background:#168052; }
.tile-profit strong { color:var(--success); }

table {
    width:100%;
    border-collapse:separate;
    border-spacing:0;
}
th,td {
    padding:13px 12px;
    text-align:left;
    vertical-align:middle;
    border-bottom:1px solid var(--line);
}
th {
    color:#536174;
    background:#f7f9fb;
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.055em;
}
tr:last-child td { border-bottom:0; }
tbody tr:hover td { background:#fafcff; }
.table-scroll { overflow-x:auto; }
.inventory-card { padding:0; overflow:hidden; }
.inventory-table th:first-child,
.inventory-table td:first-child { padding-left:20px; }
.inventory-table th:last-child,
.inventory-table td:last-child { padding-right:20px; }
.profit-cell {
    color:var(--success);
    font-weight:750;
}
.table-action {
    display:inline-flex;
    padding:7px 10px;
    border-radius:8px;
    font-size:.9rem;
    font-weight:700;
}
.table-action:hover {
    background:var(--accent-soft);
    text-decoration:none;
}
.status-badge {
    display:inline-flex;
    align-items:center;
    min-height:27px;
    padding:4px 9px;
    border-radius:999px;
    color:#4b5565;
    background:#edf0f3;
    font-size:.78rem;
    font-weight:750;
    white-space:nowrap;
}
.status-sold {
    color:var(--success);
    background:var(--success-soft);
}
.status-archived {
    color:#616b79;
    background:#eceff2;
}
.status-listed,
.status-on-poshmark {
    color:#3f51a5;
    background:#eef0ff;
}
.status-at-amelia,
.status-at-belleview,
.status-at-wildwood {
    color:var(--warning);
    background:var(--warning-soft);
}
.empty-state {
    padding:38px!important;
    color:var(--muted);
    text-align:center;
}

.row-between {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
}
.search {
    display:flex;
    gap:10px;
    margin:16px 0;
}
.search input { flex:1; }
.grid-form {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.full { grid-column:1/-1; }

/* Approved ItemTrackerOS item-entry design */
.item-page-heading {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:12px;
}
.item-page-heading h1 { margin-bottom:4px; }
.item-sku {
    margin:0;
    color:var(--muted);
}
.item-entry-form { max-width:980px; }
.form-section {
    padding:0;
    overflow:hidden;
    box-shadow:var(--shadow-soft);
}
.form-section-heading {
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:16px;
    padding:15px 21px;
    border-bottom:1px solid var(--line);
    background:#fafbfd;
}
.form-section-heading h2 {
    margin:0;
    font-size:.82rem;
    text-transform:uppercase;
    letter-spacing:.095em;
    color:#475467;
}
.form-section-heading p { margin:0; }
.approved-item-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px 24px;
    padding:22px;
}
.description-field { grid-column:1/-1; }
.money-field-row {
    display:grid;
    grid-template-columns:minmax(220px,360px);
    padding:22px;
}
.pricing-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    padding:22px;
}
.currency-input {
    display:flex;
    align-items:center;
    border:1px solid var(--line-strong);
    border-radius:10px;
    background:#fff;
    overflow:hidden;
    transition:border-color .15s ease,box-shadow .15s ease;
}
.currency-input:hover { border-color:#aeb8c4; }
.currency-input:focus-within {
    border-color:var(--accent);
    box-shadow:0 0 0 4px rgba(36,99,235,.13);
}
.currency-input>span {
    padding-left:13px;
    color:var(--muted);
    font-weight:700;
}
.currency-input input {
    border:0;
    outline:0;
    box-shadow:none;
    padding-left:7px;
}
.calculated-section {
    background:#f5f8fc;
    border-color:#d7e0ec;
}
.calculated-section .form-section-heading { background:transparent; }
.calculated-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1px;
    margin:0;
    padding:1px;
    background:#d9e2ec;
}
.calculated-grid>div {
    background:#fff;
    padding:19px 21px;
}
.calculated-grid dt {
    color:var(--muted);
    font-size:.82rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.045em;
}
.calculated-grid dd {
    margin:7px 0 0;
    font-size:1.4rem;
    font-weight:800;
}
.calculated-grid .calculated-emphasis { background:#f7fbf9; }
.calculated-grid .calculated-emphasis dd {
    color:var(--success);
    font-size:1.62rem;
}
.notes-field { padding:22px; }
.notes-field textarea { width:100%; }
.item-form-actions {
    position:sticky;
    bottom:0;
    z-index:10;
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:center;
    margin:22px 0 0;
    padding:16px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:rgba(255,255,255,.94);
    box-shadow:0 -8px 28px rgba(28,42,66,.08);
    backdrop-filter:blur(10px);
}
.visually-hidden {
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}

@media (max-width:900px) {
    .tiles { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
    .container { padding:20px 14px 40px; }
    .topbar {
        position:static;
        flex-direction:column;
        align-items:flex-start;
        gap:8px;
        padding:15px 16px;
    }
    .topbar nav {
        display:flex;
        flex-wrap:wrap;
        margin-left:-8px;
    }
    .tiles,.grid-form,.approved-item-grid,.pricing-grid,.calculated-grid {
        grid-template-columns:1fr;
    }
    .description-field { grid-column:auto; }
    .row-between,.item-page-heading {
        align-items:stretch;
        flex-direction:column;
    }
    .search { flex-direction:column; }
    .item-form-actions { position:static; }
    .item-form-actions>* { width:100%; text-align:center; }
    .form-section-heading {
        align-items:flex-start;
        flex-direction:column;
        gap:5px;
    }
}
@media (max-width:480px) {
    .tiles { grid-template-columns:1fr; }
    .card { border-radius:12px; }
}


/* v0.3.0 user management */
.dashboard-welcome { margin-bottom:18px; }
.dashboard-welcome h1 { margin-bottom:2px; }
.eyebrow {
    margin:0 0 4px;
    color:var(--accent);
    font-size:.78rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.09em;
}
.account-card { max-width:820px; }
.account-form { display:grid; gap:18px; }
.account-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.section-divider {
    width:100%;
    height:1px;
    margin:4px 0;
    border:0;
    background:var(--line);
}
.checkbox-list {
    display:grid;
    gap:10px;
    padding:15px;
    border:1px solid var(--line);
    border-radius:12px;
    background:var(--surface-soft);
}
.checkbox-label {
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:10px;
    font-weight:650;
}
.checkbox-label input {
    width:18px;
    height:18px;
    margin:0;
}
@media (max-width:720px) {
    .account-grid { grid-template-columns:1fr; }
}


/* v0.3.1 inventory actions and application footer */
.site-footer {
    display:flex;
    justify-content:space-between;
    gap:16px;
    width:min(1200px,100%);
    margin:0 auto;
    padding:20px 24px 34px;
    color:var(--muted);
    font-size:.84rem;
}
.duplicate-banner {
    padding:13px 15px;
    border:1px solid #bfd0ff;
    border-radius:11px;
    color:#284a9b;
    background:#eef3ff;
    font-weight:650;
}
.destructive-actions {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-top:26px;
}
.destructive-actions h2 { margin-bottom:4px; }
.inventory-action-buttons {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
}
.inventory-action-buttons form { margin:0; }
.button-danger {
    color:#fff;
    background:var(--danger);
    border-color:var(--danger);
    box-shadow:0 3px 8px rgba(180,35,50,.18);
}
.button-danger:hover {
    color:#fff;
    background:#92202c;
    border-color:#92202c;
}
.delete-confirmation {
    max-width:720px;
    border-color:#f0c1c8;
}
.danger-label {
    margin:0 0 8px;
    color:var(--danger);
    font-size:.78rem;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.delete-confirm-form {
    display:grid;
    gap:18px;
    margin-top:24px;
}
.actions-menu {
    position:relative;
    width:max-content;
}
.actions-menu summary {
    list-style:none;
    cursor:pointer;
    padding:7px 10px;
    border-radius:8px;
    color:var(--accent);
    font-weight:750;
}
.actions-menu summary::-webkit-details-marker { display:none; }
.actions-menu summary:hover { background:var(--accent-soft); }
.actions-menu-panel {
    position:absolute;
    right:0;
    z-index:30;
    display:grid;
    min-width:145px;
    margin-top:6px;
    padding:6px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    box-shadow:var(--shadow);
}
.actions-menu-panel a,
.actions-menu-panel button {
    width:100%;
    min-height:auto;
    justify-content:flex-start;
    padding:9px 10px;
    border:0;
    border-radius:7px;
    color:var(--text);
    background:transparent;
    box-shadow:none;
    font-weight:650;
    text-align:left;
}
.actions-menu-panel a:hover,
.actions-menu-panel button:hover {
    color:var(--text);
    background:var(--surface-soft);
    transform:none;
    box-shadow:none;
    text-decoration:none;
}
.actions-menu-panel form { margin:0; }
.actions-menu-panel .danger-link { color:var(--danger); }
@media (max-width:720px) {
    .site-footer,
    .destructive-actions {
        align-items:stretch;
        flex-direction:column;
    }
    .inventory-action-buttons > * {
        width:100%;
        text-align:center;
    }
    .inventory-action-buttons form button { width:100%; }
}


/* v0.3.2 archive visibility, filters and restore */
.inventory-filters {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:16px 0 8px;
}
.inventory-filters a {
    display:inline-flex;
    align-items:center;
    min-height:38px;
    padding:8px 13px;
    border:1px solid var(--line);
    border-radius:999px;
    color:var(--muted);
    background:#fff;
    font-size:.9rem;
    font-weight:750;
}
.inventory-filters a:hover {
    color:var(--text);
    background:var(--surface-soft);
    text-decoration:none;
}
.inventory-filters a.active {
    color:#fff;
    background:var(--accent);
    border-color:var(--accent);
}
.archived-row td {
    color:#7c8591;
    background:#f1f3f5!important;
}
.archived-row td:not(:last-child) {
    opacity:.72;
}
.archived-row .profit-cell {
    color:#7c8591;
}
.archived-row:hover td {
    background:#e9ecef!important;
}
.status-in-inventory {
    color:var(--success);
    background:var(--success-soft);
}
.status-archived {
    color:#626b77;
    background:#dfe3e7;
}
.status-sold {
    color:#9d2d3a;
    background:#fbe9ec;
}
@media (max-width:720px) {
    .inventory-filters a {
        flex:1;
        justify-content:center;
    }
}


/* v0.3.3 Inventory Manager polish */
.inventory-filters {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:0;
    margin:16px 0 10px;
}
.inventory-filters a {
    display:inline;
    min-height:auto;
    padding:0 11px;
    border:0;
    border-radius:0;
    color:var(--muted);
    background:transparent;
    font-size:.95rem;
    font-weight:650;
}
.inventory-filters a:first-child { padding-left:0; }
.inventory-filters a:not(:last-child)::after {
    content:"|";
    display:inline-block;
    margin-left:22px;
    color:#a7afb9;
    font-weight:400;
}
.inventory-filters a:hover {
    color:var(--accent);
    background:transparent;
    text-decoration:none;
}
.inventory-filters a.active {
    color:var(--accent);
    background:transparent;
    border:0;
    font-weight:850;
}
.inventory-table tr.archived-row > td {
    color:#7b8490!important;
    background:#eceff2!important;
    opacity:.72;
}
.inventory-table tr.archived-row:hover > td {
    background:#e3e7ea!important;
}
.inventory-table tr.archived-row .status-badge {
    color:#59616c!important;
    background:#d4d9de!important;
    opacity:1;
}
.inventory-table tr.archived-row .actions-menu,
.inventory-table tr.archived-row .actions-menu * {
    opacity:1;
}
.inventory-table tr.archived-row .description-link,
.inventory-table tr.archived-row .profit-cell {
    color:#7b8490!important;
}
.description-link {
    color:var(--text);
    font-weight:700;
}
.description-link:hover {
    color:var(--accent);
    text-decoration:none;
}
.empty-state { padding:44px 24px!important; }
.empty-state strong {
    display:block;
    margin-bottom:8px;
    color:var(--text);
    font-size:1.05rem;
}
.empty-state span {
    display:block;
    color:var(--muted);
}
.success a {
    margin-left:6px;
    font-weight:800;
    text-decoration:underline;
}
@media (max-width:720px) {
    .inventory-filters { justify-content:flex-start; }
    .inventory-filters a { flex:initial; padding:4px 8px; }
    .inventory-filters a:first-child { padding-left:0; }
    .inventory-filters a:not(:last-child)::after { margin-left:16px; }
}


/* v0.3.4 sortable inventory, counts and keyboard help */
.sort-link {
    display:inline-flex;
    align-items:center;
    color:inherit;
    font-weight:800;
    white-space:nowrap;
}
.sort-link:hover {
    color:var(--accent);
    text-decoration:none;
}
.numeric-sort {
    justify-content:flex-end;
}
.keyboard-hint {
    margin:-2px 0 12px;
    color:var(--muted);
    font-size:.82rem;
    text-align:right;
}
.keyboard-hint kbd {
    display:inline-block;
    min-width:22px;
    padding:2px 6px;
    border:1px solid #cbd2dc;
    border-bottom-width:2px;
    border-radius:5px;
    background:#fff;
    color:var(--text);
    font-family:inherit;
    font-size:.76rem;
    font-weight:800;
    text-align:center;
}
.keyboard-hint span {
    margin:0 7px;
}
@media (max-width:720px) {
    .keyboard-hint {
        text-align:left;
    }
}


/* v0.3.5 learned autocomplete */
.autocomplete {
    position:relative;
}
.autocomplete-list {
    position:absolute;
    z-index:1000;
    top:calc(100% + 4px);
    left:0;
    right:0;
    overflow:hidden;
    margin:0;
    padding:5px;
    border:1px solid #cfd6df;
    border-radius:9px;
    background:#fff;
    box-shadow:0 12px 30px rgba(28, 39, 56, .16);
    list-style:none;
}
.autocomplete-list[hidden] {
    display:none;
}
.autocomplete-option {
    display:block;
    width:100%;
    padding:9px 11px;
    border:0;
    border-radius:6px;
    background:transparent;
    color:var(--text);
    font:inherit;
    text-align:left;
    cursor:pointer;
}
.autocomplete-option:hover,
.autocomplete-option.active {
    background:#edf4ff;
    color:var(--accent);
}
.autocomplete-match {
    font-weight:850;
}
.autocomplete-note {
    margin-top:5px;
    color:var(--muted);
    font-size:.78rem;
}


/* v0.4.0 Dashboard */
.dashboard-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0}.metric-card{display:flex;min-height:142px;flex-direction:column;justify-content:center;padding:22px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 7px 18px rgba(31,43,58,.06);color:var(--text)}.metric-card:hover{border-color:#b8c9df;box-shadow:0 10px 24px rgba(31,43,58,.10);text-decoration:none;transform:translateY(-1px)}.metric-card strong{display:block;margin:8px 0 5px;font-size:1.85rem;line-height:1.1}.metric-label{color:var(--muted);font-size:.86rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.metric-detail{color:var(--muted);font-size:.85rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px;margin:18px 0}.dashboard-panel{padding:0;overflow:hidden}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 15px;border-bottom:1px solid var(--border)}.panel-heading h2{margin:0 0 4px;font-size:1.08rem}.panel-heading p{margin:0}.store-summary-list,.attention-list,.activity-list{display:flex;flex-direction:column}.store-summary-row{display:grid;grid-template-columns:minmax(0,1fr) auto 48px;align-items:center;gap:14px;padding:15px 22px;border-bottom:1px solid var(--border);color:var(--text)}.store-summary-row:last-child,.attention-row:last-child,.activity-row:last-child{border-bottom:0}.store-summary-row:hover,.attention-row:hover{background:#f7f9fc;text-decoration:none}.store-name{font-weight:750}.store-value{color:var(--muted);font-size:.88rem}.store-count{display:inline-flex;min-width:38px;justify-content:center;padding:5px 8px;border-radius:999px;background:#edf4ff;color:var(--accent)}.attention-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 22px;border-bottom:1px solid var(--border);color:var(--text)}.attention-row span{font-weight:650}.attention-row strong{display:inline-flex;min-width:38px;justify-content:center;padding:5px 8px;border-radius:999px;background:#f0f2f5;color:var(--text)}.recent-activity{margin-top:18px}.activity-row{display:grid;grid-template-columns:12px minmax(0,1fr);gap:13px;padding:15px 22px;border-bottom:1px solid var(--border)}.activity-dot{width:9px;height:9px;margin-top:7px;border-radius:50%;background:var(--accent)}.activity-copy p{margin:0 0 4px}.activity-copy a{font-weight:750}.activity-copy time{color:var(--muted);font-size:.8rem}.empty-panel{margin:0;padding:24px 22px;color:var(--muted)}
@media(max-width:980px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:620px){.dashboard-heading{align-items:stretch;flex-direction:column}.dashboard-metrics{grid-template-columns:1fr}.metric-card{min-height:118px}.store-summary-row{grid-template-columns:minmax(0,1fr) auto}.store-value{display:none}}


/* v0.4.1 Today's Snapshot */
.today-snapshot {
    margin:18px 0;
    overflow:hidden;
}
.snapshot-heading {
    border-bottom:1px solid var(--border);
}
.snapshot-grid {
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
}
.snapshot-stat {
    display:flex;
    min-height:112px;
    align-items:center;
    gap:13px;
    padding:20px 22px;
    border-right:1px solid var(--border);
    border-bottom:1px solid var(--border);
    color:var(--text);
}
.snapshot-stat:hover {
    background:#f7f9fc;
    text-decoration:none;
}
.snapshot-stat:nth-child(4) {
    border-right:0;
}
.snapshot-icon {
    display:inline-flex;
    width:40px;
    height:40px;
    flex:0 0 40px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#edf4ff;
    color:var(--accent);
    font-size:1.1rem;
    font-weight:900;
}
.snapshot-stat strong {
    display:block;
    margin-bottom:3px;
    font-size:1.4rem;
}
.snapshot-stat div span {
    color:var(--muted);
    font-size:.86rem;
}
.snapshot-newest {
    grid-column:1 / -1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:18px 22px;
}
.snapshot-kicker {
    color:var(--muted);
    font-size:.8rem;
    font-weight:800;
    letter-spacing:.03em;
    text-transform:uppercase;
}
.snapshot-newest a {
    display:flex;
    min-width:0;
    flex-direction:column;
    align-items:flex-end;
    color:var(--text);
}
.snapshot-newest a:hover {
    text-decoration:none;
}
.snapshot-newest a strong {
    overflow:hidden;
    max-width:100%;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.snapshot-newest a span,
.snapshot-newest p {
    margin:3px 0 0;
    color:var(--muted);
    font-size:.84rem;
}

@media (max-width:900px) {
    .snapshot-grid {
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
    .snapshot-stat:nth-child(2),
    .snapshot-stat:nth-child(4) {
        border-right:0;
    }
}
@media (max-width:620px) {
    .snapshot-grid {
        grid-template-columns:1fr;
    }
    .snapshot-stat {
        border-right:0;
    }
    .snapshot-newest {
        align-items:flex-start;
        flex-direction:column;
    }
    .snapshot-newest a {
        align-items:flex-start;
    }
}


/* v0.5.0 Dashboard Pro */
.dashboard-welcome { margin-bottom:22px; }
.dashboard-welcome h1 { margin:.1rem 0 .45rem; }
.welcome-summary { margin:0; color:var(--muted); font-size:1rem; }
.dashboard-feature-card { margin:18px 0; }
.snapshot-grid-six { grid-template-columns:repeat(6,minmax(0,1fr)); }
.quick-actions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:18px 0; }
.quick-action { display:flex; align-items:center; gap:13px; min-height:86px; padding:16px 18px; border:1px solid var(--border); border-radius:13px; background:#fff; color:var(--text); box-shadow:0 5px 15px rgba(31,43,58,.05); }
.quick-action:hover { border-color:#b8c9df; box-shadow:0 8px 20px rgba(31,43,58,.09); text-decoration:none; transform:translateY(-1px); }
.quick-action-icon { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; border-radius:10px; background:#edf4ff; color:var(--accent); font-size:1.2rem; font-weight:850; }
.quick-action span:last-child { min-width:0; }
.quick-action strong,.quick-action small { display:block; }
.quick-action small { margin-top:3px; color:var(--muted); line-height:1.25; }
.dashboard-work-grid { grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr); }
.continue-list { display:flex; flex-direction:column; }
.continue-row { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:13px; padding:14px 20px; border-bottom:1px solid var(--border); color:var(--text); }
.continue-row:last-child { border-bottom:0; }
.continue-row:hover { background:#f7f9fc; text-decoration:none; }
.inventory-thumb-placeholder { display:grid; place-items:center; width:42px; height:42px; border-radius:9px; background:#f0f3f7; color:var(--muted); font-size:1.15rem; }
.continue-copy strong,.continue-copy small { display:block; }
.continue-copy small { margin-top:4px; color:#a24c25; }
.take-me-there { color:var(--accent); font-size:.84rem; font-weight:800; white-space:nowrap; }
.attention-action-list .attention-row span { display:flex; flex-direction:column; }
.attention-action-list .attention-row small { margin-top:3px; color:var(--muted); font-weight:400; }
.panel-link { font-size:.86rem; font-weight:750; }
.newest-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.newest-item { display:grid; grid-template-columns:54px minmax(0,1fr); gap:12px; align-items:center; min-height:92px; padding:14px 18px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); color:var(--text); }
.newest-item:nth-child(2n) { border-right:0; }
.newest-item:nth-last-child(-n+2) { border-bottom:0; }
.newest-item:hover { background:#f7f9fc; text-decoration:none; }
.newest-thumb { display:grid; place-items:center; width:54px; height:54px; border-radius:10px; background:#f0f3f7; color:var(--muted); font-size:1.3rem; }
.newest-thumb.has-photo { background:#edf4ff; color:var(--accent); }
.newest-item strong,.newest-item small,.newest-item b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.newest-item small { margin:3px 0; color:var(--muted); }
.newest-item b { font-size:.84rem; }
.focused-filter-banner { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:14px 0; padding:12px 15px; border:1px solid #cbd9eb; border-radius:10px; background:#f4f8fe; }
.focused-filter-banner a { font-weight:750; }
@media (max-width:1100px) { .snapshot-grid-six { grid-template-columns:repeat(3,minmax(0,1fr)); } .quick-actions { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .dashboard-work-grid { grid-template-columns:1fr; } .newest-grid { grid-template-columns:1fr; } .newest-item,.newest-item:nth-child(2n),.newest-item:nth-last-child(-n+2) { border-right:0; border-bottom:1px solid var(--border); } .newest-item:last-child { border-bottom:0; } .continue-row { grid-template-columns:42px minmax(0,1fr); } .take-me-there { display:none; } }
@media (max-width:560px) { .snapshot-grid-six { grid-template-columns:1fr 1fr; } .quick-actions { grid-template-columns:1fr; } .focused-filter-banner { align-items:flex-start; flex-direction:column; } }


/* v0.6.0 Workflow Foundation */
.workflow-board { margin:18px 0; overflow:hidden; }
.workflow-lanes { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-top:1px solid var(--border); }
.workflow-lane { position:relative; display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:10px; min-height:94px; padding:16px; border-right:1px solid var(--border); color:var(--text); }
.workflow-lane:last-child { border-right:0; }
.workflow-lane:hover { background:#f7f9fc; text-decoration:none; }
.workflow-step { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#edf4ff; color:var(--accent); font-weight:850; }
.workflow-lane span:nth-child(2) { min-width:0; }
.workflow-lane strong,.workflow-lane small { display:block; }
.workflow-lane small { margin-top:4px; color:var(--muted); line-height:1.25; }
.workflow-lane b { font-size:1.35rem; }
.workflow-lane-complete .workflow-step { background:#edf8f1; color:#247046; }
.workflow-note { margin:0; padding:11px 18px; border-top:1px solid var(--border); background:#fafbfd; color:var(--muted); font-size:.86rem; }
.workflow-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:16px 0 12px; }
.workflow-filters a { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 13px; border:1px solid var(--border); border-radius:10px; background:#fff; color:var(--text); font-weight:750; }
.workflow-filters a:hover { border-color:#b8c9df; text-decoration:none; }
.workflow-filters a.active { border-color:var(--accent); background:#edf4ff; color:var(--accent); }
.workflow-filters strong { display:grid; place-items:center; min-width:28px; height:28px; padding:0 7px; border-radius:14px; background:#f0f3f7; color:var(--text); font-size:.84rem; }
.workflow-filters a.active strong { background:#fff; color:var(--accent); }
.workflow-badge { display:inline-flex; align-items:center; min-height:25px; padding:4px 8px; border-radius:999px; background:#f0f3f7; color:#4b596b; font-size:.76rem; font-weight:800; white-space:nowrap; }
.workflow-inbox { background:#fff3df; color:#885817; }
.workflow-needs-photos { background:#edf4ff; color:#275e9e; }
.workflow-needs-pricing { background:#f5edff; color:#6f4298; }
.workflow-ready { background:#eaf7ef; color:#287047; }
.workflow-sold { background:#eaf7ef; color:#287047; }
.workflow-archived { background:#eef0f3; color:#697382; }
@media (max-width:1050px) { .workflow-lanes { grid-template-columns:repeat(2,minmax(0,1fr)); } .workflow-lane:nth-child(2n) { border-right:0; } .workflow-lane { border-bottom:1px solid var(--border); } .workflow-lane:last-child { border-bottom:0; } }
@media (max-width:720px) { .workflow-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px) { .workflow-lanes,.workflow-filters { grid-template-columns:1fr; } .workflow-lane { border-right:0; } }

/* v0.7.0 Photo Manager */
.heading-actions { display:flex; gap:.65rem; flex-wrap:wrap; align-items:center; }
.photo-upload-card, .photo-library-card { margin-top:1rem; }
.photo-upload-card { display:grid; grid-template-columns:minmax(180px,.65fr) minmax(280px,1.35fr); gap:1.25rem; align-items:start; }
.photo-upload-card h2, .photo-library-card h2 { margin-top:0; }
.photo-upload-card form { display:grid; gap:.75rem; }
.photo-drop-zone { min-height:170px; border:2px dashed #aeb8c7; border-radius:14px; padding:1.5rem; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; cursor:pointer; background:#f8fafc; transition:.15s ease; }
.photo-drop-zone:hover, .photo-drop-zone.is-dragging { border-color:#3559a6; background:#eef4ff; }
.photo-drop-zone input { position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; }
.drop-zone-title { font-size:1.1rem; font-weight:700; }
.drop-zone-subtitle, .drop-zone-files { color:#667085; margin-top:.3rem; }
.drop-zone-files { font-weight:700; color:#3559a6; }
.photo-library-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; margin-bottom:1rem; }
.photo-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:1rem; }
.photo-card { border:1px solid #d8dee8; border-radius:13px; overflow:hidden; background:#fff; cursor:grab; }
.photo-card.is-dragging { opacity:.48; }
.photo-preview-wrap { position:relative; aspect-ratio:4/3; background:#edf0f4; overflow:hidden; }
.photo-preview-wrap > a { display:block; width:100%; height:100%; }
.photo-preview { width:100%; height:100%; object-fit:cover; display:block; cursor:alias; }
.photo-file-placeholder { display:flex!important; flex-direction:column; align-items:center; justify-content:center; gap:.35rem; text-decoration:none; color:#344054; }
.photo-file-placeholder strong { font-size:1.8rem; }
.cover-badge { position:absolute; top:.65rem; left:.65rem; background:#172033; color:white; padding:.3rem .55rem; border-radius:999px; font-size:.78rem; font-weight:700; }
.photo-card-body { padding:.8rem; }
.photo-card-body > strong { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.photo-drag-hint { display:block; color:#7b8493; font-size:.8rem; margin:.3rem 0 .65rem; }
.photo-actions { display:flex; gap:.7rem; align-items:center; flex-wrap:wrap; font-size:.9rem; }
.photo-actions form { margin:0; }
.link-button { border:0; background:transparent; padding:0; color:#31589d; font:inherit; cursor:pointer; text-decoration:underline; }
.photo-actions .danger-link { color:#a32929; }
.photo-empty-state { padding:2.5rem 1rem; display:flex; flex-direction:column; align-items:center; text-align:center; gap:.35rem; border:1px dashed #c8cfda; border-radius:12px; color:#667085; }
.photo-empty-state strong { color:#172033; font-size:1.1rem; }
.photo-browser-note { margin:1rem 0 0; padding:.85rem 1rem; border-radius:10px; background:#f4f6f8; color:#5e6673; font-size:.9rem; }
@media (max-width:720px) {
  .photo-upload-card { grid-template-columns:1fr; }
  .photo-library-heading { flex-direction:column; }
  .photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:440px) { .photo-grid { grid-template-columns:1fr; } }

/* v0.7.1 Portable Photo Metadata */
.metadata-summary-card,
.metadata-detail-card {
    margin-top: 1rem;
}

.metadata-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    margin-top: 1rem;
}

.metadata-summary-grid > div {
    border: 1px solid var(--border, #d7dce5);
    border-radius: 12px;
    padding: .85rem;
    background: var(--surface-soft, #f8fafc);
}

.metadata-summary-grid strong,
.metadata-summary-grid span {
    display: block;
}

.metadata-summary-grid strong {
    font-size: 1.2rem;
}

.metadata-summary-grid span {
    margin-top: .2rem;
    color: var(--muted, #667085);
    font-size: .88rem;
}

.metadata-privacy-note {
    margin: 1rem 0 0;
    padding: .8rem 1rem;
    border-left: 4px solid #64748b;
    background: #f8fafc;
    border-radius: 8px;
}

.metadata-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: 999px;
    padding: .2rem .55rem;
    font-size: .78rem;
    font-weight: 700;
}

.metadata-current {
    color: #166534;
    background: #dcfce7;
}

.metadata-pending {
    color: #854d0e;
    background: #fef9c3;
}

.metadata-error {
    color: #991b1b;
    background: #fee2e2;
}

.photo-metadata-error {
    color: #b42318;
    font-size: .82rem;
}

.metadata-health-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem 1rem;
    margin-bottom: 1rem;
    color: var(--muted, #667085);
}

.metadata-grid {
    display: grid;
    grid-template-columns: minmax(150px, 230px) 1fr;
    border-top: 1px solid var(--border, #d7dce5);
    margin: 0;
}

.metadata-grid dt,
.metadata-grid dd {
    margin: 0;
    padding: .75rem;
    border-bottom: 1px solid var(--border, #d7dce5);
    overflow-wrap: anywhere;
}

.metadata-grid dt {
    font-weight: 700;
    background: var(--surface-soft, #f8fafc);
}

@media (max-width: 700px) {
    .metadata-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .metadata-grid {
        grid-template-columns: 1fr;
    }
    .metadata-grid dt {
        border-bottom: 0;
        padding-bottom: .25rem;
    }
    .metadata-grid dd {
        padding-top: .25rem;
    }
}


/* v0.7.2 photo upload feedback */
.photo-drop-zone.is-uploading { opacity:.72; pointer-events:none; }
.photo-upload-progress { display:grid; gap:.45rem; padding:.85rem 1rem; border:1px solid #d7deea; border-radius:12px; background:#f8fafc; }
.photo-upload-progress[hidden], .photo-upload-result[hidden] { display:none !important; }
.photo-upload-progress-heading { display:flex; justify-content:space-between; gap:1rem; align-items:baseline; flex-wrap:wrap; }
.photo-upload-progress-heading span { color:#64748b; font-size:.92rem; }
.photo-upload-progress-track { width:100%; height:12px; overflow:hidden; border-radius:999px; background:#dfe6f0; }
.photo-upload-progress-track span { display:block; width:0; height:100%; border-radius:inherit; background:#3559a6; transition:width .15s linear; }
.photo-upload-result { padding:.8rem 1rem; border-radius:10px; font-weight:600; }
.photo-upload-result.is-success { background:#ecfdf3; color:#166534; border:1px solid #bbf7d0; }
.photo-upload-result.has-warning { background:#fffbeb; color:#92400e; border:1px solid #fde68a; }
.photo-upload-result.has-error { background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }
.drop-zone-files { margin-top:.45rem; font-weight:700; color:#27437e; }

/* v0.8.0 — visual photo integration */
.inventory-thumb,
.inventory-thumb-placeholder,
.newest-thumb {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    border-radius: 10px;
    overflow: hidden;
    display: grid;
    place-items: center;
}
.inventory-thumb img,
.newest-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.newest-thumb.has-photo {
    padding: 0;
    background: #eef2f7;
}
.item-photo-overview {
    display: grid;
    grid-template-columns: minmax(190px, 260px) 1fr;
    gap: 24px;
    margin-bottom: 22px;
    align-items: stretch;
}
.item-cover-panel { min-height: 220px; }
.item-cover-button,
.item-cover-empty {
    width: 100%;
    height: 100%;
    min-height: 220px;
    border: 0;
    border-radius: 14px;
    overflow: hidden;
    position: relative;
    display: grid;
    place-items: center;
    background: #eef2f7;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}
.item-cover-button img {
    width: 100%;
    height: 100%;
    min-height: 220px;
    max-height: 300px;
    object-fit: cover;
    display: block;
}
.item-cover-button span {
    position: absolute;
    inset: auto 10px 10px;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(10, 18, 32, .78);
    color: #fff;
    font-size: .82rem;
}
.item-cover-empty { gap: 4px; align-content: center; }
.item-cover-empty > span { font-size: 2.4rem; }
.item-cover-empty small { color: var(--muted, #667085); }
.item-photo-overview-copy {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
    min-width: 0;
}
.item-photo-overview-copy h2 { margin: 2px 0 5px; }
.item-photo-strip {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 2px 2px 8px;
}
.item-photo-thumb {
    width: 86px;
    height: 86px;
    flex: 0 0 86px;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    background: #eef2f7;
}
.item-photo-thumb:hover,
.item-photo-thumb:focus-visible { border-color: #2f6feb; }
.item-photo-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.item-photo-thumb span {
    position: absolute;
    left: 5px;
    bottom: 5px;
    padding: 3px 6px;
    border-radius: 999px;
    color: #fff;
    background: rgba(10, 18, 32, .78);
    font-size: .7rem;
}
.photo-lightbox[hidden] { display: none; }
.photo-lightbox { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 24px; }
.photo-lightbox-backdrop { position: absolute; inset: 0; background: rgba(5, 9, 16, .9); }
.photo-lightbox-dialog { position: relative; z-index: 1; width: min(1100px, 96vw); height: min(86vh, 900px); display: grid; grid-template-columns: 54px 1fr 54px; align-items: center; }
.photo-lightbox-dialog figure { margin: 0; height: 100%; min-height: 0; display: grid; grid-template-rows: 1fr auto; gap: 10px; place-items: center; }
.photo-lightbox-image { max-width: 100%; max-height: calc(86vh - 48px); object-fit: contain; border-radius: 8px; }
.photo-lightbox-dialog figcaption { color: #fff; text-align: center; }
.photo-lightbox-close,
.photo-lightbox-nav { border: 0; background: rgba(255,255,255,.14); color: #fff; cursor: pointer; border-radius: 999px; }
.photo-lightbox-close { position: absolute; right: 0; top: 0; width: 46px; height: 46px; font-size: 2rem; z-index: 2; }
.photo-lightbox-nav { width: 46px; height: 60px; font-size: 3rem; line-height: 1; }
body.lightbox-open { overflow: hidden; }
@media (max-width: 720px) {
    .item-photo-overview { grid-template-columns: 1fr; }
    .item-cover-panel { min-height: 240px; }
    .photo-lightbox { padding: 10px; }
    .photo-lightbox-dialog { width: 100%; grid-template-columns: 42px 1fr 42px; }
    .photo-lightbox-nav { width: 38px; height: 52px; }
}
.photo-preview-button { display: block; width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }

/* ItemTrackerOS v0.9.0 tag printing */
.select-column { width: 2.25rem; text-align: center; }
.select-column input, .tag-table input[type="checkbox"] { width: 1.15rem; height: 1.15rem; }
.tag-metrics { margin-bottom: 1.25rem; }
.tag-form-actions { display:flex; justify-content:flex-end; padding-top:1rem; }
.vendor-code-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; margin:1rem 0; }
.vendor-code-grid label { display:grid; gap:.4rem; font-weight:700; }
.tag-sheet { display:flex; flex-wrap:wrap; align-items:flex-start; gap:.16in; margin:1rem auto; }
.price-tag { box-sizing:border-box; width:2in; height:1in; border:1px dashed #9ca3af; padding:.07in .09in; background:#fff; color:#000; overflow:hidden; display:grid; grid-template-rows:.19in .29in 1fr; font-family:Arial,Helvetica,sans-serif; }
.price-tag-top { display:flex; justify-content:space-between; align-items:start; gap:.08in; font-size:9pt; line-height:1; white-space:nowrap; }
.price-tag-top strong { font-size:10pt; overflow:hidden; text-overflow:ellipsis; }
.price-tag-top span { font-weight:700; overflow:hidden; text-overflow:ellipsis; }
.price-tag-description { font-size:9pt; line-height:1.05; font-weight:600; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.price-tag-price { font-size:22pt; line-height:.9; font-weight:800; align-self:end; letter-spacing:-.02em; }
.tag-record-panel { max-width:680px; margin:1.25rem auto; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.tag-record-panel p { margin:0; }
@media print {
    @page { size: 2in 1in; margin: 0; }
    html, body { margin:0 !important; padding:0 !important; background:#fff !important; }
    body * { visibility:hidden; }
    .tag-sheet, .tag-sheet * { visibility:visible; }
    .tag-sheet { position:absolute; inset:0; display:block; margin:0; }
    .price-tag { width:2in; height:1in; border:0; page-break-after:always; break-after:page; margin:0; }
    .price-tag:last-child { page-break-after:auto; break-after:auto; }
    .no-print, .site-footer, .topbar { display:none !important; }
}

/* v0.9.1 — Navigation, dashboard workbench and intentional sessions */
.dashboard-heading-actions,
.session-workbench-actions { display:flex; gap:.75rem; align-items:center; flex-wrap:wrap; }
.session-workbench-actions form { margin:0; }
.session-workbench { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; margin-bottom:1.25rem; border-left:5px solid var(--accent, #3269a8); }
.session-workbench.session-is-active { border-left-color:#2d8a57; }
.session-workbench h2 { margin:.1rem 0 .3rem; }
.session-start-card { margin-bottom:1.25rem; }
.session-start-form { display:grid; grid-template-columns:minmax(220px, 1fr) minmax(260px, 2fr) auto; align-items:end; gap:1rem; }
.session-start-form label { margin:0; }
.session-start-form textarea { min-height:48px; }
.session-list { display:grid; gap:.85rem; }
.session-row { display:flex; justify-content:space-between; gap:1.5rem; align-items:center; padding:1rem 0; border-bottom:1px solid rgba(120,130,145,.22); }
.session-row:last-child { border-bottom:0; }
.session-row h3 { margin:.35rem 0 .2rem; }
.session-row p { margin:.2rem 0 .45rem; }
.session-row small { color:var(--muted, #697386); }
.session-row-stats { display:grid; grid-template-columns:auto auto; gap:.2rem .55rem; text-align:right; white-space:nowrap; }
.session-row-stats strong { font-size:1.05rem; }
.session-row-stats span { color:var(--muted, #697386); font-size:.85rem; }
@media (max-width: 760px) {
  .session-workbench, .session-row { align-items:flex-start; flex-direction:column; }
  .session-start-form { grid-template-columns:1fr; }
  .session-row-stats { text-align:left; }
}

/* v0.9.2 — faster item entry */
.active-entry-session {
    display: grid;
    grid-template-columns: minmax(180px, auto) 1fr auto;
    gap: 18px;
    align-items: center;
    margin: 0 0 18px;
    padding: 14px 18px;
    border: 1px solid var(--border-color, #d9dee7);
    border-left: 5px solid var(--accent-color, #315efb);
    border-radius: 12px;
    background: var(--card-background, #fff);
}

.active-entry-session > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.active-entry-session-label {
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--muted-text, #667085);
}

.active-entry-session p {
    margin: 0;
    color: var(--muted-text, #667085);
}

.active-entry-session a {
    white-space: nowrap;
    font-weight: 700;
}

@media (max-width: 760px) {
    .active-entry-session {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}

/* v0.9.3 workflow improvements */
.session-row-link { color: inherit; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.session-row-link:hover { transform: translateY(-1px); box-shadow: 0 8px 22px rgba(23,32,51,.09); }
.session-row-link .session-row-stats b { color: #2764e7; margin-left: .5rem; }
.session-detail-actions { display:flex; align-items:center; gap:.65rem; flex-wrap:wrap; }
.session-detail-actions form { margin:0; }
.session-notes { margin-bottom:1rem; }
.session-notes p { margin-bottom:0; }
.session-item-list { display:grid; gap:.55rem; }
.session-item-row { display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:.85rem; padding:.7rem; border:1px solid #e2e8f0; border-radius:12px; color:inherit; text-decoration:none; }
.session-item-row:hover { border-color:#9bb9ff; background:#f8faff; }
.session-item-row small { display:block; color:#667085; margin-top:.2rem; }
.session-item-row > b { color:#2764e7; white-space:nowrap; }
.item-entry-photo-section { border-color:#cbd9fa; }
.inline-photo-picker { display:flex; align-items:center; gap:1rem; padding:1rem; border:2px dashed #b9c8e5; border-radius:14px; cursor:pointer; background:#f8faff; }
.inline-photo-picker:hover { border-color:#2764e7; }
.inline-photo-picker input { max-width:310px; }
.inline-photo-picker span { display:grid; gap:.2rem; }
.inline-photo-picker small { color:#667085; font-weight:400; }
.inline-photo-preview { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:.75rem; margin-top:.85rem; }
.inline-photo-preview:empty { display:none; }
.inline-photo-preview-card { border:1px solid #e2e8f0; border-radius:10px; overflow:hidden; background:#fff; }
.inline-photo-preview-card img { width:100%; aspect-ratio:1/1; object-fit:cover; display:block; }
.inline-photo-preview-card small { display:block; padding:.45rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media (max-width:720px) {
  .session-item-row { grid-template-columns:48px minmax(0,1fr); }
  .session-item-row > b { grid-column:2; }
  .inline-photo-picker { align-items:flex-start; flex-direction:column; }
}


/* v0.9.4 — cohesive sessions and unified item photos */
.session-list { gap: 0; padding: 0 22px 8px; }
.session-row { padding: 17px 0; }
.session-row-link { color: var(--text); text-decoration: none; }
.session-row-link:hover { background: #f7f9fc; margin-left: -22px; margin-right: -22px; padding-left: 22px; padding-right: 22px; }
.session-detail-actions { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; }
.session-detail-actions form { margin:0; }
.session-item-list { display:flex; flex-direction:column; }
.session-item-row { display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:14px; padding:15px 22px; border-bottom:1px solid var(--border); color:var(--text); text-decoration:none; }
.session-item-row:last-child { border-bottom:0; }
.session-item-row:hover { background:#f7f9fc; text-decoration:none; }
.session-item-row small { display:block; margin-top:4px; color:var(--muted); }
.unified-photo-panel { overflow:hidden; }
.unified-photo-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; }
.unified-photo-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:12px; margin:0 0 16px; }
.unified-photo-thumb { position:relative; aspect-ratio:1; padding:0; border:2px solid transparent; border-radius:12px; overflow:hidden; background:#eef2f7; cursor:zoom-in; }
.unified-photo-thumb:hover,.unified-photo-thumb:focus-visible { border-color:#2f6feb; }
.unified-photo-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.unified-photo-thumb span { position:absolute; left:7px; bottom:7px; padding:4px 7px; border-radius:999px; background:rgba(10,18,32,.8); color:#fff; font-size:.72rem; }
.unified-photo-empty { display:flex; flex-direction:column; gap:3px; padding:18px; margin-bottom:14px; border:1px dashed var(--border); border-radius:12px; background:#f8fafc; }
.unified-photo-empty span { color:var(--muted); }
@media (max-width:760px){
  .session-list { padding-left:16px; padding-right:16px; }
  .session-row-link:hover { margin-left:-16px; margin-right:-16px; padding-left:16px; padding-right:16px; }
  .session-item-row { grid-template-columns:48px minmax(0,1fr); }
  .session-item-row > b { grid-column:2; }
  .unified-photo-heading { flex-direction:column; }
}

/* v0.9.4.1 photo drop safety and item-editor previews */
.photo-file-drop-zone.is-dragging,
.inline-photo-picker.is-dragging { border-color:#2563eb; background:#eef4ff; box-shadow:0 0 0 4px rgba(37,99,235,.10); }
.photo-file-drop-zone.has-drop-error,
.inline-photo-picker.has-drop-error { border-color:#c2410c; background:#fff7ed; }
.photo-drop-status { display:block; margin-top:.35rem; color:#2563eb; font-weight:700; }
.has-drop-error .photo-drop-status { color:#9a3412; }
.inline-photo-preview { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:.75rem; margin-top:.8rem; }
.inline-photo-preview:empty { display:none; }
.inline-photo-preview-card { min-width:0; border:1px solid #d8dee8; border-radius:12px; overflow:hidden; background:#fff; }
.inline-photo-preview-card img { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; }
.inline-photo-preview-card span { display:block; padding:.45rem .55rem; font-size:.78rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* v0.9.5 — faster, calmer item editor */
.item-entry-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.item-entry-form > .card,
.item-entry-form > .item-form-actions { margin: 0; }
.editor-item-section { order: 1; }
.editor-purchase-section { order: 2; }
.editor-pricing-section { order: 3; }
.editor-photo-section { order: 4; }
.editor-notes-section { order: 5; }
.editor-calculated-section { order: 6; }
.item-form-actions { order: 7; position: sticky; bottom: 0; z-index: 5; padding: 14px; border: 1px solid var(--border); border-radius: 14px; background: rgba(255,255,255,.96); box-shadow: 0 -8px 28px rgba(23,32,51,.08); backdrop-filter: blur(8px); }
.active-entry-session { margin-bottom: 18px; }
.active-entry-session p { max-width: 760px; }
@media (max-width:760px) {
  .item-form-actions { position: static; }
}

/* v0.9.6 — store administration, session choices and upload feedback */
.store-admin-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:20px; align-items:start; }
.store-admin-form { display:grid; gap:14px; }
.store-admin-form label { display:grid; gap:6px; font-weight:700; }
.store-fee-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.checkbox-row { display:flex; gap:22px; flex-wrap:wrap; }
.checkbox-row label { display:flex; flex-direction:row; align-items:center; gap:8px; }
.managed-store-list { display:flex; flex-direction:column; }
.managed-store-row { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:15px 0; border-bottom:1px solid var(--border); color:inherit; text-decoration:none; }
.managed-store-row:last-child { border-bottom:0; }
.managed-store-row small { display:block; margin-top:4px; color:var(--muted); }
.active-session-choice-actions { display:flex; align-items:flex-start; gap:12px; flex-wrap:wrap; }
.active-session-choice details { min-width:min(100%,430px); }
.active-session-choice summary { list-style:none; cursor:pointer; display:inline-flex; }
.active-session-choice summary::-webkit-details-marker { display:none; }
.replacement-session-form { margin-top:14px; padding:16px; border:1px solid var(--border); border-radius:12px; background:#f8fafc; }
.save-upload-overlay { position:fixed; inset:0; z-index:9999; display:grid; place-items:center; padding:20px; background:rgba(15,23,42,.58); backdrop-filter:blur(4px); }
.save-upload-dialog { width:min(440px,100%); padding:28px; border-radius:18px; background:#fff; box-shadow:0 24px 70px rgba(0,0,0,.25); text-align:center; }
.save-upload-dialog h2 { margin:12px 0 6px; }
.save-upload-dialog p { margin:0 0 18px; color:var(--muted); }
.save-upload-dialog small { color:var(--muted); }
.upload-spinner { width:42px; height:42px; margin:auto; border:4px solid #dbe5f5; border-top-color:#2764e7; border-radius:50%; animation:itos-spin .8s linear infinite; }
.upload-progress { height:8px; margin:18px 0; overflow:hidden; border-radius:999px; background:#e8edf5; }
.upload-progress span { display:block; width:40%; height:100%; border-radius:inherit; background:#2764e7; animation:itos-progress 1.25s ease-in-out infinite; }
.save-in-progress { overflow:hidden; }
@keyframes itos-spin { to { transform:rotate(360deg); } }
@keyframes itos-progress { 0%{transform:translateX(-120%)} 50%{transform:translateX(110%)} 100%{transform:translateX(260%)} }
@media(max-width:800px){ .store-admin-grid{grid-template-columns:1fr}.store-fee-grid{grid-template-columns:1fr} }
