html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid black;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:transparent}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:transparent}.cm-fat-cursor{caret-color:transparent}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;inset:-50px 0 0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3,.cm-s-default .cm-type{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error,.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:#ff96004d}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:none;position:relative;z-index:0}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{position:absolute;z-index:6;display:none;outline:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;inset:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-scroll,.CodeMirror-sizer,.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors,.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}:root{--base-font-size: 13px;--base-line-height: 16px;--color1: #ebe0bf;--color2: #b9b098;--color3: #f2ebd5;--color4: #046380;--color5: #002f2f;--fade: .2s;--disabled: #666;--status-red: 0 80% 80%;--status-green: 125 80% 80%;--status-gray: 58 3% 80%;--status-yellow: 46 79% 80%}body,input,button,select,option,textarea{outline-color:var(--color4);font-family:sans-serif;color:var(--color5)}a{color:var(--color4);cursor:pointer;transition:background-color var(--fade),color var(--fade)}a:visited{color:var(--color4)}a:hover{color:#fff;background-color:var(--color4)}a span{text-decoration:inherit}strong,b{font-weight:700}i{font-style:italic}@keyframes pending-blink{0%{background-color:hsl(var(--status-green) / .9)}to{background-color:transparent}}body{height:100vh;display:flex;flex-direction:column}#content-wrapper{flex-grow:1;display:flex;overflow-x:auto;overflow-y:auto}#header{background-color:#f2eddf;border-bottom:1px solid var(--color1);overflow:visible;position:relative}#header>.drawer-wrapper{position:fixed;z-index:10;width:720px;margin-left:-360px;top:0;left:50%}#header>.drawer-wrapper>.drawer{background-color:#ffffffe6;border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-bottom:1px solid var(--color1);border-left:1px solid var(--color1);border-right:1px solid var(--color1);margin-top:-1px;box-shadow:0 0 10px #ccc;overflow:hidden;transition:height var(--fade),opacity var(--fade)}#header>.drawer-wrapper>.drawer>div{padding:.3em}#header>.drawer-wrapper>.drawer>.status{display:flex}#header>.drawer-wrapper>.drawer>.status>span{margin-right:1em;padding-left:.2em;padding-right:.2em;border-radius:.4em}#header>.drawer-wrapper>.drawer>.status>.pending.active.active{animation:.5s linear 0s infinite alternate pending-blink}#header>.drawer-wrapper>.drawer>.status>.stale.active{background-color:hsl(var(--status-gray) / .9)}#header>.drawer-wrapper>.drawer>.status>.fault.active{background-color:hsl(var(--status-red) / .9)}#header>.drawer-wrapper>.drawer>.status>.queued.active{font-weight:700}#header>.drawer-wrapper>.drawer>.status>.actions{flex-grow:1;text-align:right}#header>.drawer-wrapper>.drawer>.staging .parameter{font-style:italic;max-width:500px;text-overflow:ellipsis;display:inline-block;overflow:hidden;vertical-align:text-bottom}#header>.drawer-wrapper>.drawer>.staging input{width:100%;box-sizing:border-box;padding:.3em;margin-top:.3em;margin-bottom:.3em}#header>.drawer-wrapper>.drawer>.staging .actions{text-align:right}#header>.drawer-wrapper>.drawer>.queue{max-height:400px;overflow-y:auto}#header>.drawer-wrapper>.drawer>.queue>.pending{animation:.5s linear 0s infinite alternate pending-blink;border-radius:.4em}#header>.drawer-wrapper>.drawer>.queue>.stale{background-color:hsl(var(--status-gray) / .9);border-radius:.4em}#header>.drawer-wrapper>.drawer>.queue>.fault{background-color:hsl(var(--status-red) / .9);border-radius:.4em}#header>.drawer-wrapper>.drawer>.queue .parameter{font-style:italic;max-width:400px;text-overflow:ellipsis;display:inline-block;overflow:hidden;vertical-align:text-bottom}#header>.drawer-wrapper>.drawer>.queue .value{max-width:200px;text-overflow:ellipsis;display:inline-block;overflow:hidden;vertical-align:text-bottom;white-space:nowrap}#header>.drawer-wrapper>.drawer>.queue>div{display:flex}#header>.drawer-wrapper>.drawer>.queue>div>.actions{flex-grow:1;text-align:right}#header>.drawer-wrapper>.notifications-wrapper>.notification{padding:.3em;left:0;right:0;background-color:#ffffffe6;border:1px solid var(--color1);border-radius:6px;box-shadow:0 0 10px #ccc;transition:opacity var(--fade),top var(--fade)}#header>.drawer-wrapper>.notifications-wrapper>.notification.error{background-color:hsl(var(--status-red) / .9);border:1px solid hsl(var(--status-red))}#header>.drawer-wrapper>.notifications-wrapper>.notification.success{background-color:hsl(var(--status-green) / .9);border:1px solid hsl(var(--status-green))}#header>.drawer-wrapper>.notifications-wrapper>.notification.warning{background-color:hsl(var(--status-yellow) / .9);border:1px solid hsl(var(--status-yellow))}#header>nav{display:inline-block;overflow:visible;position:absolute;bottom:-1px}#header>nav>ul{font-weight:700;display:inline-block;margin:0 10px;padding:0}#header>nav>ul>li{margin:0 2px;background-color:var(--color1);display:inline-block;border-top-left-radius:6px;border-top-right-radius:6px;border-top:1px solid var(--color1);border-left:1px solid var(--color1);border-right:1px solid var(--color1);transition:background-color var(--fade)}#header>nav>ul>li.active,#header>nav>ul>li:hover{background-color:#fff}#header>nav>ul>li>a,#header>nav>ul>li>a:visited,#header>nav>ul>li>a:hover{display:inline-block;min-width:140px;color:var(--color4);text-decoration:none;background:none;padding:8px}#header>.logo{display:inline-block;position:relative}#header>.logo>img{margin:10px;height:56px;vertical-align:top}#header>.logo>.version{position:absolute;bottom:5px;right:10px;font-family:monospace;font-size:10px;color:#666}#header>.user-menu{float:right;margin:5px}#side-menu{width:200px;min-width:200px}#side-menu>ul{padding:0;list-style:none}#side-menu>ul>li>a{display:block;text-decoration:none;margin:5px 0;padding:8px;border-bottom-right-radius:6px;border-top-right-radius:6px;background-color:var(--color3)}#side-menu>ul>li>a:hover{background-color:var(--color4);color:var(--color3)}#side-menu>ul>li.active{font-weight:700}#content{flex-grow:1;margin:10px;min-height:250px}#content:after{content:"";display:block;padding-bottom:1px}table.table{border-spacing:0;text-align:left;overflow-x:auto}table.table table.table{font-size:90%}table.table th{white-space:nowrap;color:var(--color4);font-weight:700;border-bottom:2px solid var(--color4);margin:0;padding:.2em .5em}table.table td{margin:0;padding:.2em .5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:400px}table.table tfoot td>a{margin-left:1em}table.table.highlight>tbody>tr{transition:background-color var(--fade)}table.table.highlight>tbody>tr>td{border-bottom:1px dotted var(--color1)}table.table.highlight>tbody>tr:hover{background-color:var(--color3)}table.table tbody>tr.empty{text-align:center;color:var(--disabled)}table.table tbody>tr.empty:hover{background-color:initial}h1{color:var(--color4);font-size:130%;font-weight:700}h2{color:var(--color5);font-weight:700;font-size:120%}h3{color:var(--color5);font-size:110%}p.error{color:#a00}input::-moz-focus-inner{border:0;padding:0}input[type=button],button{background:transparent;border:0;color:var(--color4);border-radius:4px;transition:background-color var(--fade),color var(--fade);display:inline-block;vertical-align:middle}:is(input[type=button],button).primary{border:1px solid var(--color1);background-color:var(--color3)}:is(input[type=button],button).critical{border:1px solid var(--color1);background-color:var(--color3);color:#700}:is(input[type=button],button):hover:enabled{background-color:var(--color4);color:var(--color3)}:is(input[type=button],button):disabled{color:var(--disabled);cursor:not-allowed}.CodeMirror,textarea,select,input{display:block;border:1px solid var(--color1);background-color:var(--color3);border-radius:4px;transition:border-color var(--fade),background-color var(--fade)}:is(.CodeMirror,textarea,select,input).error{background-color:#efcbcf;border-color:#e6b2b7}:is(.CodeMirror,textarea,select,input):focus,:is(.CodeMirror,textarea,select,input):hover{border-color:var(--color4)}.filter{margin-bottom:.5em}.filter>input{font-size:90%;width:35em;margin:2px;padding:2px}.page-overview>h1{text-align:center}.overview-chart-group{display:flex;justify-content:center}.overview-chart-group h2{text-align:center}table.parameter-list{border-spacing:0;text-align:left}table.parameter-list th{padding:0 1em 0 0}.overview-dot>svg{margin-bottom:-.125em;margin-left:.2em;margin-right:.2em}.overview-dot>svg>circle{stroke:var(--color5);stroke-width:.08em}span.inform>*{margin-right:.5em}.pie-chart{margin:20px;text-align:center}.pie-chart>svg>path{stroke:var(--color1);stroke-width:1px}.pie-chart>svg>a{transition:opacity var(--fade);opacity:0}.pie-chart>svg>a>text{font-weight:700;opacity:.4}.pie-chart>svg>a>path{stroke:var(--color4)}.pie-chart>svg>a:hover{opacity:1}.pie-chart>.legend{text-align:left;margin:15px}.pie-chart>.legend>.legend-line>.color{height:12px;width:12px;margin-right:5px;border:1px solid var(--color1);display:inline-block}span.na{color:var(--disabled)}.all-parameters>input{font-family:monospace;font-size:14px;margin-bottom:2px;padding:4px;width:700px}.all-parameters>.parameter-list{font-family:monospace;font-size:14px;overflow-y:scroll;height:200px}.all-parameters>.parameter-list button{font-size:16px}.all-parameters>.parameter-list>table{width:100%;table-layout:fixed;border-spacing:0}.all-parameters>.parameter-list>table>tbody>tr{transition:background-color var(--fade)}.all-parameters>.parameter-list>table>tbody>tr>td{overflow:hidden;white-space:nowrap;border-bottom:1px dotted var(--color1)}.all-parameters>.parameter-list>table>tbody>tr:hover{background-color:var(--color3)}.all-parameters>.parameter-list>table>tbody>tr>td.left>*{max-width:100%}.all-parameters>.parameter-list>table>tbody>tr>td.right{text-align:right;padding-right:.5em}.container-right{float:right;clear:right}.container-full-width{clear:both}.actions-bar{margin-top:10px;margin-bottom:10px}.actions-bar>button{margin-right:10px}span.tag{display:inline-block;background-image:url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="190" height="16"><path d="M6.59 15.42l-6-6a2 2 0 0 1 0-2.83l6-6A2 2 0 0 1 8 0h180a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H8a2 2 0 0 1-1.41-.58zM4.35 6.59A2 2 0 1 0 7.17 9.4 2 2 0 0 0 4.35 6.6z" fill="%23e8d5b2"></path></svg>');background-size:cover;background-repeat:no-repeat;border-radius:.2em;padding-left:1em;padding-right:.2em}.tags>.tag{margin-right:.5em}.overlay-wrapper{position:fixed;inset:0;background-color:#0003;z-index:100;transition:opacity var(--fade),top var(--fade);display:flex;align-items:center;justify-content:center}.overlay-wrapper>.overlay{max-width:90vw;max-height:90vh;background-color:#fff;border:1px solid var(--color1);border-radius:10px;padding:10px;box-shadow:0 0 15px #aaa;overflow:auto}.overlay>.put-form{min-width:700px}.autocomplete{box-shadow:0 0 10px #ccc;background-color:#ffffffe6;border:1px solid var(--color1);border-radius:4px;max-height:300px;overflow-y:auto;transition:opacity var(--fade)}.autocomplete>.suggestion{padding:5px}.autocomplete>.suggestion.selected,.autocomplete>.suggestion:hover{background-color:var(--color3)}span.long-text{display:inline-block;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:400px;vertical-align:top}span.long-text-overflowed{cursor:pointer}span.long-text-overflowed:hover{text-decoration:underline;text-decoration-style:dotted}textarea.long-text{font-family:monospace;font-size:14px;min-width:10vw;min-height:10vh}span.parameter-value>span:empty:before{content:"blank";color:#aaa}.wizard-dialog{max-width:720px;margin:10px auto;padding:10px;border-radius:6px;border:1px solid var(--color1);box-shadow:0 0 10px #ccc}.icon{display:block;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon.icon-unsorted{opacity:.3}.loading{opacity:.6}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-overlay{display:flex;align-items:center;justify-content:center}.loading-overlay:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTEwIDUwYTQwIDQwIDAgMDA4MCAwIDQwIDQyIDAgMDEtODAgMCIgZmlsbD0iI2IxMmQ1YyIgLz48L3N2Zz4=);content:"";width:48px;height:48px;animation:spin 1s linear infinite;background-repeat:no-repeat;background-size:100% 100%}.progress{background-color:#eee;overflow:hidden;height:3px}.progress>.progress-bar{height:100%;background-color:#b12d5c}td,th{line-height:normal}
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/*# sourceMappingURL=app-7KDYOBUH.css.map */

/* Rishi Computer System - GenieACS login redesign */
body:has(form input[name="username"]):has(form input[name="password"]) {
  min-height: 100vh;
  background:
    radial-gradient(ellipse at 15% 15%, rgba(37, 99, 235, .24), transparent 42%),
    radial-gradient(ellipse at 85% 85%, rgba(14, 165, 233, .18), transparent 38%),
    linear-gradient(135deg, #071426 0%, #102b4c 52%, #071426 100%);
  color: #eaf2ff;
}

body:has(form input[name="username"]):has(form input[name="password"]) h1 {
  color: #ffffff;
  font-size: clamp(26px, 4vw, 34px);
  font-weight: 750;
  letter-spacing: -.8px;
  text-align: center;
  margin: 30px 0 20px;
}

body:has(form input[name="username"]):has(form input[name="password"]) form {
  box-sizing: border-box;
  width: min(92vw, 430px);
  margin: 0 auto 24px;
  padding: 34px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 22px;
  background: rgba(255, 255, 255, .97);
  color: #17253b;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .32);
}

body:has(form input[name="username"]):has(form input[name="password"]) form::before {
  content: "";
  display: block;
  width: 100%;
  height: 86px;
  margin: 0 auto 22px;
  background: url("/rishi-computer-system-logo.png") center / contain no-repeat;
}

body:has(form input[name="username"]):has(form input[name="password"]) form p {
  margin: 0 0 19px;
}

body:has(form input[name="username"]):has(form input[name="password"]) form label {
  display: block;
  margin-bottom: 8px;
  color: #26364d;
  font-size: 14px;
  font-weight: 650;
}

body:has(form input[name="username"]):has(form input[name="password"]) form input[name="username"],
body:has(form input[name="username"]):has(form input[name="password"]) form input[name="password"] {
  box-sizing: border-box;
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #d5dfeb;
  border-radius: 11px;
  background: #f8fafd;
  color: #15243a;
  font-size: 15px;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}

body:has(form input[name="username"]):has(form input[name="password"]) form input[name="username"]:focus,
body:has(form input[name="username"]):has(form input[name="password"]) form input[name="password"]:focus {
  border-color: #2878ed;
  box-shadow: 0 0 0 3px rgba(40, 120, 237, .13);
}

body:has(form input[name="username"]):has(form input[name="password"]) form button.primary {
  width: 100%;
  min-height: 49px;
  border: 0;
  border-radius: 11px;
  background: linear-gradient(100deg, #1764db, #2588f5);
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(37, 99, 235, .23);
  transition: transform .2s, filter .2s;
}

body:has(form input[name="username"]):has(form input[name="password"]) form button.primary:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

body:has(form input[name="username"]):has(form input[name="password"]) form button.primary:disabled {
  opacity: .65;
  cursor: wait;
}

body:has(form input[name="username"]):has(form input[name="password"]) form a {
  color: #1764db;
}

@media (max-width: 480px) {
  body:has(form input[name="username"]):has(form input[name="password"]) form {
    padding: 25px 21px;
    border-radius: 18px;
  }
}

/* Rishi Computer System — Premium GenieACS login */
body:has(form input[name="username"]):has(form input[name="password"]) {
  min-height: 100vh;
  background:
    radial-gradient(ellipse at 12% 12%, rgba(30, 100, 255, .23), transparent 42%),
    radial-gradient(ellipse at 90% 85%, rgba(0, 200, 255, .12), transparent 38%),
    linear-gradient(135deg, #07111f 0%, #0b1830 52%, #101d38 100%);
  color: #eaf1ff;
}

body:has(form input[name="username"]):has(form input[name="password"]) form {
  box-sizing: border-box;
  width: min(430px, calc(100% - 32px));
  margin: 32px auto 24px;
  padding: 34px 32px 30px;
  border: 1px solid rgba(148, 180, 255, .22);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(20, 37, 65, .96), rgba(11, 24, 44, .98));
  box-shadow: 0 28px 80px rgba(0, 0, 0, .42),
              inset 0 1px 0 rgba(255, 255, 255, .06);
}

body:has(form input[name="username"]):has(form input[name="password"]) h1 {
  margin: 30px auto 8px;
  color: #fff;
  font-size: clamp(27px, 4vw, 34px);
  font-weight: 750;
  letter-spacing: -.8px;
  text-align: center;
}

body:has(form input[name="username"]):has(form input[name="password"]) h1::after {
  content: "RISHI COMPUTER SYSTEM  •  NETWORK MANAGEMENT";
  display: block;
  margin-top: 12px;
  color: #8faedb;
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 1.5px;
}

body:has(form input[name="username"]):has(form input[name="password"]) form p {
  margin: 0 0 20px;
}

body:has(form input[name="username"]):has(form input[name="password"]) form label {
  display: block;
  margin-bottom: 9px;
  color: #d9e5fa;
  font-size: 13px;
  font-weight: 600;
}

body:has(form input[name="username"]):has(form input[name="password"]) form input[name="username"],
body:has(form input[name="username"]):has(form input[name="password"]) form input[name="password"] {
  box-sizing: border-box;
  width: 100%;
  min-height: 49px;
  padding: 12px 15px;
  border: 1px solid #304663;
  border-radius: 11px;
  outline: none;
  background: #0a1729;
  color: #fff;
  font-size: 15px;
  transition: border-color .2s, box-shadow .2s;
}

body:has(form input[name="username"]):has(form input[name="password"]) form input:focus {
  border-color: #4e91ff;
  box-shadow: 0 0 0 4px rgba(55, 125, 255, .15);
}

body:has(form input[name="username"]):has(form input[name="password"]) form button[type="submit"] {
  width: 100%;
  min-height: 49px;
  margin-top: 5px;
  border: 0;
  border-radius: 11px;
  background: linear-gradient(100deg, #2878f5, #1760d5);
  color: #fff;
  font-size: 15px;
  font-weight: 750;
  letter-spacing: .3px;
  box-shadow: 0 9px 24px rgba(25, 99, 224, .27);
  cursor: pointer;
  transition: filter .2s, transform .2s, box-shadow .2s;
}

body:has(form input[name="username"]):has(form input[name="password"]) form button[type="submit"]:hover {
  filter: brightness(1.12);
  box-shadow: 0 12px 28px rgba(25, 99, 224, .4);
}

body:has(form input[name="username"]):has(form input[name="password"]) form button[type="submit"]:active {
  transform: translateY(1px);
}

body:has(form input[name="username"]):has(form input[name="password"]) a {
  color: #83b5ff;
  text-decoration: none;
}

body:has(form input[name="username"]):has(form input[name="password"]) a:hover {
  color: #c3dcff;
  text-decoration: underline;
}

@media (max-width: 520px) {
  body:has(form input[name="username"]):has(form input[name="password"]) form {
    margin: 24px auto;
    padding: 27px 22px;
    border-radius: 18px;
  }
}

/* RCS-ACS — Light responsive theme */
body:has(form input[name="username"]):has(form input[name="password"]) {
  min-height: 100vh !important;
  background:
    radial-gradient(ellipse at 5% 0%, #dcecff 0%, transparent 42%),
    linear-gradient(145deg, #f7faff, #edf4fc 60%, #f9fbff) !important;
  color: #172b48 !important;
}

body:has(form input[name="username"]):has(form input[name="password"]) h1 {
  color: #16345b !important;
  text-align: center;
  font-size: clamp(26px, 4vw, 34px) !important;
  letter-spacing: -.7px;
}

body:has(form input[name="username"]):has(form input[name="password"]) h1::after {
  color: #607792 !important;
  font-size: 10px !important;
  line-height: 1.8;
  letter-spacing: 1.2px;
}

body:has(form input[name="username"]):has(form input[name="password"]) form {
  box-sizing: border-box;
  width: min(430px, calc(100% - 28px)) !important;
  margin: 24px auto !important;
  padding: clamp(22px, 5vw, 36px) !important;
  border: 1px solid #dce6f2 !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 18px 55px rgba(35, 70, 115, .12) !important;
}

body:has(form input[name="username"]):has(form input[name="password"]) form label {
  color: #314965 !important;
  font-size: 14px;
}

body:has(form input[name="username"]):has(form input[name="password"]) form input[name="username"],
body:has(form input[name="username"]):has(form input[name="password"]) form input[name="password"] {
  box-sizing: border-box;
  width: 100% !important;
  min-height: 48px;
  padding: 12px 14px !important;
  border: 1px solid #cfdaea !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #172b48 !important;
  font-size: 16px !important;
}

body:has(form input[name="username"]):has(form input[name="password"]) form input:focus {
  border-color: #3278df !important;
  box-shadow: 0 0 0 3px rgba(50, 120, 223, .13) !important;
}

body:has(form input[name="username"]):has(form input[name="password"]) form button[type="submit"] {
  width: 100% !important;
  min-height: 49px;
  border: 0 !important;
  border-radius: 10px !important;
  background: linear-gradient(100deg, #2878e8, #1557bd) !important;
  color: white !important;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

body:has(form input[name="username"]):has(form input[name="password"]) a {
  color: #1b64c5 !important;
}

@media (max-width: 600px) {
  body:has(form input[name="username"]):has(form input[name="password"]) h1 {
    margin-top: 20px !important;
  }
  body:has(form input[name="username"]):has(form input[name="password"]) form {
    margin: 18px auto !important;
    padding: 23px 20px !important;
    border-radius: 16px !important;
  }
}

/* ===== RCS-ACS RESPONSIVE LIGHT DASHBOARD THEME ===== */
:root {
  --color1: #dce6f2;
  --color3: #edf4ff;
  --color4: #1761bd;
  --color5: #24364d;
  --disabled: #8290a3;
}

html {
  min-height: 100%;
  background: #f4f7fc;
  -webkit-text-size-adjust: 100%;
}

body {
  min-height: 100vh;
  background: #f4f7fc !important;
  color: #24364d !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
}

#header {
  background: #ffffff !important;
  border-bottom: 1px solid #dce6f2 !important;
  box-shadow: 0 3px 16px rgba(26, 55, 94, .07);
  padding-bottom: 4px;
}

#header > .logo > img {
  max-width: min(220px, 45vw);
  object-fit: contain;
}

#header > nav {
  max-width: 100%;
  overflow-x: auto;
  scrollbar-width: thin;
}

#header > nav > ul {
  display: inline-flex;
  flex-wrap: nowrap;
  gap: 5px;
  padding: 4px 8px;
  margin: 0;
}

#header > nav > ul > li {
  flex: 0 0 auto;
  border: 1px solid transparent;
  border-radius: 9px 9px 0 0;
  background: #f0f5fc;
}

#header > nav > ul > li.active {
  background: #e5efff;
  border-color: #d3e3ff;
  border-bottom-color: #1761bd;
}

#header > nav > ul > li > a,
#header > nav > ul > li > a:visited,
#header > nav > ul > li > a:hover {
  min-width: 100px;
  padding: 11px 14px;
  color: #24456e !important;
  font-weight: 650;
  text-align: center;
}

#header > .user-menu {
  padding: 5px;
  border-radius: 9px;
}

