/* Dashboard31 Semantic User Console v7 */
.semantic-shell{display:flex;flex-direction:column;gap:10px;min-width:0}
.semantic-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.semantic-toolbar__left,.semantic-toolbar__right{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.semantic-input{min-width:260px;border:1px solid var(--border-subtle,#d9dee8);border-radius:8px;padding:7px 9px;background:#fff;color:var(--text-main,#111827);font:inherit;font-size:11px}
.semantic-source-state{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 8px;font-size:9px;background:#eef2ff;color:#3730a3}
.semantic-source-state::before{content:'';width:7px;height:7px;border-radius:50%;background:#6366f1}
.semantic-source-state.live::before{background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.12)}
.semantic-source-state.stale::before{background:#f59e0b}.semantic-source-state.error::before{background:#dc2626}
.semantic-pillbar{display:flex;gap:5px;overflow-x:auto;padding:5px;border:1px solid var(--border-subtle,#d9dee8);border-radius:9px;background:var(--bg-elevated-soft,#f7f8fb)}
.semantic-pill{flex:0 0 auto;border:1px solid transparent;border-radius:999px;padding:6px 11px;background:transparent;color:var(--text-muted,#64748b);font:inherit;font-size:10px;cursor:pointer}
.semantic-pill:hover{border-color:#c7d2fe;background:#eef2ff;color:var(--accent-strong,#3730a3)}
.semantic-pill.active{border-color:#bfdbfe;background:var(--accent-soft,#e0e7ff);color:var(--accent-strong,#3730a3);font-weight:650}
.semantic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.semantic-card{min-width:0;padding:11px;border:1px solid var(--border-subtle,#d9dee8);border-radius:10px;background:#fff;box-shadow:var(--shadow-soft,0 1px 3px rgba(15,23,42,.08))}
button.semantic-card{width:100%;text-align:left;font:inherit;cursor:pointer}.semantic-card[data-open-workspace]:hover{border-color:#bfdbfe;background:#f8faff}
.semantic-card__label{font-size:9px;color:var(--text-soft,#64748b);text-transform:uppercase;letter-spacing:.08em}
.semantic-card__value{margin-top:5px;font-size:17px;font-weight:680;overflow-wrap:anywhere}
.semantic-card__meta{margin-top:4px;font-size:9px;line-height:1.4;color:var(--text-soft,#64748b);overflow-wrap:anywhere}
.semantic-card__hint{margin-top:7px;font-size:9px;color:#4338ca}
.semantic-progress{height:10px;border-radius:999px;background:#e8edf5;overflow:hidden;margin-top:8px}.semantic-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4f46e5,#06b6d4);transition:width .4s ease}
.semantic-section{padding:11px;border:1px solid var(--border-subtle,#d9dee8);border-radius:10px;background:#fff}
.semantic-section__head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:9px}.semantic-section__title{font-size:12px;font-weight:680}.semantic-section__subtitle{margin-top:2px;font-size:9px;line-height:1.4;color:var(--text-soft,#64748b)}
.semantic-section__actions{display:flex;gap:5px;flex-wrap:wrap}
.semantic-message{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:9px;background:#f8fafc;border:1px solid #e5e7eb}.semantic-message__icon{font-size:18px}.semantic-message__title{font-size:11px;font-weight:650}.semantic-message__text{margin-top:3px;font-size:10px;line-height:1.5;color:#64748b}
.semantic-insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.semantic-insight{min-width:0;padding:11px;border:1px solid var(--border-subtle,#d9dee8);border-radius:10px;background:#fff}.semantic-insight[data-open-workspace],.semantic-insight[data-open-fragment]{cursor:pointer}.semantic-insight[data-open-workspace]:hover,.semantic-insight[data-open-fragment]:hover{border-color:#bfdbfe;background:#f8faff}.semantic-insight__kind{font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#64748b}.semantic-insight__title{margin-top:4px;font-size:12px;font-weight:680}.semantic-insight__text{margin-top:5px;font-size:10px;line-height:1.5;color:#475569}.semantic-insight__meta{margin-top:7px;font-size:9px;color:#64748b}.semantic-insight--warning{border-left:3px solid #f59e0b}.semantic-insight--danger{border-left:3px solid #ef4444}.semantic-insight--success{border-left:3px solid #22c55e}.semantic-insight--info{border-left:3px solid #4f46e5}
.semantic-table-wrap{max-height:500px;overflow:auto}.semantic-table{width:100%;border-collapse:collapse;font-size:10px}.semantic-table th,.semantic-table td{padding:7px 8px;border-bottom:1px solid var(--border-subtle,#e5e7eb);text-align:left;vertical-align:top}.semantic-table th{position:sticky;top:0;background:#f8fafc;color:#64748b;font-size:9px;text-transform:uppercase;letter-spacing:.06em;z-index:1}.semantic-table tbody tr[data-open-fragment],.semantic-table tbody tr[data-open-workspace]{cursor:pointer}.semantic-table tbody tr[data-open-fragment]:hover,.semantic-table tbody tr[data-open-workspace]:hover{background:#eef2ff}
.semantic-badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 7px;font-size:9px;background:#eef2ff;color:#3730a3}.semantic-badge--ok{background:#dcfce7;color:#166534}.semantic-badge--warn{background:#fef3c7;color:#92400e}.semantic-badge--bad{background:#fee2e2;color:#991b1b}
.semantic-kv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.semantic-kv>div{padding:8px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc}.semantic-kv span{display:block;font-size:8px;color:#64748b;text-transform:uppercase;letter-spacing:.07em}.semantic-kv strong{display:block;margin-top:3px;font-size:10px;overflow-wrap:anywhere}
.semantic-path{padding:8px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;line-height:1.5;overflow-wrap:anywhere}
.semantic-empty{padding:24px;color:#64748b;text-align:center;font-size:10px}.semantic-spark{display:flex;align-items:flex-end;gap:2px;height:95px;padding-top:8px}.semantic-spark span{flex:1;min-width:2px;background:#818cf8;border-radius:2px 2px 0 0;opacity:.85}
.semantic-status-ready{color:#15803d}.semantic-status-running{color:#4338ca}.semantic-status-warning{color:#b45309}.semantic-status-error{color:#b91c1c}
.semantic-popup-backdrop{position:fixed;inset:0;z-index:500;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.42)}.semantic-popup-backdrop.open{display:flex}.semantic-popup{width:min(1000px,97vw);max-height:92vh;display:flex;flex-direction:column;border:1px solid #cbd5e1;border-radius:13px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.35)}.semantic-popup__head{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #e5e7eb}.semantic-popup__title{font-size:15px;font-weight:680}.semantic-popup__sub{margin-top:2px;color:#64748b;font-size:9px}.semantic-popup__body{min-height:0;overflow:auto;padding:12px 14px}.semantic-popup__close{border:0;background:transparent;font-size:20px;color:#64748b;cursor:pointer}
.semantic-nav-generated{position:relative}.semantic-nav-generated::after{content:'LIVE';margin-left:auto;font-size:8px;color:#16a34a}
@media(max-width:1180px){.semantic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.semantic-kv{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.semantic-grid,.semantic-kv,.semantic-insight-grid{grid-template-columns:1fr}.semantic-input{min-width:100%}}

/* Dashboard31 Semantic Enterprise Projection v8 */
.semantic-contract-note{padding:8px 10px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-elevated-soft);font-size:10px;color:var(--text-muted)}
.semantic-section__actions{display:flex;flex-wrap:wrap;gap:6px}
/* SEMANTIC_CONTROL_V16 */
.semantic-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.semantic-service{display:grid;gap:6px;padding:16px;border:1px solid #dfe5ed;border-radius:14px;background:#fff}.semantic-service--ok{border-color:rgba(24,149,88,.3)}.semantic-service--bad{border-color:rgba(198,59,59,.35);background:#fff9f9}.semantic-service__state{font-size:11px;font-weight:800;color:#15915a}.semantic-service--bad .semantic-service__state{color:#c63b3b}.semantic-app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.semantic-app-card{padding:18px;border:1px solid #dfe5ed;border-radius:16px;background:#fff}.semantic-app-card__top{display:flex;justify-content:space-between;gap:14px}.semantic-app-card__title{font-size:18px;font-weight:760}.semantic-readiness{padding:6px 9px;border-radius:999px;background:#eef3ff;font-size:12px;font-weight:800}.semantic-app-card__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0}.semantic-app-card__stats>div{padding:10px;border-radius:10px;background:#f6f8fb}.semantic-app-card__stats span{display:block;font-size:10px;text-transform:uppercase}@media(max-width:1100px){.semantic-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.semantic-app-grid{grid-template-columns:1fr}}@media(max-width:700px){.semantic-service-grid{grid-template-columns:1fr}.semantic-app-card__stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* SEMANTIC_CONTROL_V17 */
.semantic-relation-list,.semantic-decision-list,.semantic-task-list{display:grid;gap:10px}.semantic-relation{display:grid;grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr);align-items:center;gap:14px;padding:14px;border:1px solid #dfe5ed;border-radius:14px;background:#fff}.semantic-relation__node span{display:block;color:#718095;font-size:10px;text-transform:uppercase}.semantic-relation__node strong{display:block;margin-top:4px;color:#223047;word-break:break-word}.semantic-relation__edge{text-align:center;color:#49627f}.semantic-relation__edge:before,.semantic-relation__edge:after{content:'—';margin:0 5px;color:#a9b5c3}.semantic-relation__edge small{display:block;margin-top:4px;color:#7b8797}.semantic-decision{display:grid;gap:9px;width:100%;padding:15px;border:1px solid #dfe5ed;border-radius:14px;background:#fff;text-align:left;cursor:pointer}.semantic-decision--success{border-left:4px solid #15915a}.semantic-decision--review{border-left:4px solid #d68b00}.semantic-decision__head,.semantic-task__top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.semantic-decision__result{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.semantic-decision__result span{padding:8px;border-radius:9px;background:#f6f8fb;color:#667387;font-size:11px}.semantic-decision__result strong{display:block;margin-top:3px;color:#26354a}.semantic-task{padding:16px;border:1px solid #dfe5ed;border-radius:14px;background:#fff}.semantic-task--high{border-left:4px solid #c63b3b}.semantic-task--medium{border-left:4px solid #d68b00}.semantic-task--low{border-left:4px solid #3575ff}.semantic-task__top>span{padding:6px 10px;border-radius:999px;background:#eef3ff;font-weight:800}.semantic-task p{color:#627086;line-height:1.5}@media(max-width:900px){.semantic-relation{grid-template-columns:1fr}.semantic-relation__edge{text-align:left}.semantic-decision__result{grid-template-columns:repeat(2,minmax(0,1fr))}}
