/* The directory owns all service management; home only renders pinned links. */
.services-allowed-panel { background:linear-gradient(110deg,#101722,#0b1017 75%); }
.services-allowed-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.services-allowed-link { display:flex; align-items:center; justify-content:space-between; gap:18px; min-width:0; min-height:104px; padding:24px 20px; border-right:1px solid var(--console-line-soft); border-bottom:1px solid var(--console-line-soft); text-decoration:none; }
.services-allowed-link:nth-child(3n) { border-right:0; }.services-allowed-link:hover { background:#c8d4e207; }
.services-allowed-copy { display:grid; min-width:0; gap:7px; }.services-allowed-copy strong { font-size:14px; font-weight:500; overflow-wrap:anywhere; }.services-allowed-host { font:11px var(--console-mono); color:var(--console-muted); overflow-wrap:anywhere; }.services-allowed-arrow { color:var(--console-warm); flex-shrink:0; }
@media (max-width:1100px) { .services-allowed-list { grid-template-columns:repeat(2,minmax(0,1fr)); }.services-allowed-link:nth-child(3n) { border-right:1px solid var(--console-line-soft); }.services-allowed-link:nth-child(2n) { border-right:0; } }
@media (max-width:700px) { .services-allowed-list { grid-template-columns:1fr; }.services-allowed-link { border-right:0!important; min-height:92px; padding:20px 16px; } }
.services-intro { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:10px 0 24px; }.services-intro h1 { font-size:25px; font-weight:500; letter-spacing:-.045em; margin:5px 0 0; }.services-intro .console-label { font-size:9px; }
.hub-services { background:linear-gradient(110deg,#101722,#0b1017 75%); }
.hub-search { display:flex; position:relative; gap:8px; padding:16px 20px 0; }.hub-search input { min-width:0; padding-right:28px; font-size:13px; }.hub-search>kbd { position:absolute; right:96px; top:25px; color:var(--console-dim); font:12px var(--console-mono); pointer-events:none; }.hub-search .console-button { flex-shrink:0; }
.hub-service-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:8px 20px 12px; border-bottom:1px solid var(--console-line-soft); }.hub-tabs { display:flex; gap:20px; }.hub-tabs button { min-height:38px; border:0; border-bottom:2px solid transparent; background:transparent; padding:8px 0; color:var(--console-muted); cursor:pointer; font-size:12px; white-space:nowrap; }.hub-tabs button[aria-pressed="true"] { color:var(--console-text); border-color:var(--console-warm); }
.hub-group-label { display:flex; align-items:center; gap:9px; margin-left:auto; color:var(--console-muted); font-size:11px; }.hub-group-label select { width:156px; min-height:34px; font-size:12px; padding:4px 8px; }.hub-service-toolbar .hub-meta { margin:0; font:11px var(--console-mono); }
.hub-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }.hub-service { min-width:0; border-bottom:1px solid var(--console-line-soft); border-right:1px solid var(--console-line-soft); padding:20px; border-left:2px solid transparent; }.hub-service:nth-child(3n) { border-right:0; }.hub-service[data-pinned="true"] { border-left-color:#d7b98980; }.hub-service:hover { background:#c8d4e204; }.hub-service-top { display:flex; align-items:center; gap:12px; }.hub-service-icon { display:grid; place-items:center; width:36px; height:36px; flex-shrink:0; border:1px solid var(--console-line); color:var(--console-warm); font:15px var(--console-mono); }.hub-service-copy { min-width:0; flex:1; }.hub-service-title { display:block; font-size:13px; text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.hub-service-title:hover { text-decoration:underline; text-underline-offset:4px; }.hub-service-host { color:var(--console-dim); font:10px var(--console-mono); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:5px; }.hub-service-pin { color:var(--console-warm); font-size:9px; white-space:nowrap; }
.hub-service-notes { color:var(--console-muted); font-size:11px; margin:13px 0; max-height:36px; overflow:hidden; white-space:pre-line; overflow-wrap:anywhere; }.hub-service-bottom { display:flex; flex-wrap:wrap; align-items:center; gap:4px; margin-top:12px; }.hub-service-state { flex-basis:100%; color:var(--console-muted); font-size:10px; margin:0 0 4px; min-width:0; max-width:100%; overflow-wrap:anywhere; }.hub-service-state[data-status="disabled"] { color:var(--console-dim); }.hub-service-bottom button { border:0; min-height:34px; padding:4px 9px; background:transparent; color:var(--console-muted); cursor:pointer; font-size:11px; }.hub-service-bottom button:hover { color:var(--console-text); background:#ffffff05; }
.hub-pagination { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 20px; border-bottom:1px solid var(--console-line-soft); }.hub-pagination .hub-meta { font-family:var(--console-mono); }
@media (max-width:1100px) { .hub-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.hub-service:nth-child(3n) { border-right:1px solid var(--console-line-soft); }.hub-service:nth-child(2n) { border-right:0; } }
@media (max-width:700px) { .services-intro { margin:6px 0 20px; flex-wrap:wrap; }.services-intro h1 { font-size:23px; }.services-intro>.console-button { font-size:11px; }.hub-search { padding:14px 16px 0; }.hub-search input { min-height:44px; font-size:16px; }.hub-search>kbd { display:none; }.hub-search .console-button { font-size:11px; padding-inline:9px; }.hub-service-toolbar { padding:8px 16px 12px; gap:8px 14px; }.hub-tabs button { min-height:44px; }.hub-group-label { margin-left:0; }.hub-group-label select { font-size:16px; min-height:44px; width:145px; }.hub-service-toolbar .hub-meta { margin-left:auto; }.hub-service-grid { grid-template-columns:1fr; }.hub-service { padding:18px 16px; border-right:0!important; }.hub-service-title { min-height:44px; display:flex; align-items:center; white-space:normal; overflow-wrap:anywhere; }.hub-service-host { margin-top:0; }.hub-service-bottom button { min-width:44px; min-height:44px; font-size:12px; }.hub-service-state { flex-basis:auto; margin-right:auto; max-width:100%; }.hub-pagination { padding-inline:16px; }.hub-service-note { padding-inline:16px; } }