#side-menu {
  background: #ffffff;
  border-right: 1px solid #e0e8f2;
  padding: 8px;
}

#side-menu > ul > li > a {
  margin: 3px 0;
  padding: 11px 12px;
  border-radius: 9px;
  color: #304761;
  transition: background .18s ease, color .18s ease;
}

#side-menu > ul > li > a:hover,
#side-menu > ul > li.active > a {
  background: #eaf2ff;
  color: #1559b7;
}

#content-wrapper {
  min-width: 0;
  background: #f4f7fc;
}

#content {
  min-width: 0;
  padding: 18px;
  color: #24364d;
}

h1 {
  color: #163b6c !important;
  font-size: clamp(1.25rem, 2vw, 1.65rem) !important;
  line-height: 1.35;
  margin-top: 12px;
  margin-bottom: 18px;
}

h2, h3 {
  color: #24456e !important;
}

a {
  color: #1761bd;
}

a:hover {
  color: #0e4792;
}

table.table {
  width: 100%;
  border-spacing: 0;
  background: #ffffff;
  border: 1px solid #e0e8f2;
  border-radius: 10px;
}

table.table th {
  background: #edf4ff;
  color: #24456e !important;
  padding: 12px 10px;
  border-bottom: 1px solid #d7e4f4;
}

