:root{color:#1d2521;background:#f5f6f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:#f5f6f4}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-panel{width:min(100%,420px);display:grid;gap:18px;padding:28px;background:#fff;border:1px solid #dde4df;border-radius:8px;box-shadow:0 18px 48px #28372f1a}.brand-row,.sidebar-brand,.topbar,.topbar-actions,.identity,.feedback-item header,.feedback-item footer,.error-banner,.search-box,.pagination{display:flex;align-items:center}.brand-row{gap:14px}.brand-row h1,.topbar h1{margin:0;font-size:26px;line-height:1.2}.brand-row p,.topbar p,.feedback-item header p{margin:5px 0 0;color:#69746f;font-size:14px}.brand-mark{width:54px;height:54px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;background:#2f6b57;color:#fff}.brand-mark.small{width:38px;height:38px}label{display:grid;gap:8px;color:#34443d;font-size:14px;font-weight:700}input,select,textarea{width:100%;min-height:42px;border:1px solid #cfd8d2;border-radius:8px;padding:0 12px;background:#fff;color:#1d2521;outline:none}input:focus,select:focus,textarea:focus{border-color:#2f6b57;box-shadow:0 0 0 3px #2f6b5724}textarea{min-height:92px;resize:vertical;padding:10px 12px;line-height:1.55}.primary-button,.ghost-button,.icon-button,.nav-item,.pagination button{min-height:40px;border:0;border-radius:8px;font-weight:800}.primary-button{width:100%;background:#2f6b57;color:#fff}.primary-button.inline{width:auto;display:inline-flex;align-items:center;gap:8px;padding:0 14px}.ghost-button,.pagination button{display:inline-flex;align-items:center;gap:8px;padding:0 14px;border:1px solid #d4ddd7;background:#fff;color:#30443b}.icon-button{width:40px;display:grid;place-items:center;border:1px solid #d4ddd7;background:#fff;color:#30443b}.error-banner{gap:9px;padding:12px 14px;border:1px solid #efc7bd;border-radius:8px;background:#fff5f2;color:#9b341f;font-size:14px;font-weight:700}.admin-shell{min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr)}.sidebar{border-right:1px solid #dfe6e1;background:#fff;padding:20px 16px}.sidebar-brand{gap:11px;margin-bottom:24px;font-size:18px;font-weight:900}.sidebar nav{display:grid;gap:8px}.nav-item{width:100%;display:flex;align-items:center;gap:10px;padding:0 12px;background:transparent;color:#52615a;text-align:left}.nav-item.active{background:#e8f2ed;color:#235342}.content{min-width:0;padding:24px}.topbar{justify-content:space-between;gap:16px;margin-bottom:20px}.topbar-actions{gap:10px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.metric-card{min-height:132px;display:grid;align-content:space-between;gap:10px;padding:18px;border:1px solid #dfe6e1;border-radius:8px;background:#fff}.metric-card span{color:#69746f;font-size:14px;font-weight:700}.metric-card strong{font-size:34px;line-height:1}.metric-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:#eef3ef;color:#2f6b57}.panel{display:grid;gap:14px}.panel-toolbar{display:grid;grid-template-columns:minmax(260px,420px) 180px;gap:12px;align-items:center}.panel-toolbar .search-box:only-child{grid-column:1 / -1;max-width:420px}.search-box{gap:9px;min-height:42px;padding:0 12px;border:1px solid #cfd8d2;border-radius:8px;background:#fff;color:#69746f}.search-box input{min-height:40px;border:0;padding:0;box-shadow:none}.search-box input:focus{box-shadow:none}.table-wrap{overflow-x:auto;border:1px solid #dfe6e1;border-radius:8px;background:#fff}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:14px 16px;border-bottom:1px solid #edf1ee;text-align:left;vertical-align:middle;font-size:14px}th{color:#69746f;background:#fafbf9;font-size:13px}tr:last-child td{border-bottom:0}.identity{gap:10px;min-width:160px;font-weight:800}.avatar{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;background:#ddebe4;color:#235342}.feedback-list{display:grid;gap:12px}.feedback-item{display:grid;gap:13px;padding:16px;border:1px solid #dfe6e1;border-radius:8px;background:#fff}.feedback-item header,.feedback-item footer{justify-content:space-between;gap:12px}.feedback-item footer{flex-wrap:wrap;justify-content:flex-start;color:#69746f;font-size:13px}.feedback-content{margin:0;color:#30443b;line-height:1.65;white-space:pre-wrap}.feedback-reply-form{display:grid;gap:10px;padding-top:2px}.reply-list{display:grid;gap:9px;padding:12px;border:1px solid #dfe6e1;border-radius:8px;background:#fafbf9}.reply-list>strong{color:#30443b;font-size:13px}.reply-item{display:grid;gap:5px}.reply-item p{margin:0;color:#30443b;line-height:1.6;white-space:pre-wrap}.reply-item span{color:#69746f;font-size:12px;font-weight:700}.reply-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;color:#69746f;font-size:13px;font-weight:800}.status-pill{flex:0 0 auto;border-radius:999px;padding:6px 10px;background:#e8f2ed;color:#235342;font-size:12px;font-weight:900}.status-pill.pending{background:#fff3d9;color:#8a5a00}.empty-state{min-height:220px;display:grid;place-items:center;align-content:center;gap:10px;border:1px dashed #cfd8d2;border-radius:8px;color:#69746f;background:#fff;font-weight:800}.pagination{justify-content:flex-end;gap:12px;color:#52615a;font-size:14px;font-weight:800}@media(max-width:820px){.admin-shell{display:block}.sidebar{position:sticky;top:0;z-index:2;border-right:0;border-bottom:1px solid #dfe6e1;padding:12px}.sidebar-brand{margin-bottom:12px}.sidebar nav{grid-template-columns:repeat(3,1fr)}.nav-item{justify-content:center}.content{padding:18px 14px}.topbar{align-items:flex-start}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-toolbar{grid-template-columns:1fr}}@media(max-width:520px){.sidebar-brand span,.nav-item span,.ghost-button span{display:none}.metric-grid{grid-template-columns:1fr}.metric-card{min-height:116px}.brand-row h1,.topbar h1{font-size:22px}.login-panel{padding:22px}}
