/* PULSO 1.0.3: same visual identity, explicit real/pending states. */
#view { display:flex; flex-direction:column; gap:18px; min-width:0; }
.sf-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr)); gap:14px; }
.sf-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.sf-stack { display:flex; flex-direction:column; gap:14px; }
.sf-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.sf-row.between { justify-content:space-between; }
.sf-search { display:flex; gap:8px; flex-wrap:wrap; }
.sf-search .inp { flex:1; min-width:150px; }
.sf-table { width:100%; border-collapse:collapse; text-align:left; }
.sf-table th { color:var(--txt-3); text-transform:uppercase; font-size:10px; letter-spacing:.06em; }
.sf-table th,.sf-table td { padding:12px 14px; border-bottom:1px solid var(--line); vertical-align:middle; }
.sf-table td { font-size:12px; }
.sf-table tr:last-child td { border-bottom:0; }
.sf-table tbody tr:hover { background:rgba(255,255,255,.025); }
.sf-scroll { overflow:auto; max-width:100%; }
.sf-sub { color:var(--txt-3); font-size:11px; line-height:1.7; }
.sf-note { border-left:3px solid var(--gold); padding:12px 15px; background:rgba(194,131,58,.08); border-radius:0 8px 8px 0; color:var(--txt-2); line-height:1.7; font-size:12px; }
.sf-error { border-left-color:var(--err); background:rgba(224,87,91,.07); }
.sf-metric { font-family:var(--display); font-size:30px; color:white; margin:12px 0 4px; overflow-wrap:anywhere; }
.sf-pending { color:var(--gold-300); font-size:13px; font-family:var(--body); }
.sf-table .chip { height:auto; min-height:22px; white-space:normal; }
.sf-image { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; min-height:200px; padding:18px; border:1px dashed var(--line-2); border-radius:12px; }
.sf-image img { max-height:260px; max-width:100%; object-fit:contain; }
.sf-data { display:grid; grid-template-columns:minmax(100px,1fr) minmax(120px,2fr); margin:0; }
.sf-data dt,.sf-data dd { margin:0; padding:8px; border-bottom:1px solid var(--line); overflow-wrap:anywhere; white-space:pre-wrap; font-size:12px; }
.sf-data dt { color:var(--txt-3); }
.sf-data dd { color:var(--txt); }
.sf-role { display:flex; flex-direction:column; gap:12px; }
.sf-role p { color:var(--txt-2); font-size:12px; line-height:1.8; }
.sf-count { margin-left:auto; }
.sf-drop { text-align:center; padding:35px 16px; border:1px dashed var(--line-2); border-radius:12px; color:var(--txt-2); }
.sf-log { white-space:pre-wrap; overflow-wrap:anywhere; font-family:ui-monospace,monospace; font-size:11px; line-height:1.7; }
.sf-bar { height:5px; background:var(--glass); border-radius:6px; overflow:hidden; margin-top:7px; }
.sf-bar i { display:block; height:100%; background:var(--blue-300); }
.sf-actions { display:flex; gap:7px; flex-wrap:wrap; margin-top:12px; }
button:disabled,input:disabled { cursor:not-allowed; opacity:.55; }
button:focus-visible,a:focus-visible { outline:2px solid var(--blue-300); outline-offset:3px; }
.modal-bd [role=dialog] { outline:0; }
#loginError { color:#F5A0A3; white-space:pre-wrap; }
#view h2 { font-family:var(--display); font-size:18px; }
#bellBtn .badge { display:none; }
#foot .st { white-space:nowrap; }
#pubState { text-transform:none; }
#nav .nav-i { width:100%; text-align:left; position:relative; }
#nav .ic { flex:0 0 17px; }
@media(min-width:1025px) and (max-width:1200px){ #app:not(.collapsed){grid-template-columns:var(--sidebar) 1fr} }
@media(max-width:850px){ .sf-grid.two{grid-template-columns:1fr} #foot .st:not(#stSys){display:none} }
@media(max-width:600px){ .sf-table th,.sf-table td{padding:10px} .sf-data{grid-template-columns:1fr} .sf-data dt{border:0;padding-bottom:0} .sf-search .btn{flex:1} .sf-metric{font-size:25px} #foot .brand{display:none} }
@media(prefers-reduced-motion:reduce){ *,*::before,*::after{animation:none!important;transition:none!important} }