table.table td {
  padding: 10px;
  border-bottom: 1px solid #edf1f7;
}

table.table.highlight > tbody > tr:hover {
  background: #f0f6ff !important;
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  max-width: 100%;
  box-sizing: border-box;
  border: 1px solid #ccd9e9;
  border-radius: 8px;
  padding: 9px 11px;
  background: #ffffff;
  color: #24364d;
}

input:focus,
select:focus,
textarea:focus {
  outline: 2px solid rgba(36, 112, 220, .2);
  outline-offset: 1px;
  border-color: #4789e5;
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
  min-height: 36px;
  padding: 8px 13px;
  border: 1px solid #d3dfef;
  border-radius: 8px;
  background: #edf4ff;
  color: #174e97;
  font-weight: 600;
  cursor: pointer;
  transition: background .18s ease, box-shadow .18s ease;
}

button.primary,
input[type="submit"].primary {
  background: #1761bd;
  border-color: #1761bd;
  color: #ffffff;
}

button.critical {
  color: #a32929;
  background: #fff1f1;
  border-color: #f0d0d0;
}

button:hover:enabled,
input[type="button"]:hover:enabled,
input[type="submit"]:hover:enabled {
  box-shadow: 0 2px 7px rgba(31, 76, 133, .14);
  filter: brightness(.97);
}

