:root{--bg: #ffffff;--fg: #1a1d21;--muted: #5f6b7a;--accent: #0a64bf;--on-accent: #ffffff;--danger: #c62828;--warning: #b26a00;--success: #2e7d32;--surface: #f5f7fa;--border: #d5dbe3;--control-border: #868f9c;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #14171b;--fg: #e7eaee;--muted: #9aa5b1;--accent: #5aa9ff;--on-accent: #0b1220;--danger: #ff6b6b;--warning: #f0b45a;--success: #6fcf7a;--surface: #1c2127;--border: #343c46;--control-border: #6b7684}}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);line-height:1.5}a{color:var(--accent)}h1{margin:0 0 1rem;font-size:1.4rem;line-height:1.25}.muted{color:var(--muted)}.loading{margin:0;padding:2rem 1.25rem;color:var(--muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{padding:.5rem .9rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font:inherit;cursor:pointer}button:hover:not(:disabled,[aria-disabled=true]){border-color:var(--accent)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent);font-weight:600}button.primary:hover:not(:disabled,[aria-disabled=true]){filter:brightness(1.1)}button:disabled,button[aria-disabled=true]{opacity:.6;cursor:default}.banner{margin-bottom:1rem;padding:.6rem .8rem;border-left:4px solid var(--banner-color);border-radius:4px;background:color-mix(in srgb,var(--banner-color) 12%,var(--bg))}.banner-error{--banner-color: var(--danger)}.banner-warning{--banner-color: var(--warning)}.banner-info{--banner-color: var(--accent)}.banner-success{--banner-color: var(--success)}.banner p,.banner ul{margin:.25rem 0}.banner ul{padding-left:1.25rem}.banner>:first-child{margin-top:0}.banner>:last-child{margin-bottom:0}.banner-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.field{margin-bottom:1rem}.field label{display:block;margin-bottom:.25rem;font-weight:600}.field input,.field select,.field textarea{width:100%;padding:.5rem .65rem;border:1px solid var(--control-border);border-radius:6px;background:var(--bg);color:var(--fg);font:inherit}.field textarea{min-height:6rem;resize:vertical}.field input[readonly]{background:var(--surface);color:var(--muted)}.field input:disabled,.field select:disabled,.field textarea:disabled{background:var(--surface);color:var(--fg);-webkit-text-fill-color:var(--fg);opacity:1;cursor:default}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--danger)}.field-error{margin:.25rem 0 0;color:var(--danger);font-size:.875rem}ul.field-error{padding-left:1.1rem}.hint{margin:.25rem 0 0;color:var(--muted);font-size:.875rem}.auth-page{display:grid;min-height:100vh;min-height:100dvh;place-items:center;padding:1rem}.card{width:min(26rem,100%);padding:1.5rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.card .brand{margin:0 0 .25rem;color:var(--muted);font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.card form>button{width:100%}.aside{margin:1rem 0 0;font-size:.9rem}.app-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;padding:.6rem 1.25rem;border-bottom:1px solid var(--border);background:var(--surface)}.app-header .brand{color:var(--fg);font-weight:700;text-decoration:none}.app-header nav{display:flex;flex-wrap:wrap;gap:.25rem}.app-header nav a{padding:.3rem .6rem;border-radius:6px;color:var(--muted);text-decoration:none}.app-header nav a:hover{color:var(--fg)}.app-header nav a[aria-current=page]{background:color-mix(in srgb,var(--accent) 16%,var(--bg));color:var(--fg);font-weight:600}.who{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;min-width:0;margin-left:auto}.who-name{overflow-wrap:anywhere}.who-role{padding:.1rem .5rem;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.8rem}.app-main{max-width:72rem;margin:0 auto;padding:1.5rem 1.25rem}.app-crash{max-width:40rem;margin:3rem auto;padding:0 1rem}.page-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;margin-bottom:1rem}.page-head h1{margin:0}.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.button-link{display:inline-block;padding:.5rem .9rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);text-decoration:none}.button-link:hover{border-color:var(--accent)}.button-link.primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent);font-weight:600}.button-link.primary:hover{filter:brightness(1.1)}.skip-link{position:absolute;top:.5rem;left:.5rem;z-index:20;padding:.5rem .9rem;border-radius:6px;background:var(--accent);color:var(--on-accent);font-weight:600;text-decoration:none;transform:translateY(-200%)}.skip-link:focus{transform:none}.list-controls{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem 2rem;margin-bottom:.25rem}.list-controls .field{flex:1 1 16rem;max-width:28rem}.status-choice{display:flex;flex-wrap:wrap;gap:.25rem 1rem;min-width:0;margin:0 0 1rem;padding:0;border:0}.status-choice legend{margin-bottom:.25rem;padding:0;font-weight:600}.status-choice label{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 0;cursor:pointer}.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.chip{padding:.3rem .75rem;border-radius:999px;font-size:.9rem}.chip[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--bg));font-weight:600}.chip[aria-pressed=true]:before{content:"✓ ";content:"✓ " / ""}.list-status{margin:0 0 .5rem;color:var(--muted);font-size:.9rem}.list-status:empty{margin:0}.list-message{margin:1rem 0;font-size:1rem}.list-problem{margin-top:1rem}.table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:8px}.data-table{width:100%;border-collapse:collapse;font-size:.95rem}.data-table th,.data-table td{padding:.55rem .75rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.data-table thead th{background:var(--surface);font-size:.8rem;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.data-table tbody tr:last-child>*{border-bottom:0}.data-table tbody tr:hover{background:var(--surface)}.data-table tbody th{font-variant-numeric:tabular-nums;font-weight:600}.data-table .nowrap{white-space:nowrap}.badges{display:flex;flex-wrap:wrap;gap:.25rem;margin:0;padding:0;list-style:none}.badge{padding:.05rem .5rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:.8rem;white-space:nowrap}.badge-archived{border-color:var(--warning);background:color-mix(in srgb,var(--warning) 14%,var(--bg));color:var(--fg);font-weight:600}.product-form{max-width:60rem}.product-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.25rem 0 0;color:var(--muted);font-variant-numeric:tabular-nums}.header-status p{margin:-.5rem 0 1rem;color:var(--muted)}.bokun-field{display:grid;grid-template-columns:minmax(0,36rem);gap:0 1rem;align-items:start;margin-bottom:1rem}.bokun-field.with-times{grid-template-columns:minmax(0,18rem) minmax(0,20rem)}.bokun-id input{max-width:14rem}.bokun-field .field{margin-bottom:0}.bokun-status{margin:.25rem 0 0;font-size:.9rem}.bokun-status:empty{margin:0}.bokun-pending,.bokun-unreachable,.bokun-failed{color:var(--muted)}.bokun-not_found{color:var(--danger)}@media(max-width:40rem){.bokun-field.with-times{grid-template-columns:minmax(0,1fr);gap:.75rem}}.editor-section{margin:0 0 1.25rem;padding:1rem 1.25rem .25rem;border:1px solid var(--border);border-radius:8px}.editor-section h2{margin:0 0 .75rem;font-size:1.1rem}.editor-section>.field input,.editor-section>.field textarea,.combo-field .field input{max-width:40rem}.section-hint{margin:-.25rem 0 .75rem}.plain-group{min-width:0;margin:0 0 1rem;padding:0;border:0}.plain-group legend{margin-bottom:.5rem;padding:0;font-weight:600}.check-field{margin-bottom:.75rem}.check{display:flex;align-items:center;gap:.5rem}.check input{flex:none;width:1.15rem;height:1.15rem;margin:0}.check-field .hint,.check-field .field-error{margin-left:1.65rem}.combo-field .field{margin-bottom:.25rem}.combo-titles{margin:0 0 1rem;padding-left:1.1rem;font-size:.9rem}.combo-id{font-variant-numeric:tabular-nums}.days{display:grid;gap:.75rem;margin:0 0 .75rem;padding:0;list-style:none}.day-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem 1rem;min-width:0;margin:0;padding:.5rem 1rem .75rem;border:1px solid var(--border);border-radius:8px}.day-row legend{padding:0 .35rem;font-weight:600}.day-row .bokun-field{flex:1 1 26rem;margin-bottom:0}.day-actions{display:flex;gap:.4rem;margin-top:1.75rem}.day-actions button{min-width:2.75rem}@media(max-width:45rem){.day-actions{margin-top:.25rem}}.day-add{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:1rem}.day-add .hint{margin:0}.deposit-field{min-width:0;margin:0 0 1rem;padding:0;border:0}.deposit-field legend{margin-bottom:.35rem;padding:0;font-weight:600}.choices{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;margin-bottom:.75rem}.choice{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem 0;cursor:pointer}.deposit-dates{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,12rem));gap:0 1rem}.deposit-hint{grid-column:1 / -1;margin:-.5rem 0 .75rem}.cart-field select{max-width:16rem}.bokun-stored{color:var(--muted);font-style:italic}.product-id-input{max-width:14rem}.new-product-reminder{margin:0 0 1.25rem}.copy-progress{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1rem;margin-bottom:.5rem}.copy-status p{margin:0}.copy-copied{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:1rem}.copy-copied .hint{margin:0}.copy-matches{display:grid;gap:.35rem;max-width:40rem;margin:0 0 1rem;padding:0;list-style:none}.copy-matches button{width:100%;text-align:left}.form-lock{min-width:0;margin:0;padding:0;border:0}.save-bar{position:sticky;bottom:0;z-index:1;max-height:50vh;overflow-y:auto;padding:.75rem 0;border-top:1px solid var(--border);background:var(--bg)}.save-bar .banner{margin-bottom:.75rem}.save-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.save-status{margin:0 0 .5rem;color:var(--success);font-weight:600}.save-actions .save-blockers{flex-basis:100%;margin:0}.save-focus:focus{outline:none}.save-focus:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dialog-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:1rem;background:#00000073}.dialog{width:min(36rem,100%);max-height:calc(100vh - 2rem);overflow-y:auto;padding:1.25rem 1.5rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);box-shadow:0 10px 30px #00000040}.dialog h2{margin:0 0 .75rem;font-size:1.15rem}.dialog-body>:first-child{margin-top:0}.dialog-body ul{padding-left:1.25rem}.dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1.25rem}.change-list{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.change-item{padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.change-item:focus{outline:none}.change-item:focus-visible,.change-item:target{outline:2px solid var(--accent);outline-offset:2px}.change-head{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem}.change-head h2{margin:0;font-size:1rem}.change-number{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:400}.badge-warning{border-color:var(--warning);background:color-mix(in srgb,var(--warning) 14%,var(--bg));color:var(--fg)}.change-meta{margin:.25rem 0 .5rem;color:var(--muted);font-size:.9rem}.diff-table{width:100%;border-collapse:collapse;font-size:.9rem}.diff-table th,.diff-table td{padding:.3rem .5rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;overflow-wrap:anywhere}.diff-table td{white-space:pre-wrap}.diff-table thead th{color:var(--muted);font-size:.75rem;letter-spacing:.03em;text-transform:uppercase}.diff-table tbody th{width:30%;font-weight:600}.diff-table tbody tr:last-child>*{border-bottom:0}.diff-empty{margin:.25rem 0 0}.change-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.older-changes{margin-top:1rem}.restore-bar{position:sticky;bottom:0;z-index:1;max-height:50vh;overflow-y:auto;margin-top:1rem;padding:.75rem 0;border-top:1px solid var(--border);background:var(--bg)}.restore-bar-quiet{margin-top:0;padding:0;border-top:0}.restore-bar .banner{margin-bottom:.5rem}.restore-bar .banner:last-child{margin-bottom:0}.page-intro{max-width:48rem;margin-bottom:1rem;color:var(--muted)}.page-intro p{margin:0 0 .5rem}.list-note{margin:-.25rem 0 .5rem}.activities-table .combo-editor{min-width:16rem}.activities-table .combo-field .field input{max-width:24rem}.activities-table .combo-titles{margin:.25rem 0 0}.row-save{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem;margin-top:.25rem}.row-save .save-status{margin:0}.combo-editor .banner{margin:.5rem 0 0}.used-by{display:flex;flex-wrap:wrap;gap:.25rem .6rem;margin:0;padding:0;list-style:none;font-variant-numeric:tabular-nums}.data-table tbody tr.row-target>*{background:color-mix(in srgb,var(--accent) 10%,var(--bg))}.users-section{margin-bottom:2rem}.users-section h2{margin:0 0 .75rem;font-size:1.1rem}.users-section h2:focus{outline:none}.users-table .field{margin-bottom:0}.users-table select{width:auto;min-width:7rem}.users-table .hint{max-width:14rem}.row-actions{display:flex;flex-wrap:wrap;gap:.5rem}.row-note{margin:.35rem 0 0;font-size:.875rem}.row-done{color:var(--success);font-weight:600}.row-error,.error-text{color:var(--danger)}.invite-expiry{display:block;font-size:.875rem;white-space:nowrap}.invite-form{max-width:32rem}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.5rem}.form-actions .save-status,.form-actions .banner{margin:0}
