
/* Customer service portal: inherits existing DCENT design tokens. */
.sidebar { overflow-y:auto; overscroll-behavior:contain; }
.sidebar nav { flex:1 0 auto; } .sidebar-bottom { position:static; }
.portal-shortcuts { display:flex; flex-wrap:wrap; gap:14px 24px; margin-bottom:22px; }
.portal-metrics { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:20px 0; }
.portal-metrics .card { margin:0; }.small-heading { font-size:1.15rem; }
.prewrap { white-space:pre-wrap;overflow-wrap:anywhere; }
.internal-note { border-left:4px solid #be7b15;background:#fff9eb;padding:14px 18px;border-radius:8px; }
.message { margin:16px 0;padding:18px;border:1px solid var(--line,#d9e1ed);border-radius:12px; }
.message.internal-note { border-left:4px solid #be7b15; }
.message-meta { display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:10px;color:var(--muted,#64748b);font-size:.88rem; }
.placement-line { padding:13px 0;border-bottom:1px solid var(--line,#d9e1ed); }
.network-resource { border-bottom:1px solid var(--line,#d9e1ed);padding:12px 0; }
.card details,.card summary { overflow-wrap:anywhere; } summary { cursor:pointer;font-weight:700;padding:10px 0; }
details>form { margin-top:18px; } select[multiple] { min-height:160px;padding:8px; } select[multiple] option {padding:7px; }
.table-wrap { overflow-x:auto; }.table-wrap table {width:100%;border-collapse:collapse;}.table-wrap th,.table-wrap td {text-align:left;padding:12px;border-bottom:1px solid var(--line,#d9e1ed);vertical-align:top;}
.rack-diagram { display:grid;gap:2px;margin:20px 0; } .rack-u { display:flex;align-items:center;gap:14px;min-height:32px;padding:4px 12px;border:1px solid #d8e1ec;background:#f7f9fc; }
.rack-u.occupied,.rack-slot.occupied { background:#e8efff;border-color:#9eb8f8; } .rack-u-number {width:35px;font-variant-numeric:tabular-nums;}
.rack-row {display:grid;grid-template-columns:55px 1fr;min-height:34px;gap:12px;align-items:center;border-bottom:1px solid var(--line,#d9e1ed);padding:5px 12px;}.rack-row.occupied {background:#e8efff;}.rack-unit{font-variant-numeric:tabular-nums;color:#64748b;}
.energy-chart { width:100%;height:260px;display:block;margin:15px 0; }
.portal-metrics h2 {overflow-wrap:anywhere;}.card code {overflow-wrap:anywhere;white-space:normal;}.form-grid>label {min-width:0;}.card input,.card select,.card textarea {max-width:100%;} textarea {min-height:100px;}
.actions {flex-wrap:wrap;gap:10px;}.stack-form>button {justify-self:start;}
@media(max-width:1000px){.portal-metrics{grid-template-columns:1fr;}.portal-shortcuts{gap:12px 18px;}}
@media print{.sidebar,.topbar,.actions,button,form,.lang-switch{display:none!important;}.main-wrap{margin:0!important;}.card{box-shadow:none!important;break-inside:avoid;} .content{padding:0!important;}}

.rack-frame{border:3px solid #b8c5d8;border-radius:10px;overflow:hidden;max-width:850px;margin:auto;background:#f7f9fc;}.rack-frame .rack-unit{display:grid;grid-template-columns:60px 1fr;min-height:34px;align-items:center;gap:12px;border-bottom:1px solid #d9e1ed;padding:4px 12px;color:inherit;}.rack-frame .rack-unit.occupied{background:#e8efff;}.rack-number{font-size:.8rem;color:#64748b;font-variant-numeric:tabular-nums;}.rack-frame .rack-unit a{font-weight:700;}