button:focus-visible,
a:focus-visible {
  outline: 2px solid #4789e5;
  outline-offset: 2px;
}

img, canvas, svg {
  max-width: 100%;
}

@media (max-width: 760px) {
  #header {
    padding: 8px;
  }

  #header > .logo {
    max-width: 65%;
  }

  #header > .logo > img {
    height: auto;
    max-height: 48px;
    margin: 5px;
  }

  #header > nav {
    position: relative;
    display: block;
    left: auto;
    bottom: auto;
    width: 100%;
    max-width: 100%;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }

  #header > nav > ul {
    display: flex;
    width: max-content;
    max-width: none;
    margin: 0;
    padding: 5px 0;
  }

  #header > nav > ul > li {
    border-radius: 9px;
  }

  #header > nav > ul > li > a,
  #header > nav > ul > li > a:visited,
  #header > nav > ul > li > a:hover {
    min-width: 0;
    padding: 10px 13px;
  }

  #header > .user-menu {
    max-width: 100%;
    margin: 4px 0;
  }

  #content-wrapper {
    flex-direction: column;
    overflow-x: hidden;
  }

  #side-menu {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    border-right: 0;
    border-bottom: 1px solid #e0e8f2;
    overflow-x: auto;
  }

  #side-menu > ul {
    display: flex;
    gap: 5px;
    width: max-content;
    max-width: 100%;
    margin: 0;
  }

  #side-menu > ul > li {
    flex: 0 0 auto;
  }

  #side-menu > ul > li > a {
    margin: 2px;
    padding: 9px 11px;
  }

  #content {
    padding: 12px;
    overflow-wrap: anywhere;
  }

  table.table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  table.table th,
  table.table td {
    padding: 9px 8px;
  }

  #header > .drawer-wrapper {
    width: calc(100vw - 16px);
    max-width: calc(100vw - 16px);
    left: 8px;
    margin-left: 0;
  }

  button,
  input[type="button"],
  input[type="submit"],
  select {
    min-height: 40px;
  }
}

