:root{--rose:#ce656b;--rose-dark:#972f35;--rose-soft:#f6e8e9;--leaf:#7d9d71;--leaf-soft:#eaf1e6;--ink:#2a2226;--muted:#7a6d71;--line:#e7dfe1;--paper:#fffdfb;--bg:#f7f3f1;--danger:#b5433a;--radius:12px;--radius-sm:8px;--shadow-sm:0 1px 2px #2a22260d;--shadow:0 4px 16px #2a22260f;--shadow-lg:0 12px 32px #2a22261a;font-family:Segoe UI,system-ui,-apple-system,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0}h1,h2{letter-spacing:-.01em;margin:0 0 6px;font-weight:700}p{color:var(--muted);margin:0 0 16px;line-height:1.55}.muted{color:var(--muted)}a{color:inherit}::selection{background:var(--rose-soft)}.shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--paper);border-right:1px solid var(--line);flex-direction:column;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0}.sidebar .brand{align-items:baseline;gap:8px;margin:4px 6px 26px;display:flex}.sidebar .brand img{width:auto;height:30px}.sidebar .brand span{color:var(--leaf);font-size:13px;font-weight:500}.sidebar nav{flex-direction:column;flex:1;gap:2px;display:flex}.nav-section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);opacity:.75;padding:16px 12px 6px;font-size:11px;font-weight:700}.nav-section-label:first-of-type{padding-top:4px}.sidebar nav a{border-radius:var(--radius-sm);color:var(--ink);align-items:center;gap:11px;padding:9px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar nav a svg{opacity:.75;flex-shrink:0;transition:opacity .15s}.sidebar nav a:hover{background:var(--bg)}.sidebar nav a.active{background:var(--rose-dark);color:#fff;font-weight:600}.sidebar nav a.active svg{opacity:1}.sidebar-footer{border-top:1px solid var(--line);flex-direction:column;align-items:stretch;gap:10px;margin-top:10px;padding:14px 12px 4px;display:flex}.sidebar-footer .sign-out{align-self:flex-start;padding-left:40px}.who{align-items:center;gap:10px;min-width:0;font-size:13px;display:flex}.who-avatar{background:var(--rose-soft);width:30px;height:30px;color:var(--rose-dark);border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:grid}.who-text{flex-direction:column;min-width:0;display:flex}.who-text strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.who span{color:var(--muted);text-transform:capitalize;font-size:12px}.content{max-width:1040px;padding:32px 40px 60px}.page-loading{color:var(--muted);padding:40px}.login-screen{background:radial-gradient(circle at 50% 0%, #fff 0%, var(--bg) 65%);place-items:center;min-height:100vh;display:grid}.login-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);flex-direction:column;width:360px;padding:40px 36px;display:flex}.login-card .brand{align-items:baseline;gap:8px;margin-bottom:22px;display:flex}.login-card .brand img{width:auto;height:34px}.login-card .brand span{color:var(--leaf);font-size:13px;font-weight:500}.login-card h1{font-size:22px}label{flex-direction:column;gap:6px;margin-bottom:14px;font-size:13px;font-weight:600;display:flex}input,select,textarea{font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);background:#fff;padding:10px 12px;font-weight:400;transition:border-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{border-color:#d7c9cc}input:focus,select:focus,textarea:focus{border-color:var(--rose);box-shadow:0 0 0 3px var(--rose-soft);outline:none}.checkbox-row{flex-direction:row;align-items:center;gap:8px}.checkbox-row input{width:auto}.form-error{color:var(--danger);border-radius:var(--radius-sm);background:#fbeceb;border:1px solid #f0d3d0;align-items:center;gap:8px;margin-bottom:16px;padding:10px 12px;font-size:13px;display:flex}.form-success-text{color:var(--leaf);margin-bottom:16px;font-size:13px;font-weight:600}.button{background:var(--rose-dark);color:#fff;border:1px solid var(--rose-dark);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,box-shadow .15s,transform .1s;display:inline-flex}.button:hover{box-shadow:var(--shadow-sm);background:#7c2529}.button:active{transform:translateY(1px)}.button:disabled{opacity:.6;cursor:not-allowed;transform:none}.button.outline{color:var(--leaf);border-color:var(--leaf);background:0 0}.button.outline:hover{background:var(--leaf-soft)}.link-button{color:var(--rose-dark);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.link-button:hover{text-decoration:underline}.link-button.danger{color:var(--danger)}.upload-button{cursor:pointer;text-align:center;justify-content:center}.page-header{margin-bottom:26px}.page-header h1{font-size:26px}.page-header .button{margin-top:10px}.stat-row{flex-wrap:wrap;gap:16px;margin-bottom:28px;display:flex}.stat-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex:1;align-items:center;gap:16px;min-width:180px;padding:18px 22px;display:flex}.stat-icon{background:var(--rose-soft);width:42px;height:42px;color:var(--rose-dark);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.stat-card.leaf .stat-icon{background:var(--leaf-soft);color:#4c6b40}.stat-text{flex-direction:column;display:flex}.stat-number{color:var(--ink);font-size:26px;font-weight:700;line-height:1.2}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:24px;padding:22px 24px}.panel-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.panel-header h2{margin:0;font-size:16px}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);padding:8px 10px;font-size:11px}.table td{border-bottom:1px solid var(--line);padding:12px 10px}.table tbody tr{transition:background .15s}.table tbody tr:hover{background:var(--bg)}.table tbody tr:last-child td{border-bottom:0}.badge{text-transform:uppercase;letter-spacing:.02em;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.badge-new{color:var(--danger);background:#fbeceb}.badge-reviewed{background:var(--leaf-soft);color:#4c6b40}.filter-row{gap:8px;margin-bottom:18px;display:flex}.chip{border:1px solid var(--line);cursor:pointer;text-transform:capitalize;background:#fff;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,color .15s}.chip:hover{border-color:#d7c9cc}.chip-active,.chip-active:hover{background:var(--rose-dark);border-color:var(--rose-dark);color:#fff}.list{flex-direction:column;gap:10px;display:flex}.list-item{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow .15s;overflow:hidden}.list-item:has(.list-item-row:hover){box-shadow:var(--shadow)}.list-item-row{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;display:flex}.list-item-row:hover{background:var(--bg)}.list-item-meta{color:var(--muted);white-space:nowrap;align-items:center;gap:12px;font-size:13px;display:flex}.list-item-detail{border-top:1px solid var(--line);padding:16px 18px}.list-item-detail dl{grid-template-columns:120px 1fr;gap:6px 12px;margin:0 0 14px;font-size:14px;display:grid}.list-item-detail dt{color:var(--muted);font-weight:600}.list-item-detail dd{margin:0}.empty-state{text-align:center;background:var(--paper);border:1px dashed var(--line);border-radius:var(--radius);flex-direction:column;align-items:center;gap:6px;padding:48px 24px;display:flex}.empty-state-icon{background:var(--bg);width:48px;height:48px;color:var(--muted);border-radius:50%;place-items:center;margin-bottom:6px;display:grid}.empty-state h3{margin:0;font-size:15px;font-weight:600}.empty-state p{max-width:320px;margin:0;font-size:13px}.modal-backdrop{z-index:20;background:#1e141673;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{border-radius:var(--radius);box-shadow:var(--shadow-lg);background:#fff;width:100%;max-width:560px;max-height:90vh;padding:28px;overflow:auto}.actions{gap:10px;margin-top:6px;display:flex}.image-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;display:grid}.image-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:16px;display:flex}.image-preview{border-radius:var(--radius-sm);background:var(--bg);place-items:center;height:130px;display:grid;overflow:hidden}.image-preview img{object-fit:cover;width:100%;height:100%}.image-field{flex-direction:column;gap:8px;display:flex}.image-field-preview{border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--line);height:140px;overflow:hidden}.image-field-preview img{object-fit:cover;width:100%;height:100%}.image-field-row{gap:8px;display:flex}.image-field-row input[type=text]{flex:1;min-width:0}.image-field-row .upload-button{white-space:nowrap;flex-shrink:0}.field-hint{color:var(--muted);margin:0;font-size:12px}.rte{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;overflow:hidden}.rte:focus-within{border-color:var(--rose);box-shadow:0 0 0 3px var(--rose-soft)}.rte-toolbar{border-bottom:1px solid var(--line);background:var(--bg);flex-wrap:wrap;align-items:center;gap:2px;padding:6px;display:flex}.rte-button{width:30px;height:30px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;place-items:center;padding:0;display:grid}.rte-button:hover:not(:disabled){border-color:var(--line);background:#fff}.rte-button.active{background:var(--rose-soft);border-color:var(--rose);color:var(--rose-dark)}.rte-button:disabled{opacity:.35;cursor:not-allowed}.rte-sep{background:var(--line);width:1px;height:20px;margin:0 4px}.rte-content{min-height:220px;max-height:480px;padding:12px 14px;font-size:14px;line-height:1.6;overflow:auto}.rte-content:focus{outline:none}.rte-content p{color:var(--ink);margin:0 0 12px}.rte-content h1,.rte-content h2,.rte-content h3{color:var(--ink);margin:18px 0 10px;font-weight:700}.rte-content h1{font-size:24px}.rte-content h2{font-size:20px}.rte-content h3{font-size:17px}.rte-content ul,.rte-content ol{color:var(--ink);margin:0 0 12px;padding-left:22px}.rte-content a{color:var(--rose-dark)}.rte-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;color:var(--muted);pointer-events:none}.edit-header{z-index:5;background:var(--bg);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin:-4px 0 24px;padding:4px 0 20px;display:flex;position:sticky;top:0}.edit-header-title{flex-direction:column;gap:4px;min-width:0;display:flex}.edit-back{color:var(--muted);align-items:center;gap:4px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.edit-back:hover{color:var(--ink)}.edit-header h1{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:22px;overflow:hidden}.edit-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.edit-form{flex-direction:column;gap:24px;max-width:820px;padding-bottom:40px;display:flex}.edit-section{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:24px}.edit-section h2{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 18px;font-size:12px;font-weight:700}.edit-section label:last-child{margin-bottom:0}.edit-grid{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.edit-grid>label{min-width:0}@media (width<=720px){.edit-grid{grid-template-columns:1fr}.edit-header{align-items:flex-start}}@media (width<=860px){.shell{grid-template-columns:200px 1fr}.content{padding:24px}}
