HousekeepingView.css 6.4 Ko
Télécharger le fichier
/*
* The card theme flattens every .bg-white inside a card to a 4% tint
* (OctaneCardView.css, .octane-card-shell :where(.bg-white ...)). That suits
* flat panels, but a menu that floats over the content has to be opaque or
* the rows underneath read through it.
*/
.octane-housekeeping .octane-hk-popover {
background: #ffffff !important;
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22) !important;
}
/*
* Housekeeping buttons. They live in this sheet rather than in utility
* classes because the card theme forces borders, white backgrounds and
* shadows inside every card with !important.
*
* AIR has no housekeeping layout, so the buttons follow the AIR convention:
* the grey button_thick (habbo_skin_button_shiny_thick 9-slice) with u_bold
* 12 px black text. Every tone takes it, except danger, which keeps Octane's
* red shiny skin so a destructive staff action still reads as one.
*/
.octane-housekeeping .hk-btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 5px;
height: 26px;
padding: 0 6px;
border: 5px solid transparent !important;
border-radius: 0;
border-image-source: var(--habbo-skin-shiny-thick) !important;
border-image-slice: 5 fill !important;
border-image-width: 5px !important;
border-image-repeat: stretch !important;
background: transparent !important;
box-shadow: none !important;
color: #000000;
cursor: pointer;
font-size: 12px;
font-weight: 700;
line-height: 1;
text-shadow: none;
white-space: nowrap;
user-select: none;
image-rendering: var(--octane-pixel-art, pixelated);
}
.octane-housekeeping .hk-btn:hover:not(:disabled) {
border-image-source: var(--habbo-skin-shiny-thick-hover) !important;
}
.octane-housekeeping .hk-btn:active:not(:disabled) {
border-image-source: var(--habbo-skin-shiny-thick-pressed) !important;
}
.octane-housekeeping .hk-btn:focus-visible {
outline: 2px solid #38bdf8;
outline-offset: 1px;
}
/* Disabled reads as disabled for every tone: the disabled skin, grey text, no pointer. */
.octane-housekeeping .hk-btn:disabled {
border-image-source: var(--habbo-skin-shiny-thick-disabled) !important;
color: #777777;
text-shadow: none;
cursor: not-allowed;
}
/* The small button: 11 px (il_bold), the size dense rows already use. */
.octane-housekeeping .hk-btn--sm {
height: 22px;
padding: 0 4px;
font-size: 11px;
}
/* Danger: Octane's red shiny skin (as the shared danger button), white text. */
.octane-housekeeping .hk-btn--danger:not(:disabled) {
border-image-source: var(--habbo-skin-shiny-red) !important;
color: #ffffff;
text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.35);
}
.octane-housekeeping .hk-btn--danger:hover:not(:disabled) {
border-image-source: var(--habbo-skin-shiny-red-hover) !important;
}
.octane-housekeeping .hk-btn--danger:active:not(:disabled) {
border-image-source: var(--habbo-skin-shiny-red-pressed) !important;
}
/* Sub-pages and list choices: a segmented control, the active part lifted. */
.octane-housekeeping .hk-segmented {
display: flex;
gap: 2px;
padding: 3px;
border: 1px solid #d4d4d8 !important;
border-radius: 8px;
background: #e4e4e7 !important;
}
.octane-housekeeping .hk-segmented__item {
display: inline-flex;
flex: 1 1 0;
align-items: center;
justify-content: center;
gap: 5px;
min-width: 0;
height: 26px;
padding: 0 8px;
border: 0;
border-radius: 6px;
background: transparent;
color: #000000;
cursor: pointer;
font-size: 12px; /* u_button_tab: 12 px regular, black */
font-weight: 400;
white-space: nowrap;
transition:
background-color 0.12s ease,
color 0.12s ease;
}
.octane-housekeeping .hk-segmented__item:hover:not(.is-active) {
background: rgba(255, 255, 255, 0.55);
color: #18181b;
}
.octane-housekeeping .hk-segmented__item.is-active {
background: #ffffff !important;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18) !important;
color: #000000;
font-weight: 700;
}
.octane-housekeeping .hk-segmented__item:focus-visible {
outline: 2px solid #38bdf8;
outline-offset: 1px;
}
.octane-housekeeping .hk-segmented__count {
min-width: 16px;
padding: 0 5px;
border-radius: 999px;
background: #d4d4d8;
color: #000000;
font-size: 11px;
line-height: 15px;
text-align: center;
}
.octane-housekeeping .hk-segmented__item.is-active .hk-segmented__count {
background: #0284c7;
color: #ffffff;
}
/* The segmented control compact, for choices inside a page. */
.octane-housekeeping .hk-segmented--compact {
align-self: flex-start;
}
.octane-housekeeping .hk-segmented--compact .hk-segmented__item {
flex: 0 0 auto;
height: 22px;
font-size: 11px;
}
/*
* Text as AIR draws it. Housekeeping is Octane's own staff panel (no AIR layout), so it takes the AIR
* conventions: regular Ubuntu (HabboAirUbuntu; Octane's `Ubuntu` face is the condensed cut), u_regular 12 px
* pure black body text, 14 px bold section titles, 11 px for the small meta text and the dense rows (never
* smaller), #666666 for hints. The status colours (rose/emerald/amber/sky pills and banners) stay as they are.
* The shared card header keeps its own face.
*/
.octane-housekeeping {
--octane-card-text: #000000;
font-family: HabboAirUbuntu, UbuntuRegular, sans-serif;
}
@layer base {
.octane-housekeeping :where(*):not(svg, svg *, .font-mono, .octane-card-header-shell, .octane-card-header-shell *) {
font-family: HabboAirUbuntu, UbuntuRegular, sans-serif !important;
}
/* il_regular 11 px is the floor: the 9 and 10 px labels, counters and table cells come up to it. */
.octane-housekeeping :where(.text-\[9px\], .text-\[10px\]):not(svg, svg *) {
font-size: 11px !important;
}
/* Section titles: u_headline_small, 14 px bold black. */
.octane-housekeeping .hk-air-heading {
color: #000000 !important;
font-size: 14px !important;
font-weight: 700 !important;
line-height: 17px !important;
}
/* Body text pure black; the neutral greys that carried body text become black, the hint grey #666666. */
.octane-housekeeping :where(.text-zinc-600, .text-zinc-700, .text-zinc-800, .text-zinc-900) {
color: #000000 !important;
}
.octane-housekeeping :where(.text-zinc-500, .text-\[\#666666\]) {
color: #666666 !important;
}
}