@media (max-width: 380px) {
  #content {
    padding: 8px;
  }

  #header > nav > ul > li > a,
  #header > nav > ul > li > a:visited,
  #header > nav > ul > li > a:hover {
    padding: 9px 10px;
    font-size: 13px;
  }
}

/* ===== END RCS-ACS THEME ===== */

/* RCS-ACS: DARK BUTTONS WITH WHITE TEXT */
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.button,
.btn,
a.button,
a.btn,
[role="button"] {
  background: #172033 !important;
  background-color: #172033 !important;
  color: #ffffff !important;
  border: 1px solid #172033 !important;
  border-radius: 7px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  opacity: 1;
  transition: background-color 0.18s ease, border-color 0.18s ease;
}

button *,
.button *,
.btn *,
a.button *,
a.btn *,
[role="button"] * {
  color: #ffffff !important;
}

button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
.button:hover,
.btn:hover,
a.button:hover,
a.btn:hover,
[role="button"]:hover {
  background: #2b3a55 !important;
  background-color: #2b3a55 !important;
  color: #ffffff !important;
  border-color: #2b3a55 !important;
}

button:focus-visible,
input[type="button"]:focus-visible,
input[type="submit"]:focus-visible,
input[type="reset"]:focus-visible,
.button:focus-visible,
.btn:focus-visible,
a.button:focus-visible,
a.btn:focus-visible,
[role="button"]:focus-visible {
  outline: 2px solid #64748b !important;
  outline-offset: 2px;
}

