:root{--bg:#fbf7ee;--paper:#fffef8;--ink:#2e2820;--ink-soft:#4f4639;--ink-mute:#7a6f5e;--line:#d4c8ae;--line-soft:#e5dcc4;--warm:#c99a3d;--warm-dark:#8b6e2a;--warm-bg:#faefd0;--green:#4d6b66;--green-dark:#364f4b;--green-bg:#e5eeec;--red:#9c3a3a;--red-bg:#f4d9d6;--yellow-bg:#faefd0;--yellow-border:#c99a3d;--shadow-card:0 1px 2px #2e28200f, 0 4px 16px #2e282014;--shadow-hover:0 4px 16px #2e28201a, 0 12px 40px #2e282024}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--ink);min-height:100vh;font-family:Lora,Georgia,Charter,Cambria,serif;font-size:17px;line-height:1.55}h1,h2,h3,h4,h5,h6{letter-spacing:-.01em;font-family:Fraunces,Georgia,serif;font-weight:600}button,input,select,textarea{font:inherit;color:inherit}.screen-shell{max-width:960px;margin:0 auto;padding:28px 24px 80px}.app-header{margin-bottom:24px}.app-header-top{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:16px;display:flex}.app-header-identity{align-items:center;gap:10px;display:flex}.app-header-email{color:var(--ink-soft);font-size:13px}.app-header-actions{align-items:center;gap:8px;display:flex}.app-header-brand{text-align:center;margin-top:28px}.app-header-brand h1{letter-spacing:-.01em;margin-bottom:6px;font-size:38px;font-weight:700}.tagline{color:var(--ink-soft);font-size:16px;font-style:italic}.screen-header{text-align:center;margin-bottom:24px}.role-badge{text-transform:uppercase;letter-spacing:.08em;border:1px solid;border-radius:999px;padding:2px 8px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:10px;font-weight:700;display:inline-block}.role-badge.role-owner{background:var(--warm-bg);color:var(--warm-dark);border-color:var(--yellow-border)}.role-badge.role-caregiver{background:var(--green-bg);color:var(--green-dark);border-color:var(--green)}.role-badge.role-viewer{background:var(--paper);color:var(--ink-soft);border-color:var(--line)}.account-card{max-width:560px;margin:0 auto}.account-body{padding:22px}.account-body h2{margin-bottom:4px;font-size:22px;font-weight:700}.account-fields{margin:18px 0 22px}.account-field{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:12px 0;display:flex}.account-field dt{color:var(--ink-soft);font-size:13px}.account-field dd{text-align:right;word-break:break-word;font-size:14px;font-weight:600}.account-signout{margin-top:4px}button{cursor:pointer;transition:all .15s}.big-button{background:var(--green);color:var(--paper);border:none;border-radius:6px;padding:14px 32px;font-size:17px;font-weight:700;display:inline-block;box-shadow:0 1px 2px #0000000f}.big-button:hover{background:var(--green-dark);transform:translateY(-1px)}.big-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.small-btn{background:var(--paper);border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:8px 14px;font-size:13px}.small-btn:hover{border-color:var(--ink-mute);background:var(--bg)}.small-btn.primary{background:var(--green);color:var(--paper);border-color:var(--green)}.small-btn.primary:hover{background:var(--green-dark);border-color:var(--green-dark)}.small-btn:disabled{opacity:.5;cursor:not-allowed}.ghost-button{color:var(--ink-soft);background:0 0;border:none;padding:6px 10px;font-size:14px}.ghost-button:hover{color:var(--ink)}.header-btn{background:var(--paper);border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:6px 14px;font-size:13px}.header-btn:hover{border-color:var(--ink-mute)}.library-row-delete:hover{background:var(--red);color:var(--paper);border-color:var(--red)}.card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:10px;margin-bottom:20px;padding:24px 28px}.auth-card{text-align:center;max-width:480px;margin:24px auto}.auth-card h2{margin-bottom:12px;font-size:24px}.auth-intro{color:var(--ink-soft);margin-bottom:20px;font-size:15px;line-height:1.6}.input-label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;margin-top:12px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}textarea,input[type=text],input[type=email],input[type=password],input[type=url],input[type=search],select{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);border-radius:6px;outline:none;padding:11px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;min-height:140px;font-family:inherit;line-height:1.55}textarea:focus,input:focus,select:focus{border-color:var(--warm);box-shadow:0 0 0 2px #c47a3a26}.spinner{border:2px solid var(--line);border-top-color:var(--warm);vertical-align:middle;border-radius:50%;width:14px;height:14px;margin-right:8px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.recipe-input textarea{min-height:160px}.recipe-input-header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.recipe-input-actions{justify-content:center;margin-top:14px;display:flex}.link-button{cursor:pointer;color:var(--warm-dark);font:inherit;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.link-button:hover{color:var(--warm)}.working-card{color:var(--ink-soft);justify-content:center;align-items:center;padding:28px;display:flex}.recipe-output-card .output-toolbar{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;gap:8px;margin-bottom:16px;padding-bottom:16px;display:flex}.recipe-rendered{font-size:16px;line-height:1.65}.recipe-rendered h1,.recipe-rendered h2,.recipe-rendered h3{letter-spacing:-.01em;margin-top:18px;margin-bottom:10px}.recipe-rendered h2{border-bottom:1px solid var(--line-soft);padding-bottom:8px;font-size:24px}.recipe-rendered h3{font-size:19px}.recipe-rendered p{margin-bottom:10px}.recipe-rendered blockquote{background:var(--bg);border-left:3px solid var(--warm);color:var(--ink-soft);margin:12px 0;padding:12px 16px;font-style:italic}.recipe-rendered table{border-collapse:collapse;width:100%;margin:12px 0;font-size:14px}.recipe-rendered th,.recipe-rendered td{border:1px solid var(--line);text-align:left;padding:8px 12px}.recipe-rendered th{background:var(--bg);font-weight:700}.recipe-rendered ul,.recipe-rendered ol{margin:8px 0;padding-left:24px}.recipe-rendered li{margin-bottom:4px}.recipe-rendered code{background:var(--bg);border-radius:3px;padding:1px 5px;font-size:14px}.audit-banner{border-radius:6px;margin-bottom:16px;padding:12px 16px;font-size:14px;line-height:1.5}.audit-banner strong{margin-bottom:2px;display:block}.audit-banner.audit-corrected{background:var(--warm-bg);border-left:3px solid var(--warm);color:var(--warm-dark)}.audit-banner.audit-ok{background:var(--green-bg);border-left:3px solid var(--green);color:var(--green-dark)}.error-banner{background:var(--red-bg);border-left:3px solid var(--red);color:var(--red);border-radius:6px;margin-bottom:16px;padding:12px 16px;font-size:14px}.error-banner strong{margin-bottom:2px;display:block}.error-hint{color:var(--ink-soft);font-size:13px}.error-list{color:var(--ink-soft);margin:6px 0 0;padding-left:20px;font-size:13px}.error-list li{margin-bottom:2px}.status,.status-text{padding:6px 0;font-size:13px}.status-success,.status-text.status-success{color:var(--green-dark)}.status-fail,.status-text.status-fail{color:var(--red)}.status-pending,.status-text.status-pending{color:var(--ink-soft)}.status-saved{color:var(--green-dark);font-weight:600}.save-panel{background:var(--bg);border:1px solid var(--line);border-radius:8px;margin-bottom:20px;padding:18px 20px}.save-panel-title{margin-bottom:14px;font-size:16px;font-weight:700}.save-panel-section{margin-bottom:14px}.save-panel-section-label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:12px;font-weight:600}.save-panel-actions{border-top:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;padding-top:14px;display:flex}.checkbox-grid{flex-wrap:wrap;gap:6px;display:flex}.checkbox-pill{background:var(--paper);border:1px solid var(--line);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;transition:all .15s;display:inline-flex}.checkbox-pill:hover{border-color:var(--ink-mute)}.checkbox-pill:has(input:checked){background:var(--warm-bg);border-color:var(--warm);color:var(--warm-dark);font-weight:600}.checkbox-pill input{cursor:pointer;accent-color:var(--warm);margin:0}.category-block{margin-top:10px}.category-block-label{color:var(--ink-mute);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:11px}.photo-section{border-top:1px solid var(--line-soft);margin-top:14px;padding-top:14px}.photo-row{flex-wrap:wrap;gap:14px;display:flex}.photo-preview,.photo-placeholder{border-radius:6px;flex-shrink:0;width:120px;height:120px}.photo-preview{background:var(--bg);border:1px solid var(--line);overflow:hidden}.photo-preview img{object-fit:cover;width:100%;height:100%;display:block}.photo-placeholder{background:var(--bg);border:2px dashed var(--line);color:var(--ink-mute);text-align:center;justify-content:center;align-items:center;padding:8px;font-size:12px;font-style:italic;display:flex}.photo-controls{flex-direction:column;flex:1;gap:8px;min-width:240px;display:flex}.photo-url-row{gap:6px;display:flex}.photo-url-row input{flex:1;padding:8px 12px;font-size:13px}.photo-status{color:var(--red);font-size:12px}.library-card{padding:24px 28px}.library-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:baseline;margin-bottom:18px;padding-bottom:14px;display:flex}.library-header h2{letter-spacing:-.01em;font-size:22px}.library-count{color:var(--ink-mute);font-size:13px}.library-filters{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:20px;display:flex}.library-filter{flex-direction:column;flex:1;gap:4px;min-width:140px;display:flex}.library-filter span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.library-filter input,.library-filter select{padding:8px 10px;font-size:14px}.library-search{flex:240px}.favorite-filter{cursor:pointer;flex-direction:row;align-items:center;gap:6px;padding-bottom:6px}.favorite-filter input{width:auto}.library-empty{text-align:center;color:var(--ink-mute);padding:28px;font-style:italic}.library-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.recipe-card{background:var(--paper);border:1px solid var(--line);cursor:pointer;text-align:left;font:inherit;color:var(--ink);border-radius:8px;flex-direction:column;padding:0;transition:all .15s;display:flex;overflow:hidden}.recipe-card:hover{border-color:var(--ink-mute);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.recipe-card-photo{aspect-ratio:16/10;background:var(--bg);width:100%;position:relative;overflow:hidden}.recipe-card-photo img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.recipe-card:hover .recipe-card-photo img{transform:scale(1.03)}.recipe-card-placeholder{background:linear-gradient(135deg, var(--line-soft), var(--bg));width:100%;height:100%;color:var(--ink-mute);justify-content:center;align-items:center;display:flex}.favorite-badge{background:var(--paper);color:var(--warm);border-radius:999px;padding:2px 8px;font-size:14px;position:absolute;top:8px;right:8px;box-shadow:0 1px 3px #0000001a}.recipe-card-body{flex-direction:column;flex:1;gap:6px;padding:14px 16px;display:flex}.recipe-card-title{font-size:16px;font-weight:700;line-height:1.3}.recipe-card-meta{color:var(--ink-mute);font-size:12px}.recipe-card-tags{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.tag{white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:11px;display:inline-block}.tag-slot{background:var(--warm-bg);color:var(--warm-dark);border:1px solid var(--yellow-border);font-weight:600}.tag-cat{background:var(--paper);color:var(--ink-soft);border:1px solid var(--line)}.tag-pending{background:var(--warm-bg);color:var(--warm-dark);border:1px solid var(--yellow-border);font-weight:600}.tag-accepted{background:var(--green-bg);color:var(--green-dark);border:1px solid var(--green);font-weight:600}.tag-revoked,.tag-expired{background:var(--line-soft);color:var(--ink-mute);border:1px solid var(--line)}.tag-active{background:var(--warm-bg);color:var(--warm-dark);border:1px solid var(--yellow-border);font-weight:600}.tag-used{background:var(--green-bg);color:var(--green-dark);border:1px solid var(--green);font-weight:600}.beta-new-link{background:var(--green-bg);border:1px solid var(--green);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;padding:10px 12px;display:flex}.beta-new-link code{word-break:break-all;font-size:12px}.beta-new-link-label{color:var(--green-dark);font-weight:600}.recipe-detail-card{padding:0;overflow:hidden}.detail-toolbar{border-bottom:1px solid var(--line-soft);background:var(--bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:14px 22px;display:flex}.detail-toolbar-right{flex-wrap:wrap;gap:6px;display:flex}.detail-photo-section{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;gap:18px;padding:18px 22px;display:flex}.detail-photo{aspect-ratio:16/10;background:var(--bg);border:1px solid var(--line);border-radius:6px;flex-shrink:0;width:200px;overflow:hidden}.detail-photo img{object-fit:cover;width:100%;height:100%;display:block}.detail-photo-placeholder{width:100%;height:100%;color:var(--ink-mute);justify-content:center;align-items:center;font-size:13px;font-style:italic;display:flex}.detail-photo-actions{flex-direction:column;flex:1;gap:8px;min-width:240px;display:flex}.detail-title{letter-spacing:-.01em;padding:22px 22px 6px;font-size:28px}.detail-meta{color:var(--ink-mute);padding:0 22px 18px;font-size:13px}.recipe-detail-card .recipe-rendered{padding:0 22px 22px}.detail-tags{border-top:1px solid var(--line-soft);flex-wrap:wrap;gap:4px;padding:14px 22px 22px;display:flex}.title-edit{width:calc(100% - 44px);margin:14px 22px;font-size:22px;font-weight:700}.markdown-edit{width:calc(100% - 44px);min-height:400px;margin:0 22px 22px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:13px}.recipe-detail-card .input-label{margin-top:14px;padding:0 22px}.recipe-detail-card .checkbox-grid{padding:0 22px}.control-center{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:12px;margin-bottom:20px;overflow:hidden}.control-center-header{border-bottom:1px solid var(--line-soft);background:var(--bg);align-items:center;gap:14px;padding:18px 24px;display:flex}.control-center-header h1{letter-spacing:-.01em;font-size:22px}.control-center-tabs{border-bottom:1px solid var(--line-soft);background:var(--paper);gap:0;display:flex;overflow-x:auto}.control-tab{color:var(--ink-soft);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;padding:14px 18px;font-size:14px;font-weight:600;transition:all .15s}.control-tab:hover{color:var(--ink);background:var(--bg)}.control-tab.active{color:var(--warm-dark);border-bottom-color:var(--warm);background:var(--paper)}.control-section{max-width:760px;padding:28px 32px}.control-section h2{letter-spacing:-.01em;margin-bottom:6px;font-size:24px}.section-intro{color:var(--ink-soft);margin-bottom:20px;font-size:14px;line-height:1.5}.section-subhead{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;margin-top:24px;margin-bottom:10px;font-size:15px;font-weight:700}.section-footer{border-top:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;padding-top:18px;display:flex}.empty-line{color:var(--ink-mute);padding:16px 0;font-size:14px;font-style:italic}.field{margin-bottom:12px;display:block}.field-label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.provider-picker{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;display:grid}@media (width<=600px){.provider-picker{grid-template-columns:1fr}}.provider-card{background:var(--paper);border:2px solid var(--line);text-align:left;cursor:pointer;border-radius:8px;padding:14px;transition:all .15s;position:relative}.provider-card:hover{border-color:var(--ink-mute)}.provider-card.selected{border-color:var(--green);background:var(--green-bg)}.provider-card.recommended:before{content:"RECOMMENDED";background:var(--green);color:var(--paper);letter-spacing:.08em;border-radius:999px;padding:2px 8px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:9px;font-weight:700;position:absolute;top:-8px;left:12px}.provider-name{margin-bottom:4px;font-size:15px;font-weight:700}.provider-note{color:var(--ink-mute);font-size:12px;line-height:1.4}.provider-config{background:var(--bg);border:1px solid var(--line);border-radius:8px;margin-bottom:18px;padding:16px}.test-buttons{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.model-recommendation{color:var(--ink-soft);background:var(--warm-bg);border-left:3px solid var(--yellow-border);border-radius:0 4px 4px 0;margin:8px 0;padding:8px 12px;font-size:13px}.model-recommendation code{background:var(--paper);color:var(--warm-dark);border-radius:3px;padding:1px 6px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px}.privacy-note{border-radius:4px;margin-bottom:12px;padding:10px 12px;font-size:13px}.privacy-note.good{background:var(--green-bg);border-left:3px solid var(--green)}.privacy-note.bad{background:var(--red-bg);border-left:3px solid var(--red)}.profile-textarea{min-height:460px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:13px;line-height:1.5}.profile-meta{color:var(--ink-mute);margin-bottom:10px;font-size:12px;font-style:italic}.hard-rules-help{background:var(--warm-bg);border-left:3px solid var(--warm);color:var(--ink-soft);border-radius:0 4px 4px 0;margin-bottom:18px;padding:12px 14px;font-size:13px;line-height:1.6}.hard-rules-help code{background:var(--paper);border-radius:3px;padding:1px 6px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px}.rules-list{flex-direction:column;gap:14px;margin-bottom:18px;display:flex}.rule-card{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:16px}.rule-card.inactive{opacity:.6}.rule-card-row{grid-template-columns:2fr 1fr;gap:12px;display:grid}@media (width<=600px){.rule-card-row{grid-template-columns:1fr}}.rule-card-footer{border-top:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding-top:12px;display:flex}.invite-form{grid-template-columns:1fr 160px auto;gap:8px;margin-bottom:12px;display:grid}@media (width<=600px){.invite-form{grid-template-columns:1fr}}.invite-list{flex-direction:column;gap:8px;margin-bottom:18px;display:flex}.invite-row{background:var(--bg);border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex}.invite-row-info{flex:1;min-width:200px}.invite-row-email{font-size:14px;font-weight:700}.invite-row-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.invite-meta-text{color:var(--ink-mute);font-size:12px;font-style:italic}.invite-row-actions{flex-wrap:wrap;flex-shrink:0;gap:6px;display:flex}.tag-cloud{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.category-group{margin-top:14px}.category-group h4{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:13px;font-weight:600}@media print{.app-header,.save-panel,.library-card,.control-center,.detail-toolbar,.detail-photo-section,.detail-tags,.output-toolbar,.audit-banner,.recipe-input,.error-banner{display:none!important}body,.screen-shell{background:#fff;padding:0}.card{box-shadow:none;border:none}}@media (width<=600px){body{font-size:16px}.screen-shell{padding:16px 14px 60px}.app-header-brand h1{font-size:28px}.control-section{padding:22px 18px}.library-filters{flex-direction:column;align-items:stretch}.library-filter{width:100%}}.audit-banner.audit-violated{background:var(--red-bg);border-left:3px solid var(--red);color:var(--red);border-radius:6px;margin-bottom:16px;padding:14px 16px;font-size:14px;line-height:1.5}.audit-banner.audit-violated strong{margin-bottom:4px;font-size:15px;display:block}.audit-toggle{color:var(--red);cursor:pointer;background:0 0;border:none;padding:8px 0 0;font-size:13px;font-weight:600;text-decoration:underline;display:block}.audit-list{border-top:1px solid #a84a3a33;margin:8px 0 0;padding:12px 0 0;list-style:none}.audit-list li{color:var(--ink);padding:6px 0;font-size:13px;line-height:1.5}.audit-list code{background:var(--paper);color:var(--ink);border-radius:3px;padding:1px 6px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px}.audit-list-meta{color:var(--ink-soft);margin-top:2px;margin-left:4px;font-size:12px;display:block}.page-tabs{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:10px;gap:0;width:fit-content;margin-bottom:20px;margin-left:auto;margin-right:auto;padding:4px;display:flex}.page-tab{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:10px 24px;font-size:15px;font-weight:600;transition:all .15s}.page-tab:hover{color:var(--ink);background:var(--bg)}.page-tab.active{background:var(--ink);color:var(--paper)}.page-intro{margin-bottom:18px;padding:0 4px}.page-intro h2{letter-spacing:-.01em;margin-bottom:6px;font-size:22px}.page-intro-text{color:var(--ink-soft);max-width:640px;font-size:14px;line-height:1.5}.saved-confirmation{background:var(--green-bg);border:1px solid var(--green);text-align:center}.saved-confirmation strong{color:var(--green-dark);margin-bottom:6px;font-size:18px;display:block}.saved-confirmation p{color:var(--ink-soft);margin-bottom:14px;font-size:14px}.saved-confirmation-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.modify-block{background:linear-gradient(135deg, var(--warm-bg), var(--bg));border:1px solid var(--yellow-border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:20px;margin:0 22px 22px;padding:22px;display:flex}.modify-block-text{flex:1;min-width:240px}.modify-block-text strong{color:var(--warm-dark);margin-bottom:4px;font-size:16px;display:block}.modify-block-text p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.5}.modify-button{background:var(--warm);flex-shrink:0}.modify-button:hover{background:var(--warm-dark)}.modify-button:disabled{background:var(--ink-mute);opacity:.7}.version-history-block{border-top:1px solid var(--line-soft);margin:0 22px 22px;padding:16px 0}.history-toggle{padding:6px 0;font-size:14px;font-weight:600}.version-list{flex-direction:column;gap:10px;margin-top:12px;display:flex}.version-row{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:12px 14px}.version-row-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.version-row-meta{color:var(--ink-mute);margin-top:2px;font-size:12px}.version-row-actions{gap:6px;display:flex}.version-row-body{border-top:1px solid var(--line-soft);max-height:400px;margin-top:12px;padding-top:12px;font-size:14px;overflow-y:auto}.version-badge{background:var(--warm-bg);color:var(--warm-dark);border:1px solid var(--yellow-border);letter-spacing:.02em;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.recipe-controls{grid-template-columns:minmax(200px,280px) 1fr;align-items:start;gap:18px 32px;margin:14px 22px 4px;display:grid}@media (width<=600px){.recipe-controls{grid-template-columns:1fr}}.recipe-controls .control-group{flex-direction:column;gap:4px;display:flex}.recipe-controls .input-label{margin:0}.serving-select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;max-width:220px;padding:8px 10px;font-size:15px}.control-hint{color:var(--ink-mute);font-size:12px;line-height:1.4}.checkbox-line{cursor:pointer;align-items:flex-start;gap:8px;font-size:14px;display:flex}.checkbox-line input[type=checkbox]{margin-top:3px}.audit-banner.audit-warning{background:var(--warm-bg);border-left:3px solid var(--warm);color:var(--warm-dark);padding:14px 16px}.audit-banner.audit-warning strong{font-size:15px}.audit-banner.audit-success{background:var(--green-bg);border-left:3px solid var(--green);color:var(--green-dark);padding:14px 16px}.audit-banner.audit-success strong{font-size:15px}.servings-badge{color:#fff;letter-spacing:.02em;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;position:absolute;bottom:8px;left:8px}.warning-badge{background:var(--red);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:flex;position:absolute;top:8px;left:8px;box-shadow:0 1px 3px #00000040}.recipe-card-photo{position:relative}.tag-servings{background:var(--paper);border:1px solid var(--line);font-weight:600}.tag-preserve{background:var(--warm-bg);color:var(--warm-dark);border:1px solid var(--yellow-border);font-weight:600}.tag-warning{background:var(--red-bg);color:var(--red);border:1px solid var(--red);font-weight:600}.tag-archived{background:var(--paper);color:var(--ink-mute);border:1px solid var(--line);font-size:11px}.taxonomy-block{margin:18px 0 28px}.taxonomy-add-row{align-items:center;gap:8px;margin:10px 0 16px;display:flex}.taxonomy-add-row input[type=text]{border:1px solid var(--line);background:#fff;border-radius:6px;flex:1;padding:8px 10px;font-size:14px}.taxonomy-list{flex-direction:column;gap:6px;display:flex}.taxonomy-row{background:var(--paper);border:1px solid var(--line);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.taxonomy-row-archived{opacity:.55}.taxonomy-row-name{flex:1;align-items:center;gap:10px;min-width:0;font-size:14px;display:flex}.taxonomy-row-slug{color:var(--ink-mute);font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px}.taxonomy-row-actions{flex-wrap:wrap;gap:4px;display:flex}.taxonomy-row-actions .small-btn{padding:4px 8px;font-size:12px}.audit-toggle{color:inherit;cursor:pointer;background:0 0;border:0;padding:6px 0 0;font-size:13px;text-decoration:underline}.audit-list{margin:8px 0 0;padding:0 0 0 18px;font-size:13px;line-height:1.55}.audit-list li{margin-bottom:4px}.audit-list code{background:#0000000f;border-radius:3px;padding:1px 6px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px}.audit-list-meta{color:var(--ink-mute);font-size:12px}.accuracy-panel{border-left-style:solid;border-left-width:3px;border-radius:6px;margin-bottom:16px;padding:14px 16px;font-size:14px;line-height:1.5}.accuracy-panel.accuracy-passed{background:var(--green-bg);border-left-color:var(--green);color:var(--green-dark)}.accuracy-panel.accuracy-needsreview{background:var(--warm-bg);border-left-color:var(--warm);color:var(--warm-dark)}.accuracy-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.accuracy-confidence{opacity:.85;font-size:12px}.accuracy-panel-grid{grid-template-columns:1fr 1fr;gap:4px 14px;margin:6px 0 10px;font-size:13px;display:grid}@media (width<=540px){.accuracy-panel-grid{grid-template-columns:1fr}}.accuracy-label{color:var(--ink-mute);margin-right:4px}.accuracy-correction-note{opacity:.85;margin:4px 0;font-size:12px;font-style:italic}.accuracy-summary{margin-top:6px;font-size:13px}.accuracy-clinician-flags{border-left:2px solid var(--red);background:#a84a3a14;border-radius:0 4px 4px 0;margin:8px 0;padding:8px 12px}.severity{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.severity-high{background:var(--red);color:#fff}.severity-medium{background:var(--warm);color:#fff}.severity-low{background:var(--line);color:var(--ink-soft)}.owner-debug-toggle{opacity:.85;border-top:1px dashed;margin-top:10px;padding-top:8px}.owner-debug-panel{background:#0000000a;border-radius:4px;margin-top:6px;padding:8px 12px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px;line-height:1.6}.owner-debug-panel>div{margin-bottom:2px}.tag-accuracy-ok{background:var(--green-bg);color:var(--green-dark);border:1px solid var(--green);font-weight:600}.needs-review-badge{background:var(--warm);color:#fff;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700;position:absolute;top:8px;right:8px;box-shadow:0 1px 3px #0003}.clinical-review-badge{letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.clinical-review-badge.is-unverified{color:#7a4c14;background:#fdf3e3;border-color:#e6c893}.clinical-review-badge.is-attested{color:#1d5b36;background:#e7f3ec;border-color:#9ec9b0}.recipe-card .clinical-review-badge,.platform-recipe-card .clinical-review-badge{white-space:normal;padding:1px 6px;font-size:10px}@media print{.clinical-review-badge{color:#000!important;background:0 0!important;border:1px solid #333!important;display:inline-block!important}}.auth-card{text-align:left;padding:28px}.auth-card h2{text-align:center;margin-bottom:8px;font-size:22px}.auth-intro{color:var(--ink-soft);text-align:center;margin:0 0 18px;font-size:14px;line-height:1.5}.auth-intro em{color:var(--ink);font-style:normal;font-weight:600}.auth-intro-email{background:var(--paper);word-break:break-all;border-radius:6px;padding:8px 12px;font-size:13px}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-field{flex-direction:column;gap:4px;display:flex}.auth-field>span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.auth-field input{border:1px solid var(--line);background:#fff;border-radius:6px;padding:10px 12px;font-family:inherit;font-size:15px}.auth-field input:focus{outline:2px solid var(--accent);outline-offset:1px}.auth-hint{color:var(--ink-mute);margin-top:2px;font-size:12px}.auth-error{background:var(--red-bg,#faeae6);color:var(--red-dark,#7a2f22);border-left:3px solid var(--red,#a84a3a);border-radius:4px;padding:8px 12px;font-size:13px}.auth-divider{color:var(--ink-mute);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:10px;margin:20px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-providers{flex-direction:column;gap:8px;display:flex}.provider-button{border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;background:#fff;border-radius:6px;padding:11px 16px;font-family:inherit;font-size:14px;font-weight:600}.provider-button:hover:not(:disabled){border-color:var(--accent);background:var(--cream,#faf6ed)}.provider-button:disabled{opacity:.55;cursor:not-allowed}.auth-secondary-actions{flex-direction:column;align-items:center;gap:4px;margin-top:16px;display:flex}.auth-textlink{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:4px 8px;font-family:inherit;font-size:13px;text-decoration:underline}.auth-textlink:hover{opacity:.8}.auth-textlink:disabled{opacity:.5;cursor:not-allowed;text-decoration:none}.auth-textlink-inline{font-size:inherit;padding:0;display:inline}.auth-footnote{color:var(--ink-mute);text-align:center;margin-top:14px;font-size:12px;line-height:1.5}.auth-mode-actions{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.auth-mode-secondary{text-align:center}.account-section{border-top:1px solid var(--line);margin:0;padding:16px 0}.account-section:first-of-type{margin-top:8px}.account-section-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.account-section-head h3{margin:0;font-size:15px;font-weight:600}.account-section-hint{color:var(--ink-mute);margin:0;font-size:13px;line-height:1.5}.account-form{gap:10px;margin-top:10px}.account-form .auth-field span{text-transform:none;letter-spacing:0}.account-form .status-ok{background:var(--green-bg,#e8f3e9);color:var(--green-dark,#2f6a36);border-radius:4px;padding:6px 10px;font-size:13px}.account-form .status-fail{background:var(--red-bg,#faeae6);color:var(--red-dark,#7a2f22);border-radius:4px;padding:6px 10px;font-size:13px}.app-shell-root{background:var(--paper,#f6f1e8);flex-direction:column;min-height:100vh;display:flex}.app-shell-top{border-bottom:1px solid var(--line,#d8d0c0);z-index:20;background:#fff;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:12px 24px;display:grid;position:sticky;top:0}.app-shell-brand{flex-direction:column;min-width:0;display:flex}.app-shell-brand-title{letter-spacing:-.01em;color:var(--ink,#1f1d1a);font-size:18px;font-weight:700;line-height:1.2}.app-shell-brand-subtitle{color:var(--ink-mute,#8a8580);white-space:nowrap;text-overflow:ellipsis;font-size:12px;line-height:1.3;overflow:hidden}.app-shell-identity{justify-self:end;align-items:center;gap:10px;display:flex}.app-shell-email{color:var(--ink-soft,#4a4540);white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:13px;overflow:hidden}.app-shell-account{border:1px solid var(--line,#d8d0c0);color:var(--ink,#1f1d1a);cursor:pointer;background:#fff;border-radius:6px;padding:6px 12px;font-family:inherit;font-size:13px;font-weight:500}.app-shell-account:hover{border-color:var(--accent,#a84a3a)}.app-shell-account.active{background:var(--accent,#a84a3a);color:#fff;border-color:var(--accent,#a84a3a)}.app-shell-drawer-toggle{border:1px solid var(--line,#d8d0c0);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;font-family:inherit;font-size:18px;display:none}.app-shell-body{flex:1;grid-template-columns:220px 1fr;gap:0;min-height:0;display:grid}.app-shell-sidebar{border-right:1px solid var(--line,#d8d0c0);background:#fff;padding:16px 12px}.app-shell-sidebar-inner{position:sticky;top:76px}.app-shell-drawer-close{border:1px solid var(--line,#d8d0c0);cursor:pointer;background:0 0;border-radius:6px;width:32px;height:32px;margin-bottom:8px;font-family:inherit;font-size:16px;display:none}.app-shell-nav{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.app-shell-nav-item{text-align:left;width:100%;color:var(--ink-soft,#4a4540);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:9px 12px;font-family:inherit;font-size:14px;font-weight:500}.app-shell-nav-item:hover{background:var(--paper,#f6f1e8);color:var(--ink,#1f1d1a)}.app-shell-nav-item.active{background:var(--paper,#f6f1e8);color:var(--ink,#1f1d1a);font-weight:600;position:relative}.app-shell-nav-item.active:before{content:"";background:var(--accent,#a84a3a);border-radius:0 2px 2px 0;width:3px;position:absolute;top:6px;bottom:6px;left:0}.app-shell-main{width:100%;max-width:1100px;margin:0 auto;padding:24px}.app-shell-drawer-scrim{cursor:pointer;z-index:25;background:#0006;border:0;padding:0;display:none;position:fixed;inset:0}@media (width<=768px){.app-shell-top{grid-template-columns:auto 1fr auto;padding:10px 14px}.app-shell-drawer-toggle{display:inline-flex}.app-shell-email,.app-shell-brand-subtitle{display:none}.app-shell-body{grid-template-columns:1fr}.app-shell-sidebar{z-index:30;width:260px;padding:16px 12px;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.app-shell-sidebar.is-open{transform:translate(0)}.app-shell-sidebar-inner{padding-top:8px;position:static}.app-shell-drawer-close{display:inline-flex}.app-shell-drawer-scrim{display:block}.app-shell-main{padding:16px}}.review-chip{letter-spacing:.02em;border:1px solid #0000;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.review-chip.review-needs_review,.review-needs_review{background:var(--warm-bg,#fdf3e3);color:var(--warm-dark,#8a5a1f);border-color:var(--yellow-border,#e8d0a0)}.review-chip.review-approved,.review-approved{background:var(--green-bg,#e8f3e9);color:var(--green-dark,#2f6a36);border-color:var(--green,#4a8a52)}.review-chip.review-approved_with_caveats,.review-approved_with_caveats{color:#8a6520;background:#fff8e6;border-color:#e9d685}.review-chip.review-denied,.review-denied{background:var(--red-bg,#faeae6);color:var(--red-dark,#7a2f22);border-color:var(--red,#a84a3a)}.recipe-card-photo .review-chip{font-size:10px;position:absolute;bottom:8px;right:8px}.clinical-review-dashboard{flex-direction:column;gap:16px;display:flex}.review-status-tabs{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}@media (width<=640px){.review-status-tabs{grid-template-columns:repeat(2,1fr)}}.review-status-tab{border:1px solid var(--line,#d8d0c0);cursor:pointer;text-align:left;background:#fff;border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;font-family:inherit;display:flex}.review-status-tab.active{border-color:var(--accent,#a84a3a);box-shadow:0 0 0 1px var(--accent,#a84a3a)}.review-status-tab-label{color:var(--ink,#1f1d1a);font-size:13px;font-weight:600}.review-status-tab-count{color:var(--ink-soft,#4a4540);font-size:18px;font-weight:700}.review-status-tab-needs_review .review-status-tab-count{color:var(--warm-dark,#8a5a1f)}.review-status-tab-approved .review-status-tab-count{color:var(--green-dark,#2f6a36)}.review-status-tab-approved_with_caveats .review-status-tab-count{color:#8a6520}.review-status-tab-denied .review-status-tab-count{color:var(--red-dark,#7a2f22)}.review-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.review-list{flex-direction:column;gap:8px;display:flex}.review-row{border:1px solid var(--line,#d8d0c0);background:#fff;border-radius:8px;grid-template-columns:72px 1fr auto;align-items:center;gap:14px;padding:10px 12px;display:grid}.review-row-needs_review{border-left:4px solid var(--warm,#d4a050)}.review-row-approved{border-left:4px solid var(--green,#4a8a52)}.review-row-approved_with_caveats{border-left:4px solid #d4b04a}.review-row-denied{border-left:4px solid var(--red,#a84a3a)}.review-row-photo{background:var(--paper,#f6f1e8);width:72px;height:72px;color:var(--ink-mute,#8a8580);border-radius:6px;justify-content:center;align-items:center;display:flex;overflow:hidden}.review-row-photo img{object-fit:cover;width:100%;height:100%}.review-row-body{flex-direction:column;gap:4px;min-width:0;display:flex}.review-row-title-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.review-row-title{min-width:0;font-size:15px;font-weight:700;line-height:1.3}.review-row-meta{color:var(--ink-mute,#8a8580);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.review-row-notes,.review-row-caveats{color:var(--ink-soft,#4a4540);background:var(--paper,#f6f1e8);border-radius:4px;margin-top:2px;padding:4px 8px;font-size:12px}.review-row-actions{align-items:center;gap:6px;display:flex}@media (width<=640px){.review-row{grid-template-columns:56px 1fr}.review-row-actions{grid-column:1/-1;justify-content:flex-end;margin-top:4px}}.confidence-badge{background:var(--paper,#f6f1e8);border:1px solid var(--line,#d8d0c0);border-radius:4px;padding:1px 6px;font-size:11px;display:inline-block}.confidence-badge.confidence-low{color:var(--red-dark,#7a2f22)}.confidence-badge.confidence-medium{color:var(--warm-dark,#8a5a1f)}.confidence-badge.confidence-high{color:var(--green-dark,#2f6a36)}.clinical-review-panel{border:1px solid var(--line,#d8d0c0);background:#fff;border-radius:8px;flex-direction:column;gap:12px;margin:0 22px 16px;padding:14px 16px;display:flex}.review-panel-needs_review{border-left:4px solid var(--warm,#d4a050);background:var(--warm-bg,#fdf3e3)}.review-panel-approved{border-left:4px solid var(--green,#4a8a52);background:var(--green-bg,#e8f3e9)}.review-panel-approved_with_caveats{background:#fff8e6;border-left:4px solid #d4b04a}.review-panel-denied{border-left:4px solid var(--red,#a84a3a);background:var(--red-bg,#faeae6)}.clinical-review-panel h3{margin:0;font-size:15px;font-weight:700}.clinical-review-panel h4{margin:0 0 8px;font-size:14px;font-weight:600}.clinical-review-panel-status{color:var(--ink-soft,#4a4540);margin-top:2px;font-size:13px}.clinical-review-panel-meta{color:var(--ink-mute,#8a8580);font-size:12px;font-weight:400}.clinical-review-block{font-size:13px}.clinical-review-actions{flex-wrap:wrap;gap:6px;display:flex}.clinical-review-form{border:1px solid var(--line,#d8d0c0);background:#fff;border-radius:6px;padding:12px}.clinical-review-form textarea{border:1px solid var(--line,#d8d0c0);resize:vertical;border-radius:4px;width:100%;padding:8px;font-family:inherit;font-size:13px}.clinical-review-form-actions{justify-content:flex-end;gap:6px;margin-top:8px;display:flex}.clinical-review-history{font-size:13px}.clinical-review-history-list{margin:6px 0 0;padding-left:18px;list-style:outside}.clinical-review-history-list li{margin-bottom:6px}.clinical-review-history-notes{color:var(--ink-soft,#4a4540);margin-top:2px;font-size:12px}.nutrition-panel{border:1px solid var(--line,#d8d0c0);background:#fff;border-radius:8px;flex-direction:column;gap:12px;margin:0 22px 16px;padding:14px 16px;display:flex}.nutrition-panel-pending{background:var(--paper,#f6f1e8);border-style:dashed}.nutrition-panel-partial{background:#fffbf0;border-left:4px solid #d4b04a}.nutrition-panel-verified{border-left:4px solid var(--green,#4a8a52)}.nutrition-panel-unavailable{background:var(--paper,#f6f1e8);border-style:dashed}.nutrition-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.nutrition-panel-head h3{margin:0;font-size:15px;font-weight:700}.nutrition-panel-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.nutrition-panel-confidence{color:var(--ink-mute,#8a8580);font-size:12px}.nutrition-status-chip{letter-spacing:.02em;border:1px solid var(--line,#d8d0c0);color:var(--ink-soft,#4a4540);background:#fff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.nutrition-status-chip.nutrition-status-verified{background:var(--green-bg,#e8f3e9);color:var(--green-dark,#2f6a36);border-color:var(--green,#4a8a52)}.nutrition-status-chip.nutrition-status-partial{color:#8a6520;background:#fff8e6;border-color:#e9d685}.nutrition-status-chip.nutrition-status-unavailable{background:var(--paper,#f6f1e8);color:var(--ink-mute,#8a8580)}.nutrition-pending{color:var(--ink-soft,#4a4540);font-size:13px;line-height:1.6}.nutrition-pending p{margin:4px 0}.nutrition-pending-hint{color:var(--ink-mute,#8a8580);font-size:12px}.nutrition-table{background:var(--paper,#f6f1e8);border-radius:6px;padding:10px 12px}.nutrition-table-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-mute,#8a8580);margin-bottom:6px;font-size:12px;font-weight:700}.nutrition-grid{grid-template-columns:repeat(3,1fr);gap:8px 14px;margin:0;display:grid}@media (width<=540px){.nutrition-grid{grid-template-columns:repeat(2,1fr)}}.nutrition-cell{flex-direction:column;gap:2px;display:flex}.nutrition-cell dt{color:var(--ink-mute,#8a8580);font-size:11px}.nutrition-cell dd{color:var(--ink,#1f1d1a);margin:0;font-size:14px;font-weight:600}.nutrition-unresolved{background:#fffbf0;border:1px solid #e9d685;border-radius:4px;padding:10px 12px;font-size:13px}.nutrition-unresolved code{background:#fff;border-radius:3px;padding:1px 5px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px}.nutrition-source-note{color:var(--ink-mute,#8a8580);font-size:11px;font-style:italic}@media print{.nutrition-panel{background:#fff!important;border-style:solid!important}}.master-badge{letter-spacing:.04em;color:#8a5a1f;background:#fdf3e3;border:1px solid #e8d0a0;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-block}.recipe-card-photo .master-badge{position:absolute;top:8px;left:8px}.master-badge-inline{letter-spacing:.04em;color:#8a5a1f;vertical-align:middle;background:#fdf3e3;border:1px solid #e8d0a0;border-radius:3px;margin-left:6px;padding:1px 5px;font-size:9px;font-weight:700;display:inline-block}.master-panel{border:1px solid var(--line,#d8d0c0);background:#fff;border-radius:8px;flex-direction:column;gap:12px;margin:0 22px 16px;padding:14px 16px;display:flex}.master-panel-is-master{background:#fdf9f0;border-left:4px solid #d4a050}.master-panel-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.master-panel-head h3{margin:0;font-size:15px;font-weight:700}.master-panel-blurb{color:var(--ink-soft,#4a4540);margin:0;font-size:13px}.master-meta-form{flex-direction:column;gap:6px;display:flex}.master-meta-form textarea{border:1px solid var(--line,#d8d0c0);resize:vertical;border-radius:4px;width:100%;padding:8px;font-family:inherit;font-size:13px}.master-meta-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.master-meta-row input[type=number]{border:1px solid var(--line,#d8d0c0);border-radius:4px;padding:6px 8px;font-family:inherit;font-size:13px}.master-meta-row-readonly{color:var(--ink-soft,#4a4540);font-size:13px}.master-note{border:1px solid var(--line,#d8d0c0);background:#fff;border-radius:4px;padding:8px 10px;font-size:13px}.planned-over-section{flex-direction:column;gap:8px;display:flex}.planned-over-section-head{justify-content:space-between;align-items:center;display:flex}.planned-over-empty{color:var(--ink-mute,#8a8580);font-size:13px;font-style:italic}.planned-over-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.planned-over-row{border:1px solid var(--line,#d8d0c0);background:#fff;border-radius:6px;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:4px 8px 4px 4px;display:grid}.planned-over-row-missing{color:var(--ink-mute,#8a8580);background:var(--paper,#f6f1e8);padding:8px;font-style:italic;display:block}.planned-over-row-main{cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:60px 1fr;gap:10px;min-width:0;padding:4px;font-family:inherit;display:grid}.planned-over-row-photo{background:var(--paper,#f6f1e8);border-radius:4px;justify-content:center;align-items:center;width:56px;height:56px;display:flex;overflow:hidden}.planned-over-row-photo img{object-fit:cover;width:100%;height:100%}.planned-over-row-placeholder{background:var(--paper,#f6f1e8);width:100%;height:100%}.planned-over-row-body{min-width:0}.planned-over-row-title{color:var(--ink,#1f1d1a);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.planned-over-row-meta{color:var(--ink-mute,#8a8580);font-size:11px}.planned-over-row-note{color:var(--ink-soft,#4a4540);margin-top:2px;font-size:12px}.planned-over-unlink{flex-shrink:0}.master-panel-empty{background:var(--paper,#f6f1e8);border-radius:6px;flex-direction:column;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.recipe-picker{background:var(--paper,#f6f1e8);border:1px solid var(--line,#d8d0c0);border-radius:6px;max-height:320px;margin-top:8px;padding:10px;overflow-y:auto}.recipe-picker-head{gap:6px;margin-bottom:8px;display:flex}.recipe-picker-head input{border:1px solid var(--line,#d8d0c0);border-radius:4px;flex:1;padding:6px 8px;font-family:inherit;font-size:13px}.recipe-picker-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.recipe-picker-row{border:1px solid var(--line,#d8d0c0);cursor:pointer;text-align:left;background:#fff;border-radius:4px;grid-template-columns:56px 1fr;gap:10px;width:100%;min-width:0;padding:4px;font-family:inherit;display:grid}.recipe-picker-row:hover{border-color:var(--accent,#a84a3a)}.pairs-panel{border:1px solid var(--line,#d8d0c0);background:#fff;border-radius:8px;flex-direction:column;gap:12px;margin:0 22px 16px;padding:14px 16px;display:flex}.pairs-panel-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.pairs-panel-head h3{margin:0;font-size:15px;font-weight:700}.pairs-suggestions{border-top:1px dashed var(--line,#d8d0c0);padding-top:12px}.pairs-suggestions-toggle{padding:4px 0;font-size:13px}.pairs-suggestion-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.pairs-suggestion-row{background:var(--paper,#f6f1e8);border:1px dashed var(--line,#d8d0c0);border-radius:6px;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:4px 8px 4px 4px;display:grid}.pairs-suggestion-row:hover{border-style:solid}.pairs-suggestions-note{color:var(--ink-mute,#8a8580);margin:8px 0 0;font-size:11px;font-style:italic}.api-key-create{margin-bottom:16px}.api-key-create input[type=text],.api-key-create input[type=date]{border:1px solid var(--line,#d8d0c0);border-radius:4px;width:100%;margin-bottom:6px;padding:8px 10px;font-family:inherit;font-size:14px}.api-key-just-created{background:var(--warm-bg,#fdf3e3);border:1px solid var(--warm,#d4a050);border-radius:6px;margin-top:14px;padding:12px 14px}.api-key-just-created h4{color:var(--warm-dark,#8a5a1f);margin:0 0 6px;font-size:14px}.api-key-just-created p{color:var(--ink-soft,#4a4540);margin:0 0 8px;font-size:13px}.api-key-token-row{border:1px solid var(--line,#d8d0c0);background:#fff;border-radius:4px;align-items:center;gap:6px;padding:6px 8px;display:flex}.api-key-token{word-break:break-all;color:var(--ink,#1f1d1a);flex:1;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px}.api-key-prefix-note{color:var(--ink-mute,#8a8580);margin-top:8px;font-size:11px}.api-key-list h3{margin-bottom:8px}.api-key-row{border:1px solid var(--line,#d8d0c0);background:#fff;border-radius:6px;grid-template-columns:1fr auto;gap:12px;margin-bottom:8px;padding:10px 12px;display:grid}.api-key-row.is-revoked{background:var(--paper,#f6f1e8);opacity:.7}.api-key-row-name{align-items:center;gap:6px;display:flex}.api-key-row-name input{border:1px solid var(--line,#d8d0c0);border-radius:4px;padding:4px 8px;font-family:inherit;font-size:14px}.api-key-row-meta{color:var(--ink-mute,#8a8580);margin-top:2px;font-size:12px}.api-key-row-meta code{background:var(--paper,#f6f1e8);border-radius:3px;padding:1px 5px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px}.api-key-row-expired{color:var(--red-dark,#7a2f22)}.api-key-row-scopes{color:var(--ink-mute,#8a8580);margin-top:4px;font-size:11px}.api-key-row-scopes code{background:var(--paper,#f6f1e8);border-radius:3px;margin-right:4px;padding:1px 5px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px}.api-key-row-actions{align-items:center;gap:4px;display:flex}.ghost-link{color:var(--accent,#a84a3a);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-family:inherit;font-size:12px;text-decoration:underline}.plan-card-summary{grid-template-columns:1fr auto;align-items:flex-start;gap:12px;display:grid}.plan-card-tier{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.plan-tier-badge{letter-spacing:.04em;border:1px solid;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.plan-tier-free{background:var(--paper,#f6f1e8);color:var(--ink-soft,#4a4540);border-color:var(--line,#d8d0c0)}.plan-tier-family{background:var(--green-bg,#e8f3e9);color:var(--green-dark,#2f6a36);border-color:var(--green,#4a8a52)}.plan-tier-clinic{color:#4a3a8a;background:#ebe6f5;border-color:#8870c8}.plan-status-pill{border:1px solid var(--line,#d8d0c0);color:var(--ink-soft,#4a4540);background:#fff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.plan-status-pill.plan-status-trial{color:#8a6520;background:#fff8e6;border-color:#e9d685}.plan-status-pill.plan-status-past_due{background:var(--red-bg,#faeae6);color:var(--red-dark,#7a2f22);border-color:var(--red,#a84a3a)}.plan-status-pill.plan-status-canceled{opacity:.6}.plan-card-blurb{color:var(--ink-soft,#4a4540);margin:0;font-size:13px;line-height:1.5}.plan-card-trial-note{color:var(--warm-dark,#8a5a1f);margin:4px 0 0;font-size:12px}.plan-coming-soon{background:var(--warm-bg,#fdf3e3);border:1px solid var(--warm,#d4a050);border-radius:4px;max-width:320px;padding:8px 10px;font-size:13px}.plan-card-details{border-top:1px dashed var(--line,#d8d0c0);margin-top:12px;padding-top:12px}.plan-card-details h4{color:var(--ink,#1f1d1a);margin:0 0 6px;font-size:13px;font-weight:700}.plan-feature-list{margin:0 0 8px;padding-left:20px}.plan-feature-list li{color:var(--ink-soft,#4a4540);margin-bottom:4px;font-size:13px}.plan-card-roadmap-note{color:var(--ink-mute,#8a8580);margin:0;font-size:11px;font-style:italic}.plan-card-roadmap-note code{background:var(--paper,#f6f1e8);border-radius:3px;padding:1px 5px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px}.plan-tier-basic{color:#2f4d7a;background:#e8eef7;border-color:#6a8cc0}.plan-tier-solo{color:#8a5a1f;background:#fdf3e3;border-color:#d4a050}.plan-tier-pro,.plan-tier-clinician,.plan-tier-enterprise{color:#4a3a8a;background:#ebe6f5;border-color:#8870c8}.plan-status-pill.plan-status-trialing{color:#8a6520;background:#fff8e6;border-color:#e9d685}.plan-status-pill.plan-status-comped{background:var(--green-bg,#e8f3e9);color:var(--green-dark,#2f6a36);border-color:var(--green,#4a8a52)}.plan-status-pill.plan-status-suspended{background:var(--red-bg,#faeae6);color:var(--red-dark,#7a2f22);border-color:var(--red,#a84a3a)}.plan-card-past-due{color:var(--red-dark,#7a2f22)}.plan-billing-controls{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.plan-tier-picker{border:1px solid var(--line,#d8d0c0);background:var(--paper,#f6f1e8);border-radius:6px;grid-column:1/-1;padding:12px}.plan-tier-picker h4{margin:0;font-size:14px}.plan-tier-options{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:10px 0;display:grid}.plan-tier-option{border:1px solid var(--line,#d8d0c0);background:#fff;border-radius:6px;flex-direction:column;gap:8px;padding:12px;display:flex}.plan-tier-option-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.plan-tier-option-head strong{font-size:14px}.plan-tier-option-head span{color:var(--green-dark,#2f6a36);font-size:13px;font-weight:700}.plan-tier-option .plan-feature-list{flex:1;margin:0}.plan-tier-option .small-btn{align-self:flex-start}.upgrade-modal-scrim{z-index:60;background:#00000059;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.upgrade-modal{border:1px solid var(--line,#d8d0c0);background:#fff;border-radius:8px;width:100%;max-width:420px;padding:20px;box-shadow:0 12px 40px #0000002e}.upgrade-modal h3{margin:0 0 8px;font-size:16px}.upgrade-modal p{color:var(--ink-soft,#4a4540);margin:0 0 14px;font-size:13px;line-height:1.5}.upgrade-modal-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.chip-toggle-row{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.chip-toggle{border:1px solid var(--line,#d8d0c0);color:var(--ink-soft,#4a4540);cursor:pointer;background:#fff;border-radius:999px;padding:6px 12px;font-family:inherit;font-size:13px;font-weight:500;transition:all .12s}.chip-toggle:hover{border-color:var(--accent,#b8483a);color:var(--accent,#b8483a)}.chip-toggle.on{background:var(--accent,#b8483a);color:#fff;border-color:var(--accent,#b8483a)}.chip-toggle.on:before{content:"✓";margin-right:4px;font-weight:700}.filter-chip-block{margin-bottom:14px}.filter-chip-label{color:var(--ink-soft,#4a4540);text-transform:uppercase;letter-spacing:.04em;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.filter-chip-count{text-transform:none;letter-spacing:0;color:var(--ink-mute,#8a8580);font-size:11px;font-weight:500}.filter-chip-count strong{color:var(--accent,#b8483a)}.care-team-list{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.care-team-row{border:1px solid var(--line,#d8d0c0);background:#fff;border-radius:8px;grid-template-columns:100px 1fr;align-items:start;gap:12px;padding:12px;display:grid}.care-team-row.inactive{opacity:.6}.care-team-row-left{padding-top:4px}.care-team-row-body{flex-direction:column;gap:6px;min-width:0;display:flex}.care-team-row-name{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.care-team-row-name .chip{text-transform:capitalize}.care-team-name-input{border:1px solid var(--line,#d8d0c0);border-radius:4px;padding:4px 8px;font-size:14px;font-weight:700}.care-team-row-desc{color:var(--ink-mute,#8a8580);font-size:12px}.care-team-row-config{grid-template-columns:130px 1fr 1fr;gap:6px;margin-top:4px;display:grid}.care-team-row-config select,.care-team-row-config input{border:1px solid var(--line,#d8d0c0);border-radius:4px;min-width:0;padding:5px 8px;font-family:inherit;font-size:12px}@media (width<=720px){.care-team-row,.care-team-row-config{grid-template-columns:1fr}}.chairman-banner{background:var(--accent-soft,#f3e8df);border-color:var(--accent,#b8483a);gap:10px;margin-bottom:12px;padding:10px 14px;display:flex}.chairman-banner-body{color:var(--ink-soft,#4a4540);flex:1;font-size:13px;line-height:1.5}.chairman-banner-body code{background:#fff;border-radius:3px;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:12px}.care-team-review{border-top:1px dashed var(--line,#d8d0c0);margin-top:14px;padding-top:12px}.care-team-review-toggle{cursor:pointer;color:var(--ink,#2a2520);text-align:left;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:4px 0;font-family:inherit;font-size:13px;display:flex}.care-team-review-chev{color:var(--ink-mute,#8a8580);font-size:14px;transition:transform .15s;display:inline-block}.care-team-review-chev.open{transform:rotate(90deg)}.care-team-review-tally{flex-wrap:wrap;gap:4px;margin-left:auto;display:flex}.care-team-review-attribution{color:var(--ink-mute,#8a8580);margin-top:2px;margin-left:22px;font-size:11px}.care-team-review-members{flex-direction:column;gap:8px;margin-top:10px;display:flex}.care-team-review-member{border:1px solid var(--line,#d8d0c0);border-left:3px solid var(--ink-mute,#8a8580);background:#fff;border-radius:6px;padding:10px 12px}.care-team-review-member.verdict-approve{border-left-color:var(--green,#4a8a52)}.care-team-review-member.verdict-approve_with_caveats{border-left-color:#d4b04a}.care-team-review-member.verdict-deny{border-left-color:var(--red,#a84a3a)}.care-team-review-member-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.care-team-review-member-name{font-size:13px;font-weight:700}.care-team-review-member-model{color:var(--ink-mute,#8a8580);font-family:JetBrains Mono,monospace;font-size:11px}.care-team-review-member-rationale{color:var(--ink-soft,#4a4540);margin-bottom:6px;font-size:13px;font-style:italic}.care-team-review-member-block{margin-top:6px;font-size:12px}.care-team-review-member-block-label{color:var(--ink-mute,#8a8580);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.care-team-review-member-block ul{color:var(--ink-soft,#4a4540);margin:4px 0 0;padding-left:20px}.care-team-review-member-block li{margin-bottom:2px}.variations-panel-intro{color:var(--ink-soft,#4a4540);margin:0 0 12px;font-size:13px;line-height:1.5}.variations-cta{margin-top:12px}.variations-cta-helper{color:var(--ink-mute,#8a8580);margin-top:6px;font-size:11px}.variations-error{border:1px solid var(--red,#a84a3a);color:var(--red,#a84a3a);background:#faecea;border-radius:6px;margin-top:10px;padding:8px 12px;font-size:13px}.section-helper{color:var(--ink-mute,#8a8580);margin:0 0 10px;font-size:12px}.section-subhead{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-mute,#8a8580);margin-top:16px;margin-bottom:8px;font-size:13px;font-weight:700}.section-footer{align-items:center;gap:8px;margin-top:16px;display:flex}.ghost-button.tiny.danger{color:var(--red,#a84a3a);font-size:11px}.chip.category{background:var(--paper,#f6f1e8)}.platform-recipe-card{cursor:default;position:relative}.platform-recipe-card-open{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;padding:0;display:flex}.platform-favorite-toggle{z-index:2;border:1px solid var(--line);background:var(--paper);width:30px;height:30px;color:var(--ink-mute);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;transition:color .15s,transform .1s;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 1px 3px #0000001a}.platform-favorite-toggle:hover{transform:scale(1.08)}.platform-favorite-toggle.on{color:var(--warm)}.platform-add-block{background:linear-gradient(135deg, var(--warm-bg), var(--bg));border:1px solid var(--yellow-border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:20px;margin:0 22px 22px;padding:22px;display:flex}.platform-add-readonly{background:var(--bg);border-color:var(--line-soft)}.platform-add-readonly p{color:var(--ink-soft);margin:0;font-size:14px}.publish-library-toggle{align-items:flex-start}.small-btn.published-toggle.on{border-color:var(--warm);color:var(--warm-dark);background:var(--warm-bg)}.admin-root{background:var(--bg);min-height:100vh;color:var(--ink);flex-direction:column;display:flex}.admin-top{background:var(--green-dark);color:var(--paper);border-bottom:1px solid var(--green-dark);align-items:center;gap:16px;padding:10px 20px;display:flex}.admin-brand{align-items:baseline;gap:8px;display:flex}.admin-brand-mark{letter-spacing:-.01em;font-weight:700}.admin-brand-sub{text-transform:uppercase;letter-spacing:.08em;color:var(--green-bg);opacity:.85;font-size:12px}.admin-top-identity{align-items:center;gap:10px;margin-left:auto;display:flex}.admin-top-email{color:var(--green-bg);font-size:13px}.admin-top-identity .small-btn{color:var(--paper);background:0 0;border-color:#ffffff59}.admin-top-identity .small-btn:hover{border-color:var(--paper);background:#ffffff1f}.admin-top-identity .tag{color:var(--paper);background:#ffffff24;border-color:#ffffff4d}.admin-drawer-toggle{color:var(--paper);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:18px;display:none}.admin-body{flex:1;align-items:stretch;display:flex}.admin-nav{border-right:1px solid var(--line);background:var(--paper);flex-shrink:0;width:210px;padding:18px 12px}.admin-nav ul{margin:0;padding:0;list-style:none}.admin-nav-item{color:var(--ink-soft);border-radius:8px;margin-bottom:2px;padding:9px 12px;font-size:14px;font-weight:500;text-decoration:none;display:block}.admin-nav-item:hover{background:var(--bg);color:var(--ink)}.admin-nav-item.active{background:var(--green-bg);color:var(--green-dark);font-weight:600}.admin-main{flex:1;min-width:0;padding:28px 32px}.admin-page{max-width:1080px}.admin-scrim{display:none}.admin-section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.admin-section-title{letter-spacing:-.01em;font-size:24px}.admin-section-intro{color:var(--ink-soft);max-width:620px;margin-top:4px;font-size:14px;line-height:1.5}.admin-section-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-subhead{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-mute);margin:28px 0 12px;font-size:13px}.admin-back{margin-bottom:12px}.admin-search{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-search input{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;min-width:200px;padding:7px 10px;font-size:14px}.admin-stat-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:8px;display:grid}.admin-stat{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px 18px}.admin-stat-value{letter-spacing:-.02em;font-size:28px;font-weight:700}.admin-stat-label{color:var(--ink-soft);margin-top:2px;font-size:13px}.admin-stat-attention{border-color:var(--yellow-border);background:var(--warm-bg)}.admin-stat-attention .admin-stat-value{color:var(--warm-dark)}.admin-tier-bar{flex-wrap:wrap;gap:10px;display:flex}.admin-tier-chip{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;min-width:96px;padding:10px 16px;display:flex}.admin-tier-chip:hover{border-color:var(--green)}.admin-tier-name{color:var(--ink-soft);font-size:12px}.admin-tier-count{font-size:20px;font-weight:700}.admin-table-wrap{border:1px solid var(--line);background:var(--paper);border-radius:12px;overflow:hidden auto}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th{text-align:left;background:var(--bg);border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-mute);white-space:nowrap;padding:11px 14px;font-size:12px;font-weight:600}.admin-table td{border-bottom:1px solid var(--line-soft);vertical-align:top;padding:11px 14px}.admin-table tr:last-child td{border-bottom:none}.admin-row-clickable{cursor:pointer}.admin-row-clickable:hover td{background:var(--bg)}.admin-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.admin-bad{color:var(--red)}.admin-truncate{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:280px;display:inline-block;overflow:hidden}.admin-cell-stack{flex-direction:column;gap:1px;display:flex}.admin-cell-strong{font-weight:600}.admin-muted{color:var(--ink-mute);font-size:13px}.admin-code{color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.admin-chip-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-link-chip{background:var(--green-bg);color:var(--green-dark);border:1px solid var(--green);cursor:pointer;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.admin-link-chip:hover{background:var(--green);color:var(--paper)}.admin-detail-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.admin-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:18px 20px}.admin-card-title{margin-bottom:12px;font-size:16px}.admin-kv{grid-template-columns:auto 1fr;gap:4px 16px;margin-bottom:12px;display:grid}.admin-kv>div{display:contents}.admin-kv dt{color:var(--ink-mute);font-size:13px}.admin-kv dd{font-size:14px}.admin-form{flex-direction:column;gap:12px;display:flex}.admin-form-row{flex-wrap:wrap;gap:12px;display:flex}.admin-field{flex-direction:column;flex:1;gap:4px;min-width:140px;display:flex}.admin-field>span{color:var(--ink-soft);font-size:13px}.admin-field-inline{flex-direction:row;flex:0;align-items:center;min-width:0}.admin-field input,.admin-field select,.admin-field textarea{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:14px}.admin-field textarea{resize:vertical;line-height:1.45}.admin-form-actions{align-items:center;gap:12px;display:flex}.admin-saved{color:var(--green-dark);font-size:13px;font-weight:600}.admin-hint{color:var(--ink-mute);font-size:12px;line-height:1.5}.admin-inline-action{align-items:center;gap:6px;display:flex}.admin-inline-action select{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:7px;padding:5px 8px;font-size:13px}.admin-roster{flex-direction:column;gap:12px;display:flex}.admin-roster-card.is-inactive{opacity:.72}.admin-roster-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-roster-form{border-top:1px solid var(--line-soft);margin-top:16px;padding-top:16px}.admin-loading{color:var(--ink-soft);align-items:center;gap:10px;padding:40px 0;display:flex}@media (width<=860px){.admin-drawer-toggle{display:block}.admin-nav{z-index:40;width:230px;padding-top:64px;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.admin-nav.is-open{transform:translate(0)}.admin-scrim{z-index:30;background:#0000004d;border:none;display:block;position:fixed;inset:0}.admin-main{padding:20px 18px}}.day-plan-controls{flex-wrap:wrap;align-items:flex-end;gap:24px;display:flex}.day-plan-cr-field{min-width:220px;margin-bottom:0}.day-plan-select,.day-plan-text-input,.day-plan-date-input{background:var(--paper);border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:8px 12px;font-size:14px}.day-plan-select:focus,.day-plan-text-input:focus,.day-plan-date-input:focus{border-color:var(--green);outline:none}.day-plan-date-nav{flex-direction:column;display:flex}.day-plan-date-row{align-items:center;gap:6px;display:flex}.day-plan-date-input{min-width:150px}.day-plan-day-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin:4px 4px 14px;display:flex}.day-plan-day-head h3{letter-spacing:-.01em;font-size:18px}.day-plan-summary{color:var(--ink-mute);font-size:13px;font-weight:600}.day-plan-slots{flex-direction:column;gap:14px;transition:opacity .15s;display:flex}.day-plan-slots.is-loading{opacity:.6}.day-plan-slot{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:10px;padding:16px 20px}.day-plan-slot-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.day-plan-slot-head h4{color:var(--ink);font-size:15px;font-weight:700}.day-plan-slot-empty{color:var(--ink-mute);margin-top:8px;font-size:13px;font-style:italic}.day-plan-entries{flex-direction:column;gap:10px;margin-top:12px;display:flex}.day-plan-entry{border:1px solid var(--line-soft);background:var(--bg);border-radius:8px;padding:12px 14px}.day-plan-entry-completed{border-left:3px solid var(--green)}.day-plan-entry-skipped{opacity:.7;border-left:3px solid var(--line)}.day-plan-entry-main{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.day-plan-entry-title{color:var(--ink);font-size:15px;font-weight:600}.day-plan-entry-tag{text-transform:uppercase;letter-spacing:.05em;background:var(--green-bg);color:var(--green-dark);border:1px solid var(--green);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600}.day-plan-entry-notes{color:var(--ink-soft);margin-top:6px;font-size:13px}.day-plan-entry-controls{flex-wrap:wrap;align-items:center;gap:14px;margin-top:10px;display:flex}.day-plan-status-group{border:1px solid var(--line);border-radius:6px;display:inline-flex;overflow:hidden}.day-plan-status-btn{background:var(--paper);color:var(--ink-soft);border:none;border-right:1px solid var(--line);cursor:pointer;padding:6px 12px;font-size:13px}.day-plan-status-btn:last-child{border-right:none}.day-plan-status-btn:hover{background:var(--bg);color:var(--ink)}.day-plan-status-btn.active{background:var(--green);color:var(--paper)}.day-plan-status-btn:disabled{opacity:.5;cursor:not-allowed}.day-plan-acceptance{flex-direction:column;gap:4px;margin-bottom:0;display:flex}.day-plan-entry-delete{color:var(--red);margin-left:auto}.day-plan-entry-delete:hover{color:var(--red);text-decoration:underline}.day-plan-entry-readonly{align-items:center;gap:8px;margin-top:8px;display:flex}.day-plan-status-chip,.day-plan-acceptance-chip{text-transform:capitalize;border:1px solid var(--line);color:var(--ink-soft);background:var(--paper);border-radius:4px;padding:2px 8px;font-size:12px}.day-plan-status-chip-completed{background:var(--green-bg);color:var(--green-dark);border-color:var(--green)}.day-plan-add-form{border-top:1px dashed var(--line-soft);flex-wrap:wrap;align-items:flex-end;gap:14px;margin-top:14px;padding-top:14px;display:flex}.day-plan-add-form .field{flex:1;min-width:200px;margin-bottom:0}.day-plan-add-form .day-plan-text-input{width:100%}@media (width<=640px){.day-plan-controls{gap:16px}.day-plan-cr-field,.day-plan-date-nav{width:100%}.day-plan-entry-controls{gap:10px}.day-plan-entry-delete{margin-left:0}}.app-shell-bell{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;padding:4px 6px;font-size:18px;line-height:1;position:relative}.app-shell-bell:hover{color:var(--ink)}.app-shell-bell-badge{background:var(--red);min-width:16px;height:16px;color:var(--paper);border-radius:8px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-2px;right:-2px}.notifications-toolbar{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.notifications-filter{color:var(--ink-soft);align-items:center;gap:8px;font-size:14px;display:inline-flex}.notifications-count{color:var(--ink-mute);margin-left:auto;font-size:13px;font-weight:600}.notifications-list{flex-direction:column;gap:10px;transition:opacity .15s;display:flex}.notifications-list.is-loading{opacity:.6}.notification-item{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 18px;display:flex}.notification-item.is-unread{border-left:3px solid var(--green)}.notification-item.is-read{opacity:.85}.notification-body{flex:1;min-width:0}.notification-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.notification-dot{background:var(--green);border-radius:50%;flex:none;width:8px;height:8px}.notification-title{color:var(--ink);font-size:15px;font-weight:600}.notification-when{color:var(--ink-mute);font-size:12px}.notification-text{color:var(--ink-soft);margin-top:4px;font-size:14px;line-height:1.5}.notification-actions{flex-direction:column;flex:none;align-items:flex-end;gap:4px;display:flex}.notification-dismiss{color:var(--red)}.notes-controls{flex-wrap:wrap;align-items:flex-end;gap:24px;display:flex}.notes-cr-field,.notes-cat-field{min-width:220px;margin-bottom:0}.notes-select,.note-textarea{background:var(--paper);border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:8px 12px;font-family:inherit;font-size:14px}.notes-select:focus,.note-textarea:focus{border-color:var(--green);outline:none}.note-textarea{resize:vertical;width:100%;line-height:1.5}.notes-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}.notes-main{min-width:0}.note-composer{flex-direction:column;gap:12px;display:flex}.note-composer-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.notes-timeline{flex-direction:column;gap:10px;transition:opacity .15s;display:flex}.notes-timeline.is-loading{opacity:.6}.note-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:10px;padding:14px 18px}.note-card-editing{flex-direction:column;gap:12px;display:flex}.note-card-head{align-items:center;gap:10px;margin-bottom:6px;display:flex}.note-card-when{color:var(--ink-mute);margin-left:auto;font-size:12px}.note-card-text{color:var(--ink);white-space:pre-wrap;font-size:14px;line-height:1.55}.note-card-recipe{color:var(--ink-soft);margin-top:6px;font-size:13px;font-style:italic}.note-card-actions{gap:8px;margin-top:10px;display:flex}.note-card-delete{color:var(--red)}.note-cat-chip{text-transform:uppercase;letter-spacing:.05em;background:var(--bg);color:var(--ink-soft);border:1px solid var(--line);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.note-cat-good_day{background:var(--green-bg);color:var(--green-dark);border-color:var(--green)}.note-cat-hard_day,.note-cat-refusal{background:var(--red-bg);color:var(--red);border-color:var(--red)}.notes-routing{align-self:start}.notes-routing-title{margin-bottom:4px;font-size:16px}.notes-routing-sub{color:var(--ink-soft);margin-bottom:14px;font-size:13px;line-height:1.5}.notes-routing.is-loading{opacity:.6}.notes-routing-section{margin-top:14px}.notes-routing-section h4{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-mute);margin-bottom:8px;font-size:13px}.notes-routing-list{flex-direction:column;gap:8px;list-style:none;display:flex}.notes-refusal,.notes-alternate{border:1px solid var(--line-soft);background:var(--bg);border-radius:6px;flex-direction:column;padding:8px 10px;display:flex}.notes-refusal-title,.notes-alternate-title{color:var(--ink);font-size:14px;font-weight:600}.notes-refusal-meta,.notes-alternate-meta{color:var(--ink-mute);text-transform:capitalize;margin-top:2px;font-size:12px}@media (width<=860px){.notes-layout{grid-template-columns:1fr}}@media (width<=640px){.notes-controls{gap:16px}.notes-cr-field,.notes-cat-field{width:100%}}.frontend-gate{background:radial-gradient(circle at top left, #c99a3d2e, transparent 38%), var(--bg);place-items:center;min-height:100vh;padding:32px 20px;display:grid}.frontend-gate-card{border:1px solid var(--line-soft);background:var(--paper);width:min(100%,440px);box-shadow:var(--shadow-card);text-align:center;border-radius:18px;padding:42px}.frontend-gate-mark{background:var(--green);width:58px;height:58px;color:var(--paper);border-radius:50%;place-items:center;margin:0 auto 20px;font-family:Fraunces,Georgia,serif;font-size:17px;font-weight:600;display:grid}.frontend-gate-eyebrow{color:var(--warm-dark);letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.frontend-gate-card h1{margin-bottom:12px;font-size:36px}.frontend-gate-status,.frontend-gate-intro{color:var(--ink-soft)}.frontend-gate-form{text-align:left;gap:14px;margin-top:24px;display:grid}.frontend-gate-form label{color:var(--ink-soft);margin-bottom:-8px;font-family:Inter,sans-serif;font-size:13px;font-weight:600}.frontend-gate-form input{border:1px solid var(--line);background:#fff;border-radius:8px;outline:none;width:100%;min-height:48px;padding:10px 12px}.frontend-gate-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px #4d6b6626}.frontend-gate-message{font-size:14px}.frontend-gate-message-error{color:var(--red)}.frontend-gate-button{background:var(--green);min-height:48px;color:var(--paper);border:0;border-radius:8px;font-family:Inter,sans-serif;font-weight:600}.frontend-gate-button:hover:not(:disabled){background:var(--green-dark)}.frontend-gate-button:disabled{cursor:wait;opacity:.65}@media (width<=520px){.frontend-gate-card{padding:32px 24px}}
