:root{
  --paper:#f0ede5;
  --paper-2:#f8f6f1;
  --paper-3:#e4dfd4;
  --ink:#182027;
  --ink-2:#4f585e;
  --muted:#848a8d;
  --line:#bdb8ad;
  --line-soft:#d6d1c7;
  --accent:#ff5b35;
  --blue:#315fd0;
  --green:#257652;
  --yellow:#d2851f;
  --red:#c63d37;
  --mono:Consolas,"Courier New",monospace;
  --serif:Georgia,"Times New Roman",serif;
  --sans:Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}

/* WORDMARK */
.reso-wordmark{display:flex;align-items:center;gap:12px;color:var(--ink)}
.reso-wordmark-block{width:44px;height:44px;display:grid;place-items:center;background:var(--accent);color:#fff;font:900 20px/1 var(--sans)}
.reso-wordmark>div{display:flex;flex-direction:column}
.reso-wordmark strong{font-size:16px;letter-spacing:.12em}
.reso-wordmark small{margin-top:3px;color:#72797d;font:700 9px/1.3 var(--mono);letter-spacing:.08em}
.reso-wordmark--compact .reso-wordmark-block{width:38px;height:38px;font-size:17px}
.reso-wordmark--compact strong{font-size:14px}

/* LOGIN */
.reso-login-body{background:#dcd7cc}
.reso-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,44%) 1fr}
.reso-login-rail{position:relative;display:flex;flex-direction:column;min-height:100vh;padding:38px 44px;background:var(--ink);color:#f7f3eb;overflow:hidden}
.reso-login-rail:after{content:"";position:absolute;right:-120px;bottom:-140px;width:420px;height:420px;border:1px solid #465058;border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.015),0 0 0 140px rgba(255,255,255,.01)}
.reso-login-rail .reso-wordmark{color:#fff}
.reso-login-rail .reso-wordmark small{color:#9ba3a7}
.reso-login-rail-copy{position:relative;z-index:1;margin:auto 0;max-width:620px;padding:70px 0}
.reso-index-mark{display:inline-block;margin-bottom:28px;color:var(--accent);font:700 10px/1 var(--mono);letter-spacing:.14em}
.reso-login-rail-copy h1{margin:0;font:400 clamp(48px,5.8vw,92px)/.9 var(--serif);letter-spacing:-.055em}
.reso-login-rail-copy p{max-width:480px;margin:30px 0 0;color:#aeb5b9;font-size:14px;line-height:1.75}
.reso-login-rail-foot{position:relative;z-index:1;display:flex;justify-content:space-between;padding-top:18px;border-top:1px solid #3b454b;color:#8e989d;font:700 8px/1 var(--mono);letter-spacing:.12em}
.reso-login-form-zone{position:relative;display:grid;place-items:center;min-height:100vh;padding:54px;background:var(--paper-2)}
.reso-login-form-wrap{width:min(100%,460px)}
.reso-login-kicker{margin-bottom:14px;color:var(--accent);font:700 9px/1 var(--mono);letter-spacing:.13em}
.reso-login-form-wrap h2{margin:0;font:400 48px/1 var(--serif);letter-spacing:-.04em}
.reso-login-lead{margin:14px 0 34px;color:#687075;font-size:13px;line-height:1.6}
.reso-form-alert{margin-bottom:20px;padding:12px 14px;border-left:4px solid var(--red);background:#f7e7e4;color:#8a312d;font:700 10px/1.5 var(--mono)}
.reso-auth-form{display:grid;gap:18px}
.reso-auth-form>label>span{display:block;margin-bottom:7px;color:#71777a;font:700 8px/1 var(--mono);letter-spacing:.1em}
.reso-auth-form input[type="email"],.reso-auth-form input[type="password"]{width:100%;height:52px;padding:0 14px;border:1px solid #aaa69e;border-radius:0;outline:none;background:#fff;color:var(--ink);font-size:14px}
.reso-auth-form input:focus{border-color:var(--ink);box-shadow:inset 4px 0 0 var(--accent)}
.reso-auth-options{display:flex;justify-content:space-between;gap:15px;align-items:center;color:#777e82;font-size:10px}
.reso-checkline{display:flex;gap:8px;align-items:center}.reso-checkline input{accent-color:var(--accent)}
.reso-muted-link{color:#999}
.reso-submit{height:54px;display:flex;justify-content:space-between;align-items:center;padding:0 18px;border:0;background:var(--ink);color:#fff;font:700 10px/1 var(--mono);letter-spacing:.09em}
.reso-submit:hover{background:var(--accent)}.reso-submit span{font-size:18px}
.reso-login-corner{position:absolute;right:24px;bottom:20px;display:flex;gap:22px;color:#9a9a94;font:700 7px/1 var(--mono);letter-spacing:.11em}

/* APP SHELL */
.reso-app-body{background:var(--paper)}
.reso-app{min-height:100vh}
.reso-commandbar{position:sticky;z-index:90;top:0;display:grid;grid-template-columns:270px 1fr 290px;align-items:center;min-height:70px;padding:0 30px;border-bottom:2px solid var(--ink);background:rgba(248,246,241,.97);backdrop-filter:blur(10px)}
.reso-commandnav{height:100%;display:flex;justify-content:center;gap:24px}
.reso-commandnav a{position:relative;display:flex;align-items:center;gap:7px;height:100%;padding:0 2px;color:#7c8285;font:700 9px/1 var(--mono);letter-spacing:.04em}
.reso-commandnav a b{color:#a7a5a0;font-weight:700}.reso-commandnav a:hover,.reso-commandnav a.active{color:var(--ink)}
.reso-commandnav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:5px;background:var(--accent)}
.reso-commandnav a.active b{color:var(--accent)}
.reso-command-account{display:flex;justify-content:flex-end;align-items:center;gap:14px;text-align:right}
.reso-command-account strong{display:block;font-size:10px}.reso-command-account span{display:block;margin-top:3px;color:#81878a;font-size:8px}
.reso-command-account button{padding:8px 10px;border:1px solid #aaa79f;background:transparent;color:#555c60;font:700 8px/1 var(--mono);letter-spacing:.06em}.reso-command-account button:hover{border-color:var(--ink);color:var(--ink)}
.reso-workspace{width:min(1500px,calc(100% - 56px));margin:0 auto;padding:42px 0 72px}

/* TITLE BAND */
.reso-titleband{display:grid;grid-template-columns:110px 1fr 280px;gap:28px;align-items:end;padding:18px 0 34px;border-bottom:1px solid var(--line)}
.reso-titleband-index{align-self:start;color:var(--accent);font:400 72px/.8 var(--serif);letter-spacing:-.06em}
.reso-titleband-copy>span{color:#7a8083;font:700 9px/1 var(--mono);letter-spacing:.11em}
.reso-titleband-copy h1{margin:10px 0 7px;font:400 clamp(46px,5vw,76px)/.92 var(--serif);letter-spacing:-.055em}
.reso-titleband-copy p{margin:0;color:#6d7478;font-size:12px;line-height:1.6}
.reso-live-panel{padding:18px 0 4px 22px;border-left:1px solid var(--line)}
.reso-live-panel>span{display:block;margin-bottom:12px;color:#868b8d;font:700 8px/1 var(--mono);letter-spacing:.1em}
.reso-live-panel strong{display:flex;align-items:center;gap:9px;font:700 12px/1 var(--mono)}
.reso-live-panel strong i{width:9px;height:9px;border-radius:50%;display:block}
.reso-live-ok{color:var(--green)}.reso-live-ok i{background:#44b276;box-shadow:0 0 0 5px rgba(68,178,118,.12)}
.reso-live-bad{color:var(--red)}.reso-live-bad i{background:var(--red)}
.reso-live-panel small{display:block;margin-top:9px;color:#8b9092;font:700 8px/1 var(--mono)}

/* METRICS */
.reso-metric-strip{display:grid;grid-template-columns:repeat(4,1fr);margin:0;border-bottom:1px solid var(--line)}
.reso-metric-strip>div{min-height:128px;padding:26px 26px 24px;border-right:1px solid var(--line)}
.reso-metric-strip>div:first-child{padding-left:0}.reso-metric-strip>div:last-child{border-right:0}
.reso-metric-strip span{display:block;color:#858987;font:700 8px/1 var(--mono);letter-spacing:.09em}
.reso-metric-strip strong{display:block;margin-top:10px;font:400 45px/1 var(--serif)}
.reso-metric-strip small{display:block;margin-top:8px;color:#8a8d89;font-size:9px}
.reso-warn{color:var(--accent)!important}
.reso-metric-strip--compact>div{min-height:108px}.reso-metric-strip--compact strong{font-size:37px}

/* PANELS */
.reso-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;padding-top:34px}
.reso-panel{border:1px solid var(--line);background:var(--paper-2)}
.reso-panel-head{min-height:82px;display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line-soft)}
.reso-panel-head span{color:#858b8e;font:700 8px/1 var(--mono);letter-spacing:.1em}.reso-panel-head h2{margin:6px 0 0;font:400 24px/1 var(--serif)}
.reso-panel-head>a{color:#686f72;font:700 8px/1 var(--mono);letter-spacing:.06em}.reso-panel-head>a:hover{color:var(--accent)}
.reso-pool-list{display:grid}
.reso-pool-row{display:grid;grid-template-columns:72px minmax(170px,1fr) repeat(4,110px);align-items:center;min-height:86px;padding:0 18px;border-bottom:1px solid var(--line-soft)}
.reso-pool-row:last-child{border-bottom:0}.reso-pool-row:hover{background:#fff}
.reso-pool-code{font:400 31px/1 var(--serif);color:#424b50}.reso-pool-name strong{display:block;font-size:12px}.reso-pool-name span{display:block;margin-top:4px;color:#858b8e;font:700 8px/1 var(--mono)}
.reso-pool-measure span{display:block;color:#91938e;font:700 7px/1.1 var(--mono);letter-spacing:.06em}.reso-pool-measure strong{display:block;margin-top:5px;font-size:15px}
.reso-panel--automation{align-self:start}
.reso-status-list{margin:0;padding:0 20px}.reso-status-list>div{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line-soft)}
.reso-status-list dt{color:#858a8c;font:700 8px/1.2 var(--mono);letter-spacing:.06em}.reso-status-list dd{margin:0;text-align:right;font:700 9px/1.2 var(--mono)}
.reso-safe-off{color:var(--green)}
.reso-panel--automation>form{padding:20px}.reso-outline-action{width:100%;height:38px;border:1px solid var(--ink);background:transparent;color:var(--ink);font:700 8px/1 var(--mono);letter-spacing:.08em}.reso-outline-action:hover{background:var(--ink);color:#fff}
.reso-system-error{margin:0 20px 20px;padding:10px;border-left:3px solid var(--red);background:#f4e3df;color:#8b352f;font:700 8px/1.5 var(--mono)}

/* LICENSE REGISTER */
.reso-license-register{display:grid;gap:24px;padding-top:36px}
.reso-license-rack{display:grid;grid-template-columns:145px minmax(0,1fr);border:1px solid #a9a59c;background:var(--paper-2)}
.reso-license-spine{display:flex;min-height:100%;flex-direction:column;padding:20px 18px;border-right:1px solid #a9a59c;background:var(--paper-3)}
.reso-license-spine-code{font:400 46px/1 var(--serif);letter-spacing:-.04em}.reso-license-spine-copy{margin-top:auto;padding-top:48px}.reso-license-spine-copy strong{display:block;font:700 9px/1 var(--mono);letter-spacing:.09em}.reso-license-spine-copy span{display:block;margin-top:5px;color:#777a76;font:700 8px/1 var(--mono)}
.reso-license-body{min-width:0}.reso-license-head{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:92px;padding:18px 22px;border-bottom:1px solid var(--line)}
.reso-micro-label{color:#878b8d;font:700 7px/1 var(--mono);letter-spacing:.08em}.reso-license-head h2{margin:6px 0 0;font:400 26px/1 var(--serif)}
.reso-license-head-metrics{display:flex}.reso-license-head-metrics>div{min-width:86px;padding:8px 13px;border-left:1px solid var(--line)}.reso-license-head-metrics span{display:block;color:#8a8e90;font:700 7px/1 var(--mono)}.reso-license-head-metrics strong{display:block;margin-top:5px;font-size:18px}.reso-license-head-metrics .alert strong{color:var(--accent)}
.reso-device-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--line-soft);gap:1px}
.reso-device-cell{position:relative;min-height:185px;display:flex;flex-direction:column;padding:16px;background:var(--paper-2)}
.reso-device-cell:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#aaa79f}.reso-device-cell--permanent:before{background:var(--green)}.reso-device-cell--reserved:before{background:var(--blue)}
.reso-device-mainline{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.reso-device-mainline>strong{font:700 12px/1.2 var(--mono)}
.reso-state{padding:4px 6px;border:1px solid #aaa79f;color:#747a7d;font:700 7px/1 var(--mono);letter-spacing:.04em;white-space:nowrap}.reso-state--permanent{border-color:#a5cdb7;background:#e1efe7;color:#226b49}.reso-state--reserved{border-color:#a9b9e2;background:#e6ebf8;color:#2e56b2}
.reso-device-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}.reso-device-facts span{display:block;margin-bottom:5px;color:#93948f;font:700 7px/1 var(--mono);letter-spacing:.05em}.reso-device-facts strong{display:block;color:#5c6366;font-size:9px;font-weight:500;line-height:1.4}
.reso-device-actions{display:flex;align-items:flex-end;gap:7px;margin-top:auto;padding-top:22px}.reso-device-actions form{margin:0}
.reso-mini-action,.reso-reserve-pop>summary{min-height:31px;display:inline-flex;align-items:center;justify-content:center;padding:7px 9px;border:1px solid #969894;background:transparent;color:#535b5f;font:700 7px/1 var(--mono);letter-spacing:.04em}.reso-mini-action:hover,.reso-reserve-pop>summary:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.reso-lock-note{font:700 8px/1 var(--mono);letter-spacing:.03em}.reso-lock-note--permanent{color:var(--green)}.reso-lock-note--reserved{color:var(--blue)}
.reso-reserve-pop{position:relative}.reso-reserve-pop>summary{list-style:none;cursor:pointer}.reso-reserve-pop>summary::-webkit-details-marker{display:none}
.reso-reserve-card{position:absolute;z-index:50;right:0;bottom:41px;width:270px;padding:17px;border:1px solid var(--ink);background:var(--paper-2);box-shadow:9px 9px 0 rgba(24,32,39,.14)}
.reso-reserve-title span{display:block;color:#888d8f;font:700 7px/1 var(--mono);letter-spacing:.08em}.reso-reserve-title strong{display:block;margin-top:5px;font:400 20px/1 var(--serif)}
.reso-reserve-card form{display:grid;gap:11px;margin-top:16px}.reso-reserve-card label span{display:block;margin-bottom:5px;color:#777d80;font:700 7px/1 var(--mono)}.reso-reserve-card input{width:100%;height:38px;padding:0 9px;border:1px solid #aaa79f;background:#fff;color:var(--ink)}.reso-reserve-card button{height:39px;border:0;background:var(--accent);color:#fff;font:700 8px/1 var(--mono);letter-spacing:.06em}
.reso-no-devices{display:flex;align-items:center;gap:15px;padding:30px 22px;color:#7d8284}.reso-no-devices strong{font:700 9px/1 var(--mono)}.reso-no-devices span{font-size:11px}

/* FOOTER */
.reso-system-footer{display:flex;justify-content:space-between;padding:20px 30px;border-top:2px solid var(--ink);background:var(--paper-2);color:#797f81;font:700 7px/1 var(--mono);letter-spacing:.1em}

/* RESPONSIVE */
@media(max-width:1180px){
  .reso-commandbar{grid-template-columns:230px 1fr}.reso-command-account{grid-column:2;grid-row:1}.reso-commandnav{grid-column:1/-1;grid-row:2;justify-content:flex-start;height:42px;overflow-x:auto;border-top:1px solid var(--line-soft)}.reso-commandnav a{white-space:nowrap}.reso-commandnav a.active:after{bottom:0}
  .reso-titleband{grid-template-columns:85px 1fr 240px}.reso-dashboard-grid{grid-template-columns:1fr}.reso-panel--automation{width:100%}.reso-pool-row{grid-template-columns:65px minmax(150px,1fr) repeat(4,90px)}
  .reso-device-board{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:780px){
  .reso-login-shell{grid-template-columns:1fr}.reso-login-rail{min-height:42vh;padding:28px 24px}.reso-login-rail-copy{padding:50px 0 35px}.reso-login-rail-copy h1{font-size:54px}.reso-login-form-zone{min-height:58vh;padding:38px 24px}.reso-login-corner{display:none}
  .reso-commandbar{display:flex;flex-wrap:wrap;padding:10px 14px;min-height:0}.reso-commandbar>.reso-wordmark{flex:1}.reso-command-account>div{display:none}.reso-commandnav{order:3;width:100%;margin-top:9px;gap:18px}.reso-commandnav a{height:40px}.reso-wordmark--compact small{display:none}
  .reso-workspace{width:calc(100% - 28px);padding:24px 0 46px}.reso-titleband{grid-template-columns:54px 1fr;gap:14px}.reso-titleband-index{font-size:45px}.reso-titleband-copy h1{font-size:46px}.reso-live-panel{grid-column:1/-1;padding:14px 0 0;border-left:0;border-top:1px solid var(--line)}
  .reso-metric-strip{grid-template-columns:1fr 1fr}.reso-metric-strip>div{min-height:100px;padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.reso-metric-strip>div:first-child{padding-left:18px}.reso-metric-strip strong{font-size:34px}
  .reso-pool-row{grid-template-columns:55px 1fr 70px 70px;padding:14px}.reso-pool-measure:nth-of-type(4),.reso-pool-measure:nth-of-type(5){display:none}
  .reso-license-rack{grid-template-columns:1fr}.reso-license-spine{min-height:auto;display:grid;grid-template-columns:64px 1fr;align-items:center;border-right:0;border-bottom:1px solid #a9a59c}.reso-license-spine-copy{margin:0;padding:0}.reso-license-spine-code{font-size:37px}.reso-license-head{align-items:flex-start;flex-direction:column}.reso-license-head-metrics{width:100%}.reso-license-head-metrics>div{flex:1}.reso-device-board{grid-template-columns:1fr}.reso-device-cell{min-height:170px}.reso-reserve-card{position:fixed;left:14px;right:14px;bottom:14px;width:auto}
  .reso-auth-options{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   RESO V2.1
   TYPOGRAPHY SIZE FIX
   ========================================================= */

body {
    font-size: 14px;
}


/* BRAND */

.reso-wordmark small {
    font-size: 10px;
}

.reso-wordmark--compact strong {
    font-size: 15px;
}


/* TOP NAVIGATION */

.reso-commandnav a {
    font-size: 11px;
    letter-spacing: .025em;
}

.reso-command-account strong {
    font-size: 12px;
}

.reso-command-account span {
    font-size: 10px;
}

.reso-command-account button {
    padding: 9px 12px;
    font-size: 9px;
}


/* PAGE TITLE */

.reso-titleband-copy > span {
    font-size: 10px;
}

.reso-titleband-copy p {
    font-size: 14px;
}


/* RESOLUME STATUS */

.reso-live-panel > span {
    font-size: 9px;
}

.reso-live-panel strong {
    font-size: 13px;
}

.reso-live-panel small {
    font-size: 9px;
}


/* MAIN METRICS */

.reso-metric-strip span {
    font-size: 10px;
}

.reso-metric-strip small {
    font-size: 11px;
}


/* PANEL HEADERS */

.reso-panel-head span {
    font-size: 9px;
}

.reso-panel-head h2 {
    font-size: 27px;
}

.reso-panel-head > a {
    font-size: 9px;
}


/* POOL MATRIX */

.reso-pool-name strong {
    font-size: 14px;
}

.reso-pool-name span {
    font-size: 10px;
}

.reso-pool-measure span {
    font-size: 9px;
}

.reso-pool-measure strong {
    margin-top: 6px;
    font-size: 18px;
}


/* AUTOMATION PANEL */

.reso-status-list dt {
    font-size: 9px;
}

.reso-status-list dd {
    font-size: 10px;
}

.reso-outline-action {
    height: 42px;
    font-size: 9px;
}

.reso-system-error {
    font-size: 9px;
}


/* LICENSE CARDS */

.reso-license-spine-copy strong {
    font-size: 10px;
}

.reso-license-spine-copy span {
    font-size: 9px;
}

.reso-micro-label {
    font-size: 9px;
}

.reso-license-head h2 {
    font-size: 28px;
}

.reso-license-head-metrics span {
    font-size: 9px;
}

.reso-license-head-metrics strong {
    font-size: 20px;
}


/* DEVICE CELLS */

.reso-device-mainline > strong {
    font-size: 14px;
}

.reso-state {
    padding: 5px 7px;
    font-size: 8px;
}

.reso-device-facts span {
    font-size: 9px;
}

.reso-device-facts strong {
    font-size: 11px;
    line-height: 1.5;
}


/* ACTION BUTTONS */

.reso-mini-action,
.reso-reserve-pop > summary {
    min-height: 34px;
    padding: 8px 10px;
    font-size: 9px;
}

.reso-lock-note {
    font-size: 9px;
}


/* RESERVATION POPUP */

.reso-reserve-title span {
    font-size: 9px;
}

.reso-reserve-title strong {
    font-size: 22px;
}

.reso-reserve-card label span {
    font-size: 9px;
}

.reso-reserve-card input {
    height: 42px;
    font-size: 13px;
}

.reso-reserve-card button {
    height: 42px;
    font-size: 9px;
}


/* EMPTY STATES */

.reso-no-devices strong {
    font-size: 10px;
}

.reso-no-devices span {
    font-size: 12px;
}


/* FOOTER */

.reso-system-footer {
    font-size: 9px;
}


/* LOGIN */

.reso-login-kicker,
.reso-index-mark {
    font-size: 10px;
}

.reso-auth-form > label > span {
    font-size: 10px;
}

.reso-auth-options {
    font-size: 12px;
}

.reso-submit {
    font-size: 11px;
}

.reso-login-rail-foot,
.reso-login-corner {
    font-size: 9px;
}



/* =========================================================
   RESO V2.2
   LARGE READABLE UI
   ========================================================= */


/* PODSTAWA */

body {
    font-size: 16px !important;
}


/* =========================================================
   TOP BAR
   ========================================================= */

.reso-commandbar {
    min-height: 84px !important;
}

.reso-wordmark strong {
    font-size: 18px !important;
}

.reso-wordmark small {
    font-size: 13px !important;
    line-height: 1.4 !important;
}

.reso-wordmark--compact strong {
    font-size: 17px !important;
}


.reso-commandnav {
    gap: 30px !important;
}

.reso-commandnav a {
    font-size: 14px !important;
    gap: 8px !important;
}

.reso-commandnav a b {
    font-size: 13px !important;
}


.reso-command-account strong {
    font-size: 14px !important;
}

.reso-command-account span {
    margin-top: 5px !important;
    font-size: 12px !important;
}

.reso-command-account button {
    padding: 11px 14px !important;
    font-size: 12px !important;
}


/* =========================================================
   TITLE BAND
   ========================================================= */

.reso-titleband-copy > span {
    font-size: 13px !important;
    line-height: 1.4 !important;
}

.reso-titleband-copy p {
    font-size: 16px !important;
    line-height: 1.6 !important;
}


/* =========================================================
   STATUS RESOLUME
   ========================================================= */

.reso-live-panel > span {
    font-size: 12px !important;
}

.reso-live-panel strong {
    font-size: 16px !important;
}

.reso-live-panel small {
    margin-top: 11px !important;
    font-size: 12px !important;
}


/* =========================================================
   GŁÓWNE LICZNIKI
   ========================================================= */

.reso-metric-strip > div {
    min-height: 150px !important;
    padding-top: 30px !important;
    padding-bottom: 28px !important;
}

.reso-metric-strip span {
    font-size: 12px !important;
}

.reso-metric-strip strong {
    margin-top: 14px !important;
    font-size: 48px !important;
}

.reso-metric-strip small {
    margin-top: 12px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}


/* =========================================================
   NAGŁÓWKI PANELI
   ========================================================= */

.reso-panel-head {
    min-height: 96px !important;
}

.reso-panel-head span {
    font-size: 12px !important;
}

.reso-panel-head h2 {
    margin-top: 8px !important;
    font-size: 30px !important;
}

.reso-panel-head > a {
    font-size: 12px !important;
}


/* =========================================================
   STAN PULI
   ========================================================= */

.reso-pool-row {
    min-height: 108px !important;

    grid-template-columns:
        82px
        minmax(190px, 1fr)
        repeat(4, 125px) !important;
}

.reso-pool-code {
    font-size: 38px !important;
}

.reso-pool-name strong {
    font-size: 16px !important;
}

.reso-pool-name span {
    margin-top: 7px !important;
    font-size: 12px !important;
}

.reso-pool-measure span {
    font-size: 11px !important;
    line-height: 1.3 !important;
}

.reso-pool-measure strong {
    margin-top: 8px !important;
    font-size: 21px !important;
}


/* =========================================================
   RESOLUME WORKER
   ========================================================= */

.reso-status-list > div {
    padding: 18px 0 !important;
}

.reso-status-list dt {
    font-size: 12px !important;
    line-height: 1.35 !important;
}

.reso-status-list dd {
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.reso-outline-action {
    height: 48px !important;
    font-size: 12px !important;
}

.reso-system-error {
    font-size: 12px !important;
}


/* =========================================================
   LICENSE REGISTER
   ========================================================= */

.reso-license-spine-copy strong {
    font-size: 13px !important;
}

.reso-license-spine-copy span {
    font-size: 12px !important;
}

.reso-micro-label {
    font-size: 12px !important;
}

.reso-license-head h2 {
    font-size: 32px !important;
}

.reso-license-head-metrics > div {
    min-width: 100px !important;
}

.reso-license-head-metrics span {
    font-size: 11px !important;
}

.reso-license-head-metrics strong {
    margin-top: 8px !important;
    font-size: 23px !important;
}


/* =========================================================
   URZĄDZENIA
   ========================================================= */

.reso-device-cell {
    min-height: 225px !important;
    padding: 20px !important;
}

.reso-device-mainline > strong {
    font-size: 16px !important;
}

.reso-state {
    padding: 6px 8px !important;
    font-size: 11px !important;
}

.reso-device-facts span {
    font-size: 11px !important;
    line-height: 1.35 !important;
}

.reso-device-facts strong {
    font-size: 14px !important;
    line-height: 1.5 !important;
}


/* =========================================================
   PRZYCISKI
   ========================================================= */

.reso-mini-action,
.reso-reserve-pop > summary {
    min-height: 40px !important;
    padding: 10px 13px !important;

    font-size: 12px !important;
}

.reso-lock-note {
    font-size: 12px !important;
}


/* =========================================================
   REZERWACJA POPUP
   ========================================================= */

.reso-reserve-title span {
    font-size: 12px !important;
}

.reso-reserve-title strong {
    font-size: 26px !important;
}

.reso-reserve-card label span {
    font-size: 12px !important;
}

.reso-reserve-card input {
    height: 48px !important;
    font-size: 15px !important;
}

.reso-reserve-card button {
    height: 48px !important;
    font-size: 12px !important;
}


/* =========================================================
   EMPTY / FOOTER
   ========================================================= */

.reso-no-devices strong {
    font-size: 13px !important;
}

.reso-no-devices span {
    font-size: 14px !important;
}

.reso-system-footer {
    font-size: 12px !important;
}


/* =========================================================
   LOGIN
   ========================================================= */

.reso-login-kicker,
.reso-index-mark {
    font-size: 13px !important;
}

.reso-login-rail-copy p {
    font-size: 17px !important;
}

.reso-login-lead {
    font-size: 16px !important;
}

.reso-auth-form > label > span {
    font-size: 13px !important;
}

.reso-auth-form input[type="email"],
.reso-auth-form input[type="password"] {
    height: 58px !important;
    font-size: 16px !important;
}

.reso-auth-options {
    font-size: 14px !important;
}

.reso-submit {
    height: 58px !important;
    font-size: 13px !important;
}

.reso-login-rail-foot,
.reso-login-corner {
    font-size: 11px !important;
}


/* =========================================================
   WIĘCEJ MIEJSCA NA DUŻYM EKRANIE
   ========================================================= */

.reso-workspace {
    width: min(1580px, calc(100% - 70px)) !important;
}

.reso-dashboard-grid {
    grid-template-columns:
        minmax(0, 1fr)
        390px !important;
}



/* =========================================================
   RESO ADMIN V2.4
   UPROSZCZONY POLSKI DASHBOARD
   ========================================================= */


/* 3 wartości zamiast 4 w wierszu puli */

.reso-pool-row {
    grid-template-columns:
        72px
        minmax(190px, 1fr)
        repeat(3, 135px) !important;
}


/* trochę więcej czytelności */

.reso-pool-name strong {
    font-size: 16px !important;
}

.reso-pool-name span {
    font-size: 12px !important;
}


.reso-pool-measure span {
    font-size: 11px !important;
}

.reso-pool-measure strong {
    font-size: 21px !important;
}


/* prawa sekcja nie musi być tak szeroka */

.reso-dashboard-grid {
    grid-template-columns:
        minmax(0, 1fr)
        330px !important;
}


/* prostszy panel statusu */

.reso-status-list > div {
    padding:
        20px
        0 !important;
}

.reso-status-list dt {
    font-size: 12px !important;
}

.reso-status-list dd {
    font-size: 13px !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .reso-dashboard-grid {
        grid-template-columns:
            1fr !important;
    }

    .reso-pool-row {
        grid-template-columns:
            65px
            minmax(160px, 1fr)
            repeat(3, 100px) !important;
    }

}


/* =========================================================
   MOBILE ADMIN - awaryjnie
   ========================================================= */

@media (max-width: 760px) {

    .reso-pool-row {
        grid-template-columns:
            55px
            1fr !important;
    }

    .reso-pool-measure {
        grid-column:
            1 / -1 !important;

        display: grid !important;
        grid-template-columns:
            1fr auto !important;

        padding-top:
            11px !important;

        border-top:
            1px solid rgba(0,0,0,.10) !important;
    }

}



/* RESO ADMIN - dashboard bez hero/headera */

.reso-workspace {
    padding-top: 34px !important;
}

.reso-metric-strip {
    margin-top: 0 !important;
}



/* ==================================================
   RESO / HISTORIA ADMINA
   ================================================== */

.reso-history-workspace {
    padding-top: 34px;
}

.reso-history-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}

.reso-history-heading > div > span {
    display: block;
    margin-bottom: 6px;
    font-family: monospace;
    font-size: 11px;
    letter-spacing: .14em;
    color: #69717a;
}

.reso-history-heading h1 {
    margin: 0;
    font-size: clamp(42px, 5vw, 68px);
    line-height: .95;
    font-weight: 500;
}

.reso-history-heading > strong {
    font-family: monospace;
    font-size: 12px;
    letter-spacing: .08em;
}


.reso-history-filters {
    display: grid;
    grid-template-columns:
        minmax(220px, 1.4fr)
        minmax(220px, 1fr)
        150px
        150px
        auto;
    gap: 12px;
    align-items: end;
    padding: 18px;
    border: 1px solid #c8c2b7;
    background: rgba(255,255,255,.28);
    margin-bottom: 24px;
}

.reso-history-filters label {
    display: grid;
    gap: 7px;
}

.reso-history-filters label > span {
    font-family: monospace;
    font-size: 10px;
    letter-spacing: .12em;
    color: #69717a;
}

.reso-history-filters input,
.reso-history-filters select {
    width: 100%;
    min-height: 44px;
    box-sizing: border-box;
    border: 1px solid #a9a298;
    border-radius: 0;
    background: #f7f4ed;
    padding: 0 12px;
    color: #151a1e;
    font: inherit;
}

.reso-history-filter-actions {
    display: flex;
    gap: 8px;
}

.reso-history-filter-submit,
.reso-history-filter-clear {
    min-height: 44px;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    font-family: monospace;
    font-size: 11px;
    letter-spacing: .08em;
    text-decoration: none;
}

.reso-history-filter-submit {
    border: 1px solid #161c20;
    background: #161c20;
    color: #fff;
    cursor: pointer;
}

.reso-history-filter-clear {
    border: 1px solid #aaa49a;
    color: #161c20;
}


.reso-history-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #c8c2b7;
}

.reso-history-table {
    width: 100%;
    min-width: 1160px;
    border-collapse: collapse;
    table-layout: fixed;
}

.reso-history-table th {
    padding: 13px 14px;
    border-bottom: 1px solid #aaa49a;
    background: rgba(255,255,255,.34);
    text-align: left;
    font-family: monospace;
    font-size: 10px;
    letter-spacing: .11em;
    color: #69717a;
}

.reso-history-table td {
    padding: 16px 14px;
    border-bottom: 1px solid #d3cdc2;
    vertical-align: top;
    font-size: 13px;
    line-height: 1.45;
}

.reso-history-table tbody tr:last-child td {
    border-bottom: 0;
}

.reso-history-table th:nth-child(1) {
    width: 145px;
}

.reso-history-table th:nth-child(2) {
    width: 215px;
}

.reso-history-table th:nth-child(3) {
    width: 175px;
}

.reso-history-table th:nth-child(4) {
    width: 215px;
}

.reso-history-table th:nth-child(6) {
    width: 75px;
}

.reso-history-table td strong {
    display: block;
    font-weight: 600;
}

.reso-history-table td small {
    display: block;
    margin-top: 4px;
    color: #72777c;
    font-family: monospace;
    font-size: 10px;
}

.reso-history-details {
    overflow-wrap: anywhere;
}

.reso-history-result {
    display: inline-flex;
    min-width: 50px;
    min-height: 26px;
    align-items: center;
    justify-content: center;
    border: 1px solid #aaa49a;
    font-family: monospace;
    font-size: 10px;
    letter-spacing: .08em;
}

.reso-history-result--ok {
    border-color: #2e8f62;
    color: #187448;
}

.reso-history-result--bad {
    border-color: #d65c45;
    color: #b33825;
}

.reso-history-empty {
    padding: 50px !important;
    text-align: center;
    color: #70757a;
}


@media (max-width: 900px) {

    .reso-history-filters {
        grid-template-columns: 1fr 1fr;
    }

    .reso-history-filter-actions {
        grid-column: 1 / -1;
    }

}



/* ==================================================
   RESO / REZERWACJE
   ================================================== */

.reso-reservations-workspace {
    padding-top: 34px;
}

.reso-reservations-heading {
    margin-bottom: 28px;
}

.reso-reservations-heading > div > span {
    display: block;
    margin-bottom: 6px;
    font-family: monospace;
    font-size: 11px;
    letter-spacing: .14em;
    color: #69717a;
}

.reso-reservations-heading h1 {
    margin: 0;
    font-size: clamp(42px, 5vw, 68px);
    line-height: .95;
    font-weight: 500;
}


.reso-reservation-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid #c8c2b7;
    margin-bottom: 34px;
}

.reso-reservation-stats > div {
    min-height: 105px;
    padding: 20px;
    border-right: 1px solid #c8c2b7;
    box-sizing: border-box;
}

.reso-reservation-stats > div:last-child {
    border-right: 0;
}

.reso-reservation-stats span {
    display: block;
    margin-bottom: 10px;
    font-family: monospace;
    font-size: 10px;
    letter-spacing: .12em;
    color: #69717a;
}

.reso-reservation-stats strong {
    font-size: 38px;
    font-weight: 500;
}


.reso-reservation-section {
    margin-bottom: 36px;
}

.reso-reservation-section > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 12px;
}

.reso-reservation-section > header > div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.reso-reservation-section h2 {
    margin: 0;
    font-size: 25px;
    font-weight: 500;
}

.reso-reservation-section > header > strong {
    font-family: monospace;
    font-size: 12px;
}

.reso-reservation-dot {
    width: 9px;
    height: 9px;
    border: 1px solid #cb5b37;
    border-radius: 50%;
}

.reso-reservation-dot--active {
    background: #cb5b37;
}

.reso-reservation-dot--finished {
    border-color: #99948c;
    background: #99948c;
}


.reso-reservation-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #c8c2b7;
}

.reso-reservation-table {
    width: 100%;
    min-width: 980px;
    border-collapse: collapse;
    table-layout: fixed;
}

.reso-reservation-table th {
    padding: 12px 14px;
    border-bottom: 1px solid #aaa49a;
    background: rgba(255,255,255,.3);
    text-align: left;
    font-family: monospace;
    font-size: 10px;
    letter-spacing: .11em;
    color: #69717a;
}

.reso-reservation-table td {
    padding: 16px 14px;
    border-bottom: 1px solid #d3cdc2;
    vertical-align: top;
    font-size: 13px;
}

.reso-reservation-table tbody tr:last-child td {
    border-bottom: 0;
}

.reso-reservation-table th:nth-child(1) {
    width: 145px;
}

.reso-reservation-table th:nth-child(2) {
    width: 120px;
}

.reso-reservation-table th:nth-child(3) {
    width: 215px;
}

.reso-reservation-table th:nth-child(5) {
    width: 90px;
}

.reso-reservation-table th:nth-child(6) {
    width: 210px;
}

.reso-reservation-table td strong {
    display: block;
}

.reso-reservation-table td small {
    display: block;
    margin-top: 4px;
    color: #72777c;
    font-family: monospace;
    font-size: 10px;
}

.reso-reservation-host {
    font-family: monospace;
    font-size: 14px;
}

.reso-reservation-internet {
    font-family: monospace;
    font-size: 11px;
}

.reso-reservation-muted {
    color: #8b8e91;
}

.reso-reservation-created {
    overflow-wrap: anywhere;
}

.reso-reservation-empty {
    padding: 38px !important;
    text-align: center;
    color: #71767a;
}


@media (max-width: 760px) {

    .reso-reservation-stats {
        grid-template-columns: 1fr;
    }

    .reso-reservation-stats > div {
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid #c8c2b7;
    }

    .reso-reservation-stats > div:last-child {
        border-bottom: 0;
    }

}



/* ==================================================
   RESO / UŻYTKOWNICY
   ================================================== */

.reso-users-workspace {
    padding-top: 34px;
}

.reso-users-heading {
    margin-bottom: 28px;
}

.reso-users-heading > div > span {
    display: block;
    margin-bottom: 6px;
    font-family: monospace;
    font-size: 11px;
    letter-spacing: .14em;
    color: #69717a;
}

.reso-users-heading h1 {
    margin: 0;
    font-size: clamp(42px, 5vw, 68px);
    line-height: .95;
    font-weight: 500;
}


.reso-users-success {
    margin-bottom: 20px;
    padding: 14px 16px;
    border: 1px solid #2e8f62;
    font-family: monospace;
    font-size: 11px;
    letter-spacing: .05em;
    color: #187448;
}


.reso-user-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: 1px solid #c8c2b7;
    margin-bottom: 28px;
}

.reso-user-stats > div {
    min-height: 100px;
    padding: 20px;
    border-right: 1px solid #c8c2b7;
    box-sizing: border-box;
}

.reso-user-stats > div:last-child {
    border-right: 0;
}

.reso-user-stats span {
    display: block;
    margin-bottom: 10px;
    font-family: monospace;
    font-size: 10px;
    letter-spacing: .12em;
    color: #69717a;
}

.reso-user-stats strong {
    font-size: 34px;
    font-weight: 500;
}


.reso-user-create {
    margin-bottom: 24px;
    border: 1px solid #c8c2b7;
}

.reso-user-create summary {
    min-height: 54px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 18px;
    cursor: pointer;
    list-style: none;
    font-family: monospace;
    font-size: 11px;
    letter-spacing: .09em;
}

.reso-user-create summary::-webkit-details-marker {
    display: none;
}

.reso-user-create summary span {
    font-size: 19px;
    color: #d85839;
}

.reso-user-create[open] summary {
    border-bottom: 1px solid #c8c2b7;
}

.reso-user-create form {
    padding: 20px;
}

.reso-user-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.reso-user-form-grid label {
    display: grid;
    gap: 7px;
}

.reso-user-form-grid label > span {
    font-family: monospace;
    font-size: 10px;
    letter-spacing: .11em;
    color: #69717a;
}

.reso-user-form-grid input,
.reso-user-form-grid select {
    width: 100%;
    min-height: 46px;
    box-sizing: border-box;
    padding: 0 12px;
    border: 1px solid #a9a298;
    border-radius: 0;
    background: #f7f4ed;
    color: #151a1e;
    font: inherit;
}

.reso-user-email-field {
    grid-column: 1 / 2;
}

.reso-user-form-footer {
    margin-top: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.reso-user-form-footer p {
    margin: 0;
    color: #70757a;
    font-family: monospace;
    font-size: 10px;
}

.reso-user-form-footer button {
    min-height: 44px;
    padding: 0 20px;
    border: 1px solid #161c20;
    background: #161c20;
    color: #fff;
    cursor: pointer;
    font-family: monospace;
    font-size: 11px;
    letter-spacing: .08em;
}


.reso-users-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #c8c2b7;
}

.reso-users-table {
    width: 100%;
    min-width: 1050px;
    border-collapse: collapse;
    table-layout: fixed;
}

.reso-users-table th {
    padding: 12px 14px;
    border-bottom: 1px solid #aaa49a;
    background: rgba(255,255,255,.3);
    text-align: left;
    font-family: monospace;
    font-size: 10px;
    letter-spacing: .11em;
    color: #69717a;
}

.reso-users-table td {
    padding: 17px 14px;
    border-bottom: 1px solid #d3cdc2;
    vertical-align: middle;
    font-size: 13px;
}

.reso-users-table tbody tr:last-child td {
    border-bottom: 0;
}

.reso-users-table td strong {
    display: block;
}

.reso-users-table td small {
    display: block;
    margin-top: 4px;
    color: #74797d;
    font-family: monospace;
    font-size: 10px;
}

.reso-user-email {
    overflow-wrap: anywhere;
}

.reso-user-role {
    display: inline-flex;
    min-width: 54px;
    justify-content: center;
    padding: 5px 8px;
    border: 1px solid #aaa49a;
    font-family: monospace;
    font-size: 10px;
    letter-spacing: .07em;
}

.reso-user-role--admin {
    border-color: #d85839;
    color: #bd4028;
}

.reso-user-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: monospace;
    font-size: 10px;
    letter-spacing: .06em;
}

.reso-user-status i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #96918a;
}

.reso-user-status--active i {
    background: #2e8f62;
}


@media (max-width: 850px) {

    .reso-user-stats {
        grid-template-columns: 1fr 1fr;
    }

    .reso-user-stats > div:nth-child(2) {
        border-right: 0;
    }

    .reso-user-stats > div:nth-child(-n+2) {
        border-bottom: 1px solid #c8c2b7;
    }

    .reso-user-form-grid {
        grid-template-columns: 1fr;
    }

    .reso-user-email-field {
        grid-column: auto;
    }

    .reso-user-form-footer {
        align-items: stretch;
        flex-direction: column;
    }

}



/* RESO / NAVIGATION FOCUS */

.reso-commandnav a:focus {
    outline: none;
}

.reso-commandnav a:focus-visible {
    outline: 1px solid var(--ink);
    outline-offset: 4px;
}



/* RESO / USER STATUS ACTIONS */

.reso-user-action {
    min-height: 32px;
    padding: 0 11px;
    border: 1px solid #2e8f62;
    background: transparent;
    color: #187448;
    cursor: pointer;
    font-family: monospace;
    font-size: 10px;
    letter-spacing: .06em;
}

.reso-user-action--off {
    border-color: #c46a58;
    color: #a94331;
}

.reso-user-action:hover {
    background: #161c20;
    border-color: #161c20;
    color: #fff;
}

.reso-user-self {
    font-family: monospace;
    font-size: 9px;
    letter-spacing: .06em;
    color: #7a7f82;
}



/* ==================================================
   RESO / LOGIN WITHOUT PROMO RAIL
   ================================================== */

.reso-login-shell {
    grid-template-columns: 1fr !important;
    min-height: 100vh;
}

.reso-login-form-zone {
    min-height: 100vh !important;
    padding: 48px 24px !important;
}

.reso-login-form-wrap {
    width: min(100%, 520px);
    margin: 0 auto;
}



/* RESO / LOGIN CENTER */

.reso-login-form-zone {
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px !important;
    box-sizing: border-box;
}

.reso-login-form-wrap {
    width: min(100%, 460px) !important;
    margin: 0 !important;
}