button:disabled,
input[type="button"]:disabled,
input[type="submit"]:disabled,
input[type="reset"]:disabled,
button[disabled] {
  background: #64748b !important;
  background-color: #64748b !important;
  color: #ffffff !important;
  border-color: #64748b !important;
  cursor: not-allowed !important;
}

/* =====================================================
   RCS-ACS PREMIUM BUTTON THEME
   Modern blue + teal, accessible and responsive
   ===================================================== */

:root {
  --rcs-primary: #2563eb;
  --rcs-primary-hover: #1d4ed8;
  --rcs-primary-active: #1e40af;
  --rcs-teal: #0f9d91;
  --rcs-teal-hover: #0d8178;
  --rcs-danger: #dc3545;
  --rcs-danger-hover: #b91c2c;
  --rcs-text: #243247;
  --rcs-border: #d8e2ef;
  --rcs-button-shadow: 0 3px 8px rgba(37, 99, 235, .17);
}

/* Main buttons and common button variants */
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.btn,
.button,
button.primary,
button.secondary,
button.critical,
button.success,
button.info,
a.btn {
  box-sizing: border-box;
  min-height: 38px;
  padding: 9px 17px;
  border: 1px solid transparent;
  border-radius: 9px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .1px;
  cursor: pointer;
  transition:
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease,
    box-shadow .18s ease,
    transform .18s ease;
}

/* Default / primary action */
button,
input[type="submit"],
input[type="button"],
.btn,
.button,
button.primary,
.btn-primary,
a.btn-primary {
  color: #fff;
  background: linear-gradient(135deg, #3478f6 0%, #2458d7 100%);
  border-color: #2c65e5;
  box-shadow: var(--rcs-button-shadow);
}

/* Hover: gentle lift */
button:hover:not(:disabled),
input[type="button"]:hover:not(:disabled),
input[type="submit"]:hover:not(:disabled),
.btn:hover,
.button:hover,
button.primary:hover:not(:disabled),
.btn-primary:hover {
  color: #fff;
  background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);
  border-color: #1d4ed8;
  box-shadow: 0 6px 14px rgba(37, 99, 235, .25);
  transform: translateY(-1px);
}

/* Pressed state */
button:active:not(:disabled),
input[type="button"]:active:not(:disabled),
input[type="submit"]:active:not(:disabled),
.btn:active,
.button:active {
  transform: translateY(0);
  box-shadow: 0 1px 3px rgba(30, 64, 175, .2);
}

/* Secondary / neutral actions */
button.secondary,
button:not(.primary):not(.critical):not(.success):not(.danger).secondary,
.btn-secondary,
input[type="reset"],
button[type="reset"] {
  color: #334155;
  background: #f1f5f9;
  border-color: #d5dfeb;
  box-shadow: none;
}

button.secondary:hover:not(:disabled),
.btn-secondary:hover,
input[type="reset"]:hover:not(:disabled),
button[type="reset"]:hover:not(:disabled) {
  color: #1e40af;
  background: #e5edf8;
  border-color: #b9cbe3;
}

