.data-link {margin-left:auto; border:1px solid var(--line);background:white;color:var(--ink);padding:.5rem .75rem;border-radius:10px;font:inherit;font-size:.9rem;cursor:pointer;}
.data-panel{padding:clamp(18px,3vw,30px);margin-bottom:24px;}
.data-panel h2{font-size:1.35rem;margin:0 0 12px;}
.data-panel h3{font-size:1.1rem;margin:24px 0 10px;}
.data-panel p{line-height:1.6;}
.data-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.data-controls button,.data-panel button,.data-panel a.action{font:inherit;cursor:pointer;padding:.55rem .8rem;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);text-decoration:none;}
.data-panel button.danger{color:#a52b24;border-color:#d8a6a2;}
.data-panel button.primary{background:var(--ink);color:white;}
.data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;}
.data-grid label{display:block;font-size:.9rem;}
.data-panel input,.data-panel select{box-sizing:border-box;width:100%;padding:.6rem;border:1px solid var(--line);border-radius:8px;font:inherit;background:white;}
.consent-line{display:flex!important;gap:10px;align-items:flex-start;margin:14px 0;line-height:1.5;font-size:.95rem;}
.consent-line input{width:18px;height:18px;flex-shrink:0;margin-top:4px;}
.data-notice{font-size:.9rem;line-height:1.5;color:var(--muted);}
.data-status{font-size:.9rem;line-height:1.5;min-height:1.5em;}
.data-status.error{color:#a52b24;}
.data-table-wrap{overflow-x:auto;margin:10px 0;}
.data-table{width:100%;border-collapse:collapse;font-size:.9rem;}
.data-table th,.data-table td{text-align:left;padding:.65rem;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:top;}
.data-table th{font-weight:700;}
.profile-card{border:1px solid var(--line);border-radius:10px;padding:12px 15px;margin:10px 0;display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;align-items:center;}
.profile-card p{margin:3px 0;font-size:.9rem;}
.data-summary{display:flex;gap:24px;flex-wrap:wrap;padding:12px 0;}
.data-summary strong{display:block;font-size:1.4rem;}
.empty-data{color:var(--muted);font-size:.95rem;}
@media(max-width:660px){.data-grid{grid-template-columns:1fr}.data-link{font-size:.85rem}.data-panel{padding:18px}.data-controls{align-items:stretch}.data-panel button{min-height:44px}}
