

/***************************
    КАРТА РАБОЧИХ МЕСТ

   Раскраска — на токенах --map-*: дефолты ниже — СВЕТЛАЯ тема
   (исторические цвета ещё с гугл-таблицы учёта, к ним привыкли — не
   менять до завершения обкатки тем). Тёмная тема переопределяет токены
   глубокими оттенками тех же смысловых hue (themes.css), чтобы типы
   оборудования узнавались: принтеры серые, телефония зелёная, сеть
   пурпурная, WiFi синий, NAS бирюзовый, шапка площадки жёлтая.
****************************/
:root {
	--map-room-hdr: yellow;       /* шапка площадки/помещения 1 уровня */
	--map-cabinet: white;         /* ячейка номера кабинета */
	--map-whitespace: white;      /* пустое место в кабинете */
	--map-border: darkgray;       /* сетка таблицы АРМов */
	--map-printer: lightgrey;     /* печатное оборудование */
	--map-voip: #ccffcc;          /* телефония */
	--map-net: plum;              /* сетевое (свитчи/роутеры) */
	--map-wifi: lightskyblue;     /* WiFi */
	--map-nas: darkturquoise;     /* NAS */
	--map-srv: white;             /* сервер в стойке (rack-unit) */
	/* диагональная штриховка серверов/NAS: SVG-тайл 8×8 с попиксельной
	   диагональю толщиной ровно 1px (градиент на 45° сглаживается и даёт
	   полосы «плавающей» толщины). Цвет в data-URI не берётся из var(),
	   поэтому тёмная тема переопределяет весь токен (themes.css) —
	   тёмные штрихи на светлых фонах, светлые на тёмных */
	--map-hatch-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' %3E%3Cpath fill='black' fill-opacity='.10' d='M0 0h1v1h-1zM1 1h1v1h-1zM2 2h1v1h-1zM3 3h1v1h-1zM4 4h1v1h-1zM5 5h1v1h-1zM6 6h1v1h-1zM7 7h1v1h-1z'/%3E%3C/svg%3E");
	/* штриховку применять ВМЕСТЕ с background-attachment: fixed — узор
	   привязан к окну, а не к ячейке, поэтому соседние серверные ячейки
	   образуют одно полотно без сдвига полос на границах */
}

/*Шапка помещения 1 уровня*/
div.places-container-hdr-depth0
{
    background-color: var(--map-room-hdr);
}

div.places-container-hdr-depth1
{
    background: none;
    font-size: 10px;
}

div.places-container-hdr > div.places-addr,
div.places-container-hdr > div.org-phones {
    display: inline;
    padding: 3px;
}

.places-container h1 {
    font-size: 14px;
    font-weight: bold;
}




/* табличка с АРМами внутри кабинета */
table.places-arms-container
{
    border: none;
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    margin: 0 0 8px 0;
    padding: 0;
}

/* ячейка названия кабинета */
table.places-arms-container td.places-arms-cabinet {
    background-color: var(--map-cabinet);
    border: solid 1px var(--map-border);
    border-right: none;
    text-overflow: clip;
    overflow: hidden;
    white-space: nowrap;
}

table.places-arms-container td {
    text-overflow: clip;
    overflow: hidden;
    white-space: nowrap;
    border: solid 1px var(--map-border);
}

table.places-arms-container col.arms_cabinet    {width: 50px;}
table.places-arms-container col.arm_id          {width: 120px;}
table.places-arms-container col.arm_hostname    {width: 120px;}
table.places-arms-container col.arm_uname       {width: 220px}
table.places-arms-container col.arm_uphone      {width: 100px;}
table.places-arms-container col.arm_model       {width: 220px;}
table.places-arms-container col.hardware        {width: 300px;}
table.places-arms-container col.attachments     {width: 70px;}
table.places-arms-container col.item_status     {width: 60px;}
table.places-arms-container col.item_ip         {width: 110px;}
table.places-arms-container col.item_invnum     {width: 120px;}




span.arms-comp-attach-selector,
span.arms-num-selector {
    cursor: pointer;
}
span.arms-comp-attach-selector:hover,
span.arms-num-selector:hover {
    text-decoration: underline;
}

/* Раскраска оборудования */

/* Принтеры */
table.places-arms-container tr.tech_printer_a4,
table.places-arms-container tr.tech_printer_a3,
table.places-arms-container tr.tech_printer_a3_ink,
table.places-arms-container tr.tech_mfu_bw_a4,
table.places-arms-container tr.tech_mfu_bw_a3,
table.places-arms-container tr.tech_mfu_color_a4,
table.places-arms-container tr.tech_mfu_color_a3
{background-color: var(--map-printer)}


td.arm_uphone.tech_voip_phone,
table.places-arms-container tr.tech_voip_gw,
table.places-arms-container tr.tech_voip_phone,
td.rack-unit.tech_voip_gw
{background-color: var(--map-voip)}

table.places-arms-container tr.tech_net_switch,
table.places-arms-container tr.tech_net_router,
td.rack-unit.tech_net_router,
td.rack-unit.tech_net_switch
{background-color: var(--map-net)}

table.places-arms-container tr.tech_wifi_ap,
table.places-arms-container tr.tech_wifi_router,
td.rack-unit.tech_wifi_router,
td.rack-unit.tech_wifi_ap
{background-color: var(--map-wifi)}

table.places-arms-container tr.tech_nas,
td.rack-unit.tech_nas
{
    background-color: var(--map-nas);
    background-image: var(--map-hatch-image);
    background-attachment: fixed;
}

td.rack-unit.tech_srv
{
    background-color: var(--map-srv);
    background-image: var(--map-hatch-image);
    background-attachment: fixed;
}

table.places-arms-container td.tech_whitespace {
    background-color: var(--map-whitespace);
}


table.places-arms-container td.arm_services span.services-item {
    display: block;
}
