:root{--bg:#fafafa;--surface:#ffffff;--surface-2:#fff8fa;--border:#f3d6e0;--text:#2a2a2a;--muted:#8a8a8a;--pink:#f4a7b9;--pink-strong:#e8799a;--pink-soft:#fdeef3;--lime:#c8f07a;--lime-strong:#a8e05c;--lime-soft:#f3fce8;--accent:var(--pink-strong);--accent-soft:var(--pink-soft);--highlight:var(--lime-strong)}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:radial-gradient(circle at 0 0,var(--pink-soft) 0,transparent 40%),radial-gradient(circle at 100% 0,var(--lime-soft) 0,transparent 35%),var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1100px,100% - 2rem);margin:0 auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.25rem;box-shadow:0 4px 24px rgba(232,121,154,.06)}.card-highlight{border-color:var(--lime);background:linear-gradient(135deg,#ffffff 0,var(--lime-soft) 100%)}.card-pink{border-color:var(--pink);background:linear-gradient(135deg,#ffffff 0,var(--pink-soft) 100%)}.grid{display:grid;grid-gap:1rem;gap:1rem}.grid-3{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-radius:10px;padding:.7rem 1rem;background:var(--pink-strong);color:white;cursor:pointer;transition:background .15s ease}.btn:hover:not(:disabled){background:#d96588}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:white;color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--pink-soft)}.input{width:100%;border:1px solid var(--border);background:white;color:var(--text);border-radius:10px;padding:.75rem .9rem}.input:focus{outline:2px solid var(--pink);border-color:var(--pink-strong)}.label{display:block;margin-bottom:.35rem;color:var(--muted);font-size:.9rem}.badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;background:var(--lime-soft);color:#4a6d20;font-size:.8rem;border:1px solid var(--lime)}.muted{color:var(--muted)}.header{align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0 1.5rem}.header,.nav{display:flex;flex-wrap:wrap}.nav{gap:.5rem}.nav a{padding:.45rem .8rem;border-radius:8px;background:transparent;border:1px solid transparent;color:var(--muted)}.nav a.active,.nav a:hover{border-color:var(--pink);background:var(--pink-soft);color:var(--text)}.nav a.active{border-color:var(--lime-strong);background:var(--lime-soft)}.table{width:100%;border-collapse:collapse}.table td,.table th{text-align:left;padding:.75rem;border-bottom:1px solid var(--border);vertical-align:top}.table th{color:var(--muted);font-weight:600}.emoji-grid{display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));grid-gap:.5rem;gap:.5rem}.emoji-btn{font-size:1.5rem;padding:.5rem;border-radius:10px;border:1px solid var(--border);background:white;cursor:pointer}.emoji-btn.selected{border-color:var(--pink-strong);background:var(--pink-soft)}.login-screen{min-height:100vh;display:grid;place-items:center}.login-card{width:min(420px,100%)}.login-card-wide{width:min(920px,100%)}.error-text{color:#d64565;margin:0}.profile-grid{display:flex;flex-wrap:nowrap;gap:.75rem;margin-top:1.5rem;justify-content:center;overflow-x:auto;padding-bottom:.25rem}.profile-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.85rem .65rem;min-width:96px;flex:0 0 auto;border:2px solid transparent;border-radius:14px;background:white;color:var(--text);cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.profile-card:hover:not(:disabled){transform:translateY(-3px);border-color:var(--pink-strong);box-shadow:0 8px 20px rgba(232,121,154,.15)}.profile-card:disabled{opacity:.6;cursor:wait}.profile-avatar{width:64px;height:64px;border-radius:12px;display:grid;place-items:center;font-size:1.75rem;font-weight:700;color:white}.profile-name{font-weight:600;font-size:.9rem;white-space:nowrap}.profile-role{font-size:.7rem;color:var(--muted)}.stat-value{font-size:2.25rem;font-weight:700;line-height:1.1;color:var(--text)}.stat-value-lime{color:#6a9c2e}.stat-value-pink{color:var(--pink-strong)}.page-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.scenario-toggles{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.scenario-toggle{display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border:2px solid var(--border);border-radius:12px;background:white;cursor:pointer}.scenario-toggle.active{border-color:var(--lime-strong);background:var(--lime-soft)}.scenario-toggle input{accent-color:var(--pink-strong)}.accordion{display:grid;grid-gap:.75rem;gap:.75rem}.accordion-item{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:white}.accordion-item-active{border-color:var(--pink);box-shadow:0 4px 16px rgba(232,121,154,.1)}.accordion-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.15rem;border:none;background:var(--surface-2);cursor:pointer;font-weight:600;color:var(--text)}.accordion-body{padding:1rem}.direction-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.direction-tab{padding:.45rem .85rem;border-radius:999px;border:1px solid var(--border);background:white;cursor:pointer;color:var(--muted)}.direction-tab.active{background:var(--pink-soft);border-color:var(--pink-strong);color:var(--text)}.template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:1rem;gap:1rem}.action-buttons{display:flex;gap:.35rem}.btn-approve{background:var(--lime-strong);padding:.4rem .65rem}.btn-reject{background:var(--pink-strong);padding:.4rem .65rem}.badge-approved{background:var(--lime-soft);border-color:var(--lime-strong);color:#4a6d20}.badge-rejected{background:var(--pink-soft);border-color:var(--pink-strong);color:#9c3050}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:grid;place-items:center;z-index:100;padding:1rem}.modal{width:min(720px,100%);max-height:90vh;overflow:auto}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:.75rem;gap:.75rem}.photo-thumb{width:100%;height:140px;object-fit:cover;border-radius:10px;border:1px solid var(--border)}