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 */

/* ================================================================
   GenieACS — Light Green Professional Theme
   ================================================================ */

:root {
  --bg-base:    #f0f7f2;
  --bg-card:    #ffffff;
  --bg-header:  #ffffff;
  --bg-sidebar: #1a3d2b;
  --border:     #d1e8da;
  --accent:     #16a34a;
  --accent-d:   #15803d;
  --accent-lt:  #f0fdf4;
  --accent-2:   #22c55e;
  --text-1:     #0f2d1a;
  --text-2:     #4b7a5e;
  --text-3:     #86a898;
  --color1:     #d1e8da;
  --color2:     #a7c8b5;
  --color3:     #f0fdf4;
  --color4:     #16a34a;
  --color5:     #0f2d1a;
  --fade:       .15s;
  --disabled:   #9ab8a8;
  --sh-sm:      0 1px 3px rgba(22,163,74,.08), 0 1px 2px rgba(0,0,0,.04);
  --sh-md:      0 4px 16px rgba(22,163,74,.1), 0 2px 6px rgba(0,0,0,.06);
  --r:          9px;
  --status-red:    0 72% 51%;
  --status-green:  142 71% 40%;
  --status-gray:   150 10% 60%;
  --status-yellow: 43 96% 50%;
}

/* ── Base ───────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

body, input, button, select, option, textarea {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
               "Helvetica Neue", Arial, sans-serif;
  color: var(--text-1);
  font-size: 13.5px;
}

body { background: var(--bg-base); }

a { color: var(--accent); cursor: pointer;
    transition: all var(--fade); text-decoration: none; }
a:visited { color: var(--accent); }
a:hover { color: var(--accent-d); background-color: var(--accent-lt);
           border-radius: 3px; }

/* ── Header ─────────────────────────────────────────────────── */
#header {
  background: var(--bg-header);
  border-bottom: 2px solid var(--accent);
  box-shadow: 0 2px 8px rgba(22,163,74,.08);
  min-height: 58px;
}

#header > .logo > img { height: 36px; margin: 10px 14px; }
#header > .logo > .version {
  position: absolute; bottom: 6px; right: 8px;
  font-size: 9px; color: var(--text-3);
  background: var(--accent-lt); border: 1px solid var(--border);
  padding: 1px 6px; border-radius: 10px; font-family: monospace;
}

/* Nav tabs */
#header > nav {
  display: inline-block; overflow: visible;
  position: absolute; bottom: -2px;
}
#header > nav > ul {
  display: inline-block; margin: 0 10px; padding: 0; font-weight: 600;
}
#header > nav > ul > li {
  display: inline-block; margin: 0 1px;
  background: transparent; border: none; border-radius: 0;
}
#header > nav > ul > li > a,
#header > nav > ul > li > a:visited,
#header > nav > ul > li > a:hover {
  display: inline-block; min-width: 100px;
  color: var(--text-2); text-decoration: none; background: none;
  padding: 9px 16px; font-size: 13px; font-weight: 500;
  border-bottom: 2px solid transparent; transition: all var(--fade);
}
#header > nav > ul > li:hover > a {
  color: var(--accent); background: var(--accent-lt);
}
#header > nav > ul > li.active > a,
#header > nav > ul > li.active > a:hover {
  color: var(--accent-d); background: var(--accent-lt);
  border-bottom-color: var(--accent); font-weight: 700;
}

/* User menu */
#header > .user-menu { float: right; margin: 10px 14px; }
#header > .user-menu a,
#header > .user-menu a:visited {
  color: var(--accent-d); background: var(--accent-lt);
  border: 1px solid var(--border); padding: 5px 14px;
  border-radius: 6px; font-size: 12.5px; font-weight: 600;
  transition: all var(--fade);
}
#header > .user-menu a:hover {
  background: var(--accent); color: #fff;
  box-shadow: 0 2px 8px rgba(22,163,74,.25);
}

/* Drawer */
#header > .drawer-wrapper > .drawer {
  background: rgba(255,255,255,.98);
  border: 1px solid var(--border); border-top: none;
  border-bottom-left-radius: var(--r); border-bottom-right-radius: var(--r);
  box-shadow: 0 8px 24px rgba(0,0,0,.1);
}
#header > .drawer-wrapper > .notifications-wrapper > .notification {
  background: rgba(255,255,255,.98); border: 1px solid var(--border);
  border-radius: var(--r); box-shadow: var(--sh-md);
}
#header > .drawer-wrapper > .notifications-wrapper > .notification.error {
  background: #fef2f2; border-color: #fca5a5;
}
#header > .drawer-wrapper > .notifications-wrapper > .notification.success {
  background: var(--accent-lt); border-color: #86efac;
}

/* ── Sidebar ─────────────────────────────────────────────────── */
#side-menu {
  background: var(--bg-sidebar);
  width: 210px; min-width: 210px;
  box-shadow: 2px 0 8px rgba(0,0,0,.12);
}
#side-menu > ul { padding: 14px 10px; list-style: none; }
#side-menu > ul > li { margin: 2px 0; }
#side-menu > ul > li > a {
  display: block; text-decoration: none;
  padding: 9px 14px; border-radius: 7px;
  background: transparent; color: #7baa8e;
  font-size: 13.5px; font-weight: 500;
  transition: all var(--fade);
  border-left: 3px solid transparent;
}
#side-menu > ul > li > a:hover {
  background: rgba(255,255,255,.07);
  color: #c8e6d4; border-left-color: rgba(34,197,94,.4);
}
#side-menu > ul > li.active > a {
  background: var(--accent); color: #fff;
  border-left-color: var(--accent-2); font-weight: 600;
  box-shadow: 0 2px 8px rgba(22,163,74,.35);
}

/* ── Content ─────────────────────────────────────────────────── */
#content-wrapper { background: var(--bg-base); }
#content { margin: 22px 26px; }

h1 {
  color: var(--text-1); font-size: 20px; font-weight: 700;
  letter-spacing: -.01em; margin: 0 0 20px;
  padding-bottom: 12px; border-bottom: 2px solid var(--accent);
}
h2 { color: var(--text-1); font-weight: 700; font-size: 14px; }
h3 { color: var(--text-2); font-size: 12px; font-weight: 700;
     text-transform: uppercase; letter-spacing: .05em; }

/* ── Tables ─────────────────────────────────────────────────── */
table.table {
  border-spacing: 0; text-align: left;
  background: var(--bg-card);
  border-radius: var(--r); overflow: hidden;
  border: 1px solid var(--border);
  box-shadow: var(--sh-sm); width: 100%;
}
table.table th {
  background: var(--bg-sidebar);
  color: #c8e6d4;
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .07em;
  padding: 12px 16px; border-bottom: none; white-space: nowrap;
}
table.table td {
  padding: 10px 16px; color: var(--text-1); font-size: 13px;
  border-bottom: 1px solid #eef7f2;
  overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap; max-width: 380px; vertical-align: middle;
}
table.table tfoot td > a { margin-left: 8px; }
table.table.highlight > tbody > tr { transition: background var(--fade); }
table.table.highlight > tbody > tr > td { border-bottom: 1px solid #eef7f2; }
table.table.highlight > tbody > tr:hover { background: var(--accent-lt) !important; }
table.table tbody > tr.empty { text-align: center; color: var(--text-3); }
table.table tbody > tr.empty:hover { background: transparent !important; }
table.table.highlight > tbody > tr:last-child > td { border-bottom: none; }
table.table table.table { font-size: 92%; box-shadow: none; border-radius: 6px; }

/* ── Inputs ─────────────────────────────────────────────────── */
.CodeMirror, textarea, select, input {
  background: #fff; border: 1.5px solid var(--border);
  color: var(--text-1); border-radius: 7px;
  transition: border-color var(--fade), box-shadow var(--fade);
}
:is(.CodeMirror, textarea, select, input):focus,
:is(.CodeMirror, textarea, select, input):hover {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(22,163,74,.12);
}
:is(.CodeMirror, textarea, select, input).error {
  background: #fef2f2; border-color: #f87171;
}
.filter { margin-bottom: 14px; }
.filter > input { width: 360px; padding: 8px 12px; font-size: 13px; }

/* ── Buttons ─────────────────────────────────────────────────── */
input[type=button], button {
  font-family: inherit; font-size: 13px; font-weight: 500;
  padding: 7px 16px; border-radius: 7px;
  border: 1.5px solid transparent; cursor: pointer;
  transition: all var(--fade); color: var(--accent); background: transparent;
}
:is(input[type=button], button).primary {
  background: var(--accent-lt); border-color: var(--border); color: var(--accent-d);
}
:is(input[type=button], button).critical {
  background: #fef2f2; border-color: #fca5a5; color: #dc2626;
}
:is(input[type=button], button):hover:enabled {
  background: var(--accent); border-color: var(--accent); color: #fff;
  box-shadow: 0 2px 8px rgba(22,163,74,.3); transform: translateY(-1px);
}
:is(input[type=button], button):disabled { color: var(--disabled); cursor: not-allowed; }

/* ── Actions ─────────────────────────────────────────────────── */
.actions-bar { margin: 14px 0; }
.actions-bar > button { margin-right: 8px; }

/* ── Overview charts ─────────────────────────────────────────── */
.page-overview > h1 { text-align: left; }

.overview-chart-group {
  display: flex; flex-wrap: wrap;
  justify-content: flex-start; gap: 16px; margin-bottom: 24px;
}
.overview-chart-group h2 {
  width: 100%; flex-basis: 100%; text-align: left;
  font-size: 11px; font-weight: 700; color: var(--text-3);
  text-transform: uppercase; letter-spacing: .07em;
  margin: 0 0 4px; padding-bottom: 8px; border-bottom: 1px solid var(--border);
}

.pie-chart {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--r);
  box-shadow: var(--sh-sm);
  padding: 16px; margin: 0; min-width: 210px;
  text-align: center;
  transition: border-color var(--fade), box-shadow var(--fade), transform var(--fade);
}
.pie-chart:hover {
  border-color: var(--accent);
  box-shadow: var(--sh-md);
  transform: translateY(-2px);
}

.pie-chart > svg > path { stroke: var(--bg-card); stroke-width: 2px; }
.pie-chart > svg > a > path { stroke: var(--accent); }
.pie-chart > svg > a { transition: opacity var(--fade); opacity: 0; }
.pie-chart > svg > a:hover { opacity: 1; }
.pie-chart > svg > a > text {
  fill: var(--text-1); font-size: 11px; font-weight: 700;
}

.pie-chart > .legend { text-align: left; margin: 10px 2px 2px; }
.pie-chart > .legend > .legend-line {
  display: flex; align-items: center; gap: 7px;
  padding: 3px 0; font-size: 12px; color: var(--text-2);
  transition: color var(--fade);
}
.pie-chart > .legend > .legend-line:hover { color: var(--text-1); }
.pie-chart > .legend > .legend-line > .color {
  width: 9px; height: 9px; border-radius: 2px;
  border: none !important; flex-shrink: 0;
}
.pie-chart > .legend > .legend-line > a {
  color: var(--accent-d); font-weight: 700;
  font-size: 13px; margin-left: auto;
}
.pie-chart > .legend > .legend-line > a:hover {
  color: var(--accent); background: transparent;
}
span.legend-total {
  display: block; text-align: center; font-size: 11px;
  color: var(--text-3); margin-top: 8px;
  padding-top: 6px; border-top: 1px solid var(--border);
}

/* ── Tags ─────────────────────────────────────────────────────── */
span.tag {
  background: var(--accent-lt); color: var(--accent-d);
  border: 1px solid #bbf7d0; border-radius: 20px;
  padding: 2px 10px; font-size: 11.5px; font-weight: 500;
  background-image: none;
}
.tags > .tag { margin-right: 4px; }

/* ── Overlay ─────────────────────────────────────────────────── */
.overlay-wrapper { background: rgba(0,0,0,.35); backdrop-filter: blur(4px); }
.overlay-wrapper > .overlay {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 12px; padding: 22px 26px;
  box-shadow: 0 20px 60px rgba(0,0,0,.15);
  max-width: 90vw; max-height: 90vh; overflow: auto;
}

/* ── Autocomplete ────────────────────────────────────────────── */
.autocomplete {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 8px; box-shadow: var(--sh-md);
}
.autocomplete > .suggestion { padding: 7px 12px; font-size: 13px; color: var(--text-1); }
.autocomplete > .suggestion.selected,
.autocomplete > .suggestion:hover { background: var(--accent-lt); color: var(--accent-d); }

/* ── Progress ─────────────────────────────────────────────────── */
.progress { background: #dcfce7; border-radius: 20px; height: 4px; }
.progress > .progress-bar { background: var(--accent); border-radius: 20px; }

/* ── Errors ──────────────────────────────────────────────────── */
p.error { color: #dc2626; font-size: 13px; }
span.na { color: var(--disabled); font-style: italic; }

/* ── CodeMirror ──────────────────────────────────────────────── */
.CodeMirror { background: #fff; color: var(--text-1); border-radius: 7px; }
.CodeMirror-gutters { background: var(--accent-lt); border-right: 1px solid var(--border); }
.CodeMirror-linenumber { color: var(--text-3); }

/* ── Scrollbar ───────────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #a7d7b8; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: var(--accent); }

/* ── Wizard ──────────────────────────────────────────────────── */
.wizard-dialog {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 12px; box-shadow: var(--sh-md); padding: 20px 24px;
}
/* ================================================================ */