/* Success / apply / confirm actions */
button.success,
.btn-success,
button[data-action="save"],
button[data-action="apply"] {
  color: #fff;
  background: linear-gradient(135deg, #13a89e, #0f8179);
  border-color: #0f9488;
  box-shadow: 0 3px 8px rgba(15, 157, 145, .18);
}

button.success:hover:not(:disabled),
.btn-success:hover {
  background: linear-gradient(135deg, #0f9488, #0b6f68);
  box-shadow: 0 5px 12px rgba(15, 129, 121, .25);
}

/* Destructive actions: delete / remove */
button.critical,
button.danger,
.btn-danger,
button[data-action="delete"],
button[data-action="remove"] {
  color: #fff;
  background: linear-gradient(135deg, #ef5350, #d62839);
  border-color: #d62839;
  box-shadow: 0 3px 8px rgba(220, 53, 69, .16);
}

button.critical:hover:not(:disabled),
button.danger:hover:not(:disabled),
.btn-danger:hover {
  background: linear-gradient(135deg, #dc3545, #ad1f30);
  box-shadow: 0 5px 12px rgba(220, 53, 69, .24);
}

/* Small toolbar and table action buttons */
table button,
table .btn,
button.small,
.btn-sm {
  min-height: 30px;
  padding: 5px 10px;
  border-radius: 7px;
  font-size: 12px;
}

/* Icon-only controls */
button:has(svg:only-child),
button.icon-button,
.btn-icon {
  min-width: 36px;
  padding: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Accessible keyboard focus */
button:focus-visible,
input[type="button"]:focus-visible,
input[type="submit"]:focus-visible,
input[type="reset"]:focus-visible,
.btn:focus-visible,
.button:focus-visible,
a.btn:focus-visible {
  outline: 3px solid rgba(59, 130, 246, .35);
  outline-offset: 3px;
}

/* Disabled state */
button:disabled,
input[type="button"]:disabled,
input[type="submit"]:disabled,
input[type="reset"]:disabled,
.btn:disabled,
button[disabled] {
  opacity: .48;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* Comfortable spacing for button groups */
button + button,
.btn + .btn {
  margin-left: 4px;
}

/* Mobile-friendly button sizing */
@media (max-width: 760px) {
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  .btn,
  .button {
    min-height: 40px;
    padding: 9px 13px;
    font-size: 13px;
  }

  table button,
  table .btn,
  button.small,
  .btn-sm {
    min-height: 34px;
    padding: 6px 9px;
  }
}

/* Respect reduced-motion accessibility preferences */
@media (prefers-reduced-motion: reduce) {
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  .btn,
  .button {
    transition: none;
  }

  button:hover:not(:disabled),
  .btn:hover {
    transform: none;
  }
}

/* =====================================================
   RCS-ACS PREMIUM BUTTON THEME
   Modern blue + teal, accessible and responsive
   ===================================================== */

:root {
  --rcs-primary: #2563eb;
  --rcs-primary-hover: #1d4ed8;
  --rcs-primary-active: #1e40af;
  --rcs-teal: #0f9d91;
  --rcs-teal-hover: #0d8178;
  --rcs-danger: #dc3545;
  --rcs-danger-hover: #b91c2c;
  --rcs-text: #243247;
  --rcs-border: #d8e2ef;
  --rcs-button-shadow: 0 3px 8px rgba(37, 99, 235, .17);
}

/* Main buttons and common button variants */
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.btn,
.button,
button.primary,
button.secondary,
button.critical,
button.success,
button.info,
a.btn {
  box-sizing: border-box;
  min-height: 38px;
  padding: 9px 17px;
  border: 1px solid transparent;
  border-radius: 9px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .1px;
  cursor: pointer;
  transition:
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease,
    box-shadow .18s ease,
    transform .18s ease;
}

/* Default / primary action */
button,
input[type="submit"],
input[type="button"],
.btn,
.button,
button.primary,
.btn-primary,
a.btn-primary {
  color: #fff;
  background: linear-gradient(135deg, #3478f6 0%, #2458d7 100%);
  border-color: #2c65e5;
  box-shadow: var(--rcs-button-shadow);
}

/* Hover: gentle lift */
button:hover:not(:disabled),
input[type="button"]:hover:not(:disabled),
input[type="submit"]:hover:not(:disabled),
.btn:hover,
.button:hover,
button.primary:hover:not(:disabled),
.btn-primary:hover {
  color: #fff;
  background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);
  border-color: #1d4ed8;
  box-shadow: 0 6px 14px rgba(37, 99, 235, .25);
  transform: translateY(-1px);
}

/* Pressed state */
button:active:not(:disabled),
input[type="button"]:active:not(:disabled),
input[type="submit"]:active:not(:disabled),
.btn:active,
.button:active {
  transform: translateY(0);
  box-shadow: 0 1px 3px rgba(30, 64, 175, .2);
}

/* Secondary / neutral actions */
button.secondary,
button:not(.primary):not(.critical):not(.success):not(.danger).secondary,
.btn-secondary,
input[type="reset"],
button[type="reset"] {
  color: #334155;
  background: #f1f5f9;
  border-color: #d5dfeb;
  box-shadow: none;
}

button.secondary:hover:not(:disabled),
.btn-secondary:hover,
input[type="reset"]:hover:not(:disabled),
button[type="reset"]:hover:not(:disabled) {
  color: #1e40af;
  background: #e5edf8;
  border-color: #b9cbe3;
}

/* Success / apply / confirm actions */
button.success,
.btn-success,
button[data-action="save"],
button[data-action="apply"] {
  color: #fff;
  background: linear-gradient(135deg, #13a89e, #0f8179);
  border-color: #0f9488;
  box-shadow: 0 3px 8px rgba(15, 157, 145, .18);
}

button.success:hover:not(:disabled),
.btn-success:hover {
  background: linear-gradient(135deg, #0f9488, #0b6f68);
  box-shadow: 0 5px 12px rgba(15, 129, 121, .25);
}

/* Destructive actions: delete / remove */
button.critical,
button.danger,
.btn-danger,
button[data-action="delete"],
button[data-action="remove"] {
  color: #fff;
  background: linear-gradient(135deg, #ef5350, #d62839);
  border-color: #d62839;
  box-shadow: 0 3px 8px rgba(220, 53, 69, .16);
}

button.critical:hover:not(:disabled),
button.danger:hover:not(:disabled),
.btn-danger:hover {
  background: linear-gradient(135deg, #dc3545, #ad1f30);
  box-shadow: 0 5px 12px rgba(220, 53, 69, .24);
}

/* Small toolbar and table action buttons */
table button,
table .btn,
button.small,
.btn-sm {
  min-height: 30px;
  padding: 5px 10px;
  border-radius: 7px;
  font-size: 12px;
}

/* Icon-only controls */
button:has(svg:only-child),
button.icon-button,
.btn-icon {
  min-width: 36px;
  padding: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Accessible keyboard focus */
button:focus-visible,
input[type="button"]:focus-visible,
input[type="submit"]:focus-visible,
input[type="reset"]:focus-visible,
.btn:focus-visible,
.button:focus-visible,
a.btn:focus-visible {
  outline: 3px solid rgba(59, 130, 246, .35);
  outline-offset: 3px;
}

/* Disabled state */
button:disabled,
input[type="button"]:disabled,
input[type="submit"]:disabled,
input[type="reset"]:disabled,
.btn:disabled,
button[disabled] {
  opacity: .48;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* Comfortable spacing for button groups */
button + button,
.btn + .btn {
  margin-left: 4px;
}

/* Mobile-friendly button sizing */
@media (max-width: 760px) {
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  .btn,
  .button {
    min-height: 40px;
    padding: 9px 13px;
    font-size: 13px;
  }

  table button,
  table .btn,
  button.small,
  .btn-sm {
    min-height: 34px;
    padding: 6px 9px;
  }
}

/* Respect reduced-motion accessibility preferences */
@media (prefers-reduced-motion: reduce) {
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  .btn,
  .button {
    transition: none;
  }

  button:hover:not(:disabled),
  .btn:hover {
    transform: none;
  }
}

/* RCS-ACS FINAL BUTTON OVERRIDES - GenieACS native selectors */

/* Standard action buttons */
:is(input[type="button"], input[type="submit"], button) {
  box-sizing: border-box !important;
  min-height: 36px !important;
  padding: 8px 15px !important;
  border: 1px solid #2563eb !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #3b82f6, #1d4ed8) !important;
  font-weight: 600 !important;
  box-shadow: 0 3px 8px rgba(37, 99, 235, .18) !important;
  transition: background .18s ease, box-shadow .18s ease,
              transform .18s ease !important;
  cursor: pointer !important;
}

/* Primary actions: strong blue */
:is(input[type="button"], button).primary {
  color: #ffffff !important;
  background: linear-gradient(135deg, #3b82f6, #1d4ed8) !important;
  border-color: #2563eb !important;
}

/* Destructive actions: red */
:is(input[type="button"], button).critical {
  color: #ffffff !important;
  background: linear-gradient(135deg, #ef4444, #b91c1c) !important;
  border-color: #dc2626 !important;
}

/* Hover effect */
:is(input[type="button"], input[type="submit"], button):hover:enabled {
  color: #ffffff !important;
  background: linear-gradient(135deg, #1d4ed8, #1e40af) !important;
  border-color: #1e40af !important;
  box-shadow: 0 5px 12px rgba(37, 99, 235, .28) !important;
  transform: translateY(-1px);
}

/* Critical hover stays red */
:is(input[type="button"], button).critical:hover:enabled {
  background: linear-gradient(135deg, #dc2626, #991b1b) !important;
  border-color: #991b1b !important;
}

/* Keyboard focus */
:is(input[type="button"], input[type="submit"], button):focus-visible {
  outline: 3px solid rgba(59, 130, 246, .4) !important;
  outline-offset: 2px !important;
}

/* Disabled buttons */
:is(input[type="button"], input[type="submit"], button):disabled {
  opacity: .5 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Compact controls in parameter lists */
.all-parameters .parameter-list button {
  min-height: 30px !important;
  padding: 5px 9px !important;
  border-radius: 6px !important;
}

/* Mobile sizing */
@media (max-width: 760px) {
  :is(input[type="button"], input[type="submit"], button) {
    min-height: 40px !important;
    padding: 9px 12px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(input[type="button"], input[type="submit"], button) {
    transition: none !important;
  }
}

/* =====================================================
   RCS-ACS MOBILE RESPONSIVE PATCH
   ===================================================== */

@media screen and (max-width: 760px) {
  html,
  body {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body {
    height: auto !important;
    min-height: 100vh !important;
  }

  /* Header and branding */
  #header {
    width: 100% !important;
    box-sizing: border-box !important;
    padding-bottom: 0 !important;
  }

  #header > .logo {
    max-width: 65% !important;
  }

  #header > .logo > img {
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    max-height: 48px !important;
    margin: 8px !important;
  }

  #header > .user-menu {
    float: right !important;
    max-width: 35% !important;
    margin: 8px 5px !important;
  }

  /* Main tabs become a horizontal swipe menu */
  #header > nav {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch;
  }

  #header > nav > ul {
    display: flex !important;
    width: max-content !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 5px !important;
  }

  #header > nav > ul > li {
    display: block !important;
    flex: 0 0 auto !important;
    margin: 0 2px !important;
  }

  #header > nav > ul > li > a,
  #header > nav > ul > li > a:visited,
  #header > nav > ul > li > a:hover {
    min-width: 0 !important;
    padding: 11px 13px !important;
    white-space: nowrap !important;
  }

  /* Keep the task queue inside the phone viewport */
  #header > .drawer-wrapper {
    position: fixed !important;
    top: 4px !important;
    left: 8px !important;
    right: 8px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  #header > .drawer-wrapper > .drawer {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  #header > .drawer-wrapper > .drawer .parameter {
    max-width: 45vw !important;
    overflow-wrap: anywhere !important;
  }

  /* Sidebar becomes a horizontal scrollable menu */
  #content-wrapper {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
  }

  #side-menu {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
  }

  #side-menu > ul {
    display: flex !important;
    width: max-content !important;
    min-width: 100% !important;
    margin: 0 !important;
    padding: 4px 6px !important;
    gap: 5px !important;
  }

  #side-menu > ul > li {
    flex: 0 0 auto !important;
  }

  #side-menu > ul > li > a {
    margin: 2px 0 !important;
    padding: 9px 12px !important;
    border-radius: 8px !important;
    white-space: nowrap !important;
  }

  /* Main page content */
  #content {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 10px !important;
    box-sizing: border-box !important;
    overflow-wrap: anywhere !important;
  }

  #content h1,
  #content h2,
  #content h3 {
    overflow-wrap: anywhere !important;
  }

  /* Device and fault tables scroll horizontally */
  table.table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
  }

  table.table th,
  table.table td {
    max-width: 240px !important;
  }

  /* Search and filter fields */
  .filter,
  .filter > input {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  input,
  select,
  textarea,
  .CodeMirror {
    box-sizing: border-box !important;
    max-width: 100% !important;
  }

  /* Parameter editor and forms */
  .all-parameters {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .all-parameters > input {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .overlay-wrapper {
    padding: 8px !important;
    box-sizing: border-box !important;
  }

  .overlay-wrapper > .overlay {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: 90dvh !important;
    box-sizing: border-box !important;
    overflow: auto !important;
  }

  .overlay > .put-form,
  .wizard-dialog {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Charts and grouped content */
  .overview-chart-group {
    flex-wrap: wrap !important;
    max-width: 100% !important;
  }

  .pie-chart {
    max-width: 100% !important;
    margin: 10px auto !important;
    overflow-x: auto !important;
  }

  .all-parameters > .parameter-list {
    max-width: 100% !important;
    overflow: auto !important;
  }

  /* Prevent long URLs and values from stretching the page */
  pre,
  code,
  .long-text,
  .parameter-value {
    overflow-wrap: anywhere !important;
  }
}

@media screen and (max-width: 420px) {
  #header > .logo > img {
    max-height: 38px !important;
    margin: 6px !important;
  }

  #content {
    margin: 7px !important;
  }

  table.table th,
  table.table td {
    padding: 6px !important;
  }

  #header > nav > ul > li > a,
  #header > nav > ul > li > a:visited,
  #header > nav > ul > li > a:hover {
    padding: 10px !important;
  }
}
