/* Ross Ragland Theater dashboard frontend -- built to match the supplied wireframe screenshots. */
:root{
    --rrt-paper:#fbf7ed;
    --rrt-sidebar:#f6f1e7;
    --rrt-line:#9f9f9f;
    --rrt-soft-line:#d4d4d4;
    --rrt-panel:#ddd;
    --rrt-text:#111;
    --rrt-red:#b50000;
}
body:has(.rrt-shell),body:has(.rrt-login-shell){background:#fff!important;}
body:has(.rrt-shell) .entry-title,body:has(.rrt-login-shell) .entry-title{display:none!important;}
.rrt-shell,.rrt-login-shell{width:760px;max-width:100%;margin:25px auto 40px;background:var(--rrt-paper);border:2px solid #333;color:var(--rrt-text);font-family:Arial,Helvetica,sans-serif;font-size:12px;box-sizing:border-box;}
.rrt-browser{height:35px;background:#f7f7f7;border-bottom:1px solid #555;position:relative;display:flex;align-items:center;padding:0 11px;box-sizing:border-box;}
.rrt-address{height:18px;line-height:18px;border:1px solid #777;background:#fff;width:calc(100% - 24px);padding:0 8px;font-size:11px;color:#222;box-sizing:border-box;}
.rrt-window-controls{position:absolute;right:6px;top:5px;display:flex;gap:2px;}
.rrt-window-controls span{width:8px;height:8px;border:1px solid #555;background:#eee;display:block;}
.rrt-layout{display:flex;min-height:420px;background:var(--rrt-paper);}
.rrt-sidebar{width:110px;background:var(--rrt-sidebar);border-right:1px solid var(--rrt-soft-line);padding:24px 8px 12px 12px;box-sizing:border-box;}
.rrt-nav-title{font-weight:bold;margin-bottom:7px;font-size:11px;}
.rrt-sidebar a{display:block;width:78px;color:#000;text-decoration:none;padding:4px 6px;margin-bottom:2px;font-weight:bold;font-size:11px;line-height:1.1;border-radius:0;box-sizing:border-box;}
.rrt-sidebar a.active,.rrt-sidebar a:hover{background:#000;color:#fff;}
.rrt-content{position:relative;flex:1;padding:23px 20px 30px 20px;box-sizing:border-box;overflow:auto;}
.rrt-userline{position:absolute;right:20px;top:10px;color:#777;font-size:10px;}
.rrt-content h1{margin:0 0 12px 0;font-size:14px;line-height:1.2;font-weight:bold;}
.rrt-content h2{margin:0 0 8px 0;font-size:12px;font-weight:bold;}
.rrt-top-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 12px 0;}
.rrt-top-cards div{background:#d9d9d9;border:1px solid #b7b7b7;min-height:58px;padding:8px;box-sizing:border-box;}
.rrt-top-cards span{display:block;font-size:10px;color:#222;margin-bottom:5px;}
.rrt-top-cards strong{font-size:14px;font-weight:bold;}
.rrt-dashboard-panels{display:grid;grid-template-columns:1.05fr .95fr;gap:12px;align-items:start;}
.rrt-panel{background:#d9d9d9;border:1px solid #b7b7b7;padding:10px;box-sizing:border-box;min-height:160px;}
.rrt-map-box{position:relative;height:126px;background:#d7d7d7;display:grid;grid-template-columns:1fr 1fr;gap:18px 32px;padding:11px 15px;box-sizing:border-box;}
.rrt-map-vlan{display:flex;align-items:center;justify-content:center;text-align:center;background:#e9e9e9;color:#222;text-decoration:none;font-weight:bold;font-size:10px;border:2px solid #aaa;min-height:32px;}
.rrt-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#111;color:#fff;padding:10px 16px;font-weight:bold;font-size:11px;z-index:2;}
.vlan-10{border-color:#cc4c4c!important;}.vlan-20{border-color:#5e59cf!important;}.vlan-30{border-color:#6ac36d!important;}.vlan-40{border-color:#e3d74f!important;}
.rrt-mini-table,.rrt-table{width:100%;border-collapse:collapse;background:#fff;font-size:11px;}
.rrt-mini-table th,.rrt-mini-table td,.rrt-table th,.rrt-table td{border-bottom:1px solid #bdbdbd;padding:6px 7px;text-align:left;vertical-align:middle;}
.rrt-mini-table th,.rrt-table th{font-weight:bold;background:#f3f3f3;}
.rrt-filters{position:absolute;right:20px;top:30px;margin:0;display:flex;align-items:center;gap:6px;background:transparent;border:0;padding:0;font-size:10px;}
.rrt-filters select{height:23px;border:1px solid #999;background:#fff;font-size:10px;padding:1px 5px;}
.rrt-filters button,.rrt-form button,.rrt-table button,.login-submit input{background:var(--rrt-red);color:#fff;border:0;padding:5px 12px;cursor:pointer;font-weight:bold;font-size:10px;}
.rrt-table{margin-top:8px;}
.rrt-table td:nth-child(5),.rrt-table td:nth-child(7){font-weight:bold;}
.status-active,.status-online{color:#009900;font-weight:bold}.status-inactive,.status-retired,.status-offline{color:#c00000;font-weight:bold}.status-maintenance{color:#9b6500;font-weight:bold}.status-locked{color:#c00000;font-weight:bold}
.rrt-vlan-cards{display:grid;grid-template-columns:repeat(2,220px);gap:35px 42px;margin:22px 0 0 10px;}
.rrt-vlan-card{height:86px;background:#fff;text-decoration:none;color:#222;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid #aaa;box-sizing:border-box;}
.rrt-vlan-card strong{font-size:13px;margin-bottom:6px;}.rrt-vlan-card span{font-size:10px;color:#555;}
.rrt-form{background:#fff;border:1px solid var(--rrt-soft-line);padding:10px;margin-top:14px;display:flex;flex-wrap:wrap;gap:6px;}
.rrt-form input,.rrt-form select{border:1px solid #999;padding:5px;font-size:11px;max-width:140px;}
.rrt-muted{color:#555;font-size:10px;margin-top:-7px;}
.inline{display:inline}.rrt-notice{max-width:760px;margin:25px auto;background:#fff3cd;border:1px solid #e3cb6b;padding:15px;font-family:Arial,sans-serif}.rrt-error{background:#f8d7da;border-color:#c99099;}
/* Login screenshot */
.rrt-login-stage{height:405px;background:var(--rrt-paper);display:flex;align-items:center;justify-content:center;}
.rrt-login-card{width:300px;min-height:165px;background:#fbfbfb;border:2px solid #aaa;border-radius:36px;text-align:center;padding:23px 30px 18px;box-sizing:border-box;}
.rrt-login-card h2{font-size:13px;line-height:1.1;margin:0 0 14px 0;font-weight:bold;}
.rrt-login-card p{margin:0 0 8px 0;text-align:left;}
.rrt-login-card label{font-size:0;display:block;}
.rrt-login-card label:before{font-size:10px;color:#555;display:block;margin-bottom:2px;}
.rrt-login-card .login-username label:before{content:'Username or Email';}.rrt-login-card .login-password label:before{content:'Password';}
.rrt-login-card input[type=text],.rrt-login-card input[type=password]{width:100%;height:25px;border:1px solid #777;background:#fff;padding:2px 6px;font-size:11px;box-sizing:border-box;}
.rrt-login-card .login-submit{text-align:center;margin-top:10px;}.rrt-login-card .login-submit input{padding:5px 18px;}
.rrt-login-return{padding:60px;text-align:center;font-family:Arial,sans-serif;}
@media(max-width:780px){.rrt-shell,.rrt-login-shell{width:96%;}.rrt-top-cards,.rrt-dashboard-panels,.rrt-vlan-cards{grid-template-columns:1fr}.rrt-vlan-cards{width:auto;margin-left:0}.rrt-vlan-card{width:100%;}.rrt-layout{min-height:0}.rrt-sidebar{width:105px}.rrt-content{padding-right:12px}.rrt-filters{position:static;margin-bottom:8px}.rrt-map-box{height:auto}.rrt-core{position:static;transform:none;grid-column:1/-1;text-align:center}}

/* Standalone full-page mode: removes the WordPress theme header/footer by bypassing the theme template. */
html:has(body.rrt-standalone-page),
body.rrt-standalone-page {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    min-height: 100% !important;
    background: var(--rrt-paper) !important;
    overflow-x: hidden;
}
body.rrt-standalone-page .rrt-shell,
body.rrt-standalone-page .rrt-login-shell {
    width: 100% !important;
    max-width: none !important;
    min-height: 100vh;
    margin: 0 !important;
    border: 0 !important;
    box-sizing: border-box;
}
body.admin-bar.rrt-standalone-page .rrt-shell,
body.admin-bar.rrt-standalone-page .rrt-login-shell {
    min-height: calc(100vh - 32px);
}
body.rrt-standalone-page .rrt-browser {
    height: 38px;
    padding-left: 18px;
    padding-right: 18px;
}
body.rrt-standalone-page .rrt-address {
    width: calc(100% - 38px);
}
body.rrt-standalone-page .rrt-layout {
    min-height: calc(100vh - 38px);
}
body.admin-bar.rrt-standalone-page .rrt-layout {
    min-height: calc(100vh - 70px);
}
body.rrt-standalone-page .rrt-sidebar {
    width: 185px;
    padding: 34px 18px 18px 28px;
}
body.rrt-standalone-page .rrt-sidebar a {
    width: 125px;
    padding: 7px 8px;
    font-size: 13px;
}
body.rrt-standalone-page .rrt-nav-title {
    font-size: 13px;
    margin-bottom: 10px;
}
body.rrt-standalone-page .rrt-content {
    padding: 34px 42px 44px 42px;
}
body.rrt-standalone-page .rrt-userline {
    right: 42px;
    top: 18px;
}
body.rrt-standalone-page .rrt-content h1 {
    font-size: 22px;
    margin-bottom: 24px;
}
body.rrt-standalone-page .rrt-content h2 {
    font-size: 16px;
}
body.rrt-standalone-page .rrt-top-cards {
    gap: 18px;
    margin-bottom: 22px;
}
body.rrt-standalone-page .rrt-top-cards div {
    min-height: 92px;
    padding: 18px;
}
body.rrt-standalone-page .rrt-top-cards span,
body.rrt-standalone-page .rrt-muted,
body.rrt-standalone-page .rrt-userline {
    font-size: 12px;
}
body.rrt-standalone-page .rrt-top-cards strong {
    font-size: 26px;
}
body.rrt-standalone-page .rrt-dashboard-panels {
    grid-template-columns: minmax(480px, 1.15fr) minmax(420px, .85fr);
    gap: 22px;
}
body.rrt-standalone-page .rrt-panel {
    min-height: 260px;
    padding: 18px;
}
body.rrt-standalone-page .rrt-map-box {
    height: 205px;
    gap: 30px 58px;
    padding: 24px 38px;
}
body.rrt-standalone-page .rrt-map-vlan,
body.rrt-standalone-page .rrt-mini-table,
body.rrt-standalone-page .rrt-table {
    font-size: 13px;
}
body.rrt-standalone-page .rrt-core {
    font-size: 13px;
    padding: 14px 22px;
}
body.rrt-standalone-page .rrt-vlan-cards {
    grid-template-columns: repeat(2, minmax(260px, 420px));
    gap: 42px 56px;
}
body.rrt-standalone-page .rrt-vlan-card {
    width: 100%;
    height: 125px;
}
body.rrt-standalone-page .rrt-vlan-card strong {
    font-size: 18px;
}
body.rrt-standalone-page .rrt-login-stage {
    min-height: calc(100vh - 38px);
}
body.admin-bar.rrt-standalone-page .rrt-login-stage {
    min-height: calc(100vh - 70px);
}
@media(max-width:1000px){
    body.rrt-standalone-page .rrt-dashboard-panels,
    body.rrt-standalone-page .rrt-top-cards,
    body.rrt-standalone-page .rrt-vlan-cards{grid-template-columns:1fr;}
    body.rrt-standalone-page .rrt-sidebar{width:145px;padding-left:18px;}
    body.rrt-standalone-page .rrt-sidebar a{width:105px;}
    body.rrt-standalone-page .rrt-content{padding:28px 22px;}
}
