:root{--green-deep:#1f6b22;--green:#1f7a24;--green-bright:#2a8c2a;--green-tile-bg:#e9f2e3;--green-tile-border:#cfe2c4;--border-green:#bfd8b2;--ink:#26321f;--ink-soft:#2a3324;--muted:#75705c;--muted-strong:#8a8166;--label:#9a9074;--card-bg:#fcf9f1;--page-bg:#faf8f2;--dot:#e9e1cc;--header-bg:#fdfcf8;--header-border:#e7dfcc;--input-border:#d8cdb2;--danger:#a4442e;--danger-border:#c05a40;--danger-bg:#f9ece7;--status-ok:#2a8c2a;--status-warn:#d9932c;--status-off:#8a8a8a}*{box-sizing:border-box}html,body{background:var(--page-bg);margin:0;padding:0}body,input,textarea,button{font-family:Karla,sans-serif}#root{min-height:100vh}.app-shell{background-color:var(--page-bg);background-image:radial-gradient(var(--dot) 1px, transparent 1px);min-height:100vh;color:var(--ink-soft);background-size:24px 24px}.app-main{max-width:1120px;margin:0 auto;padding:48px 32px 80px}@media (width<=1024px){.app-main{padding:40px 24px 64px}}@media (width<=640px){.app-main{padding:28px 16px 56px}}input:focus,textarea:focus{outline:none;box-shadow:0 0 0 3px #2a8c2a1f;border-color:var(--green-bright)!important}:focus-visible{outline:2px solid var(--green-bright);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@keyframes dlgIn{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.login-shell{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--card-bg);border:1px solid var(--border-green);border-radius:20px;flex-direction:column;align-items:center;gap:18px;width:380px;max-width:100%;padding:40px 32px 32px;display:flex;box-shadow:0 2px 6px #2d46230f,0 8px 20px #2d46230d}.login-logo{object-fit:contain;width:64px;height:64px}.login-heading{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.login-title{color:var(--green-deep);letter-spacing:.02em;font-family:Marcellus,serif;font-size:24px}.login-subtitle{letter-spacing:.14em;text-transform:uppercase;color:var(--label);font-size:13px;font-weight:600}.login-form{flex-direction:column;gap:14px;width:100%;margin-top:8px;display:flex}.login-label{flex-direction:column;gap:6px;width:100%;display:flex}.login-label span{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-strong);font-size:12px;font-weight:700}.login-label input{border:1px solid var(--input-border);color:var(--ink-soft);background:#fff;border-radius:10px;padding:11px 14px;font-size:15px}.login-error{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600}.login-submit{border:1px solid var(--green);background:var(--green);color:var(--card-bg);cursor:pointer;border-radius:999px;margin-top:4px;padding:11px 18px;font-size:14px;font-weight:700;transition:background .15s}.login-submit:hover{background:var(--green-bright)}.login-submit:disabled{opacity:.6;cursor:default}.app-header{border-bottom:1px solid var(--header-border);background:var(--header-bg)}.app-header-inner{flex-wrap:wrap;align-items:center;gap:18px;max-width:1120px;margin:0 auto;padding:20px 32px;display:flex}.app-header-logo{object-fit:contain;flex-shrink:0;width:64px;height:64px}.app-header-titles{flex-direction:column;gap:2px;display:flex}.app-header-title{color:var(--green-deep);letter-spacing:.02em;font-family:Marcellus,serif;font-size:26px;line-height:1.1}.app-header-subtitle{letter-spacing:.14em;text-transform:uppercase;color:var(--label);font-size:14px;font-weight:600}.app-header-nav{border:1px solid var(--header-border);background:#f1ecdd;border-radius:999px;align-items:center;gap:6px;margin-left:28px;padding:5px;display:flex}.app-header-nav button{cursor:pointer;color:var(--muted-strong);background:0 0;border:none;border-radius:999px;padding:8px 18px;font-size:14px;font-weight:700;transition:all .15s}.app-header-nav button.active{color:var(--green-deep);background:#fff;box-shadow:0 1px 3px #2d462326}.app-header-spacer{flex:1}.app-header-actions{display:contents}.app-header-btn{cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:700;transition:all .15s;display:flex}.app-header-edit{color:#4c6b3c;background:0 0;border:1px solid #c7bb9c}.app-header-edit:hover{background:#4c6b3c1a}.app-header-edit.active{border-color:var(--green);background:var(--green);color:var(--card-bg)}.app-header-edit.active:hover{background:#256b27}.app-header-logout{border:1px solid var(--green);background:var(--green);color:#fff}.app-header-logout:hover{background:#256b27}@media (width<=1024px){.app-header-inner{padding:18px 24px}.app-header-nav{order:3;justify-content:flex-start;width:100%;margin-left:0;overflow-x:auto}.app-header-nav button{white-space:nowrap}.app-header-spacer{display:none}.app-header-actions{order:2;gap:8px;width:100%;display:flex}}@media (width<=640px){.app-header-inner{gap:12px;padding:14px 16px}.app-header-logo{width:48px;height:48px}.app-header-title{font-size:22px}.app-header-nav button{padding:8px 14px}.app-header-btn{padding:9px 14px}}.edit-banner{color:#2e6b2e;background:#edf4e8;border:1px solid #c9ddbe;border-radius:12px;margin-bottom:24px;padding:12px 18px;font-size:14px;font-weight:600}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;display:grid}.card-tile{background:var(--card-bg);border:1px solid var(--border-green);color:inherit;cursor:pointer;border-radius:18px;flex-direction:column;gap:16px;min-height:200px;padding:30px 28px 26px;text-decoration:none;transition:all .2s;display:flex;position:relative;box-shadow:0 2px 6px #2d46230f,0 8px 20px #2d46230d}.card-tile:hover{border-color:var(--green-bright);transform:translateY(-4px);box-shadow:0 6px 16px #28501e1f,0 18px 40px #28501e24}.card-tile-icon{background:var(--green-tile-bg);border:1px solid var(--green-tile-border);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:58px;height:58px;display:flex}.card-tile.hidden-card{opacity:.6;border-style:dashed}.card-tile-hidden-badge{color:#7a6a3c;letter-spacing:.04em;text-transform:uppercase;background:#efe6cf;border:1px solid #d8c79c;border-radius:999px;align-self:flex-start;padding:3px 10px;font-family:Karla,sans-serif;font-size:11px;font-weight:700}.card-tile-icon-img{object-fit:contain}.card-tile-body{flex-direction:column;flex:1;gap:6px;display:flex}.card-tile-title{color:var(--ink);overflow-wrap:anywhere;font-family:Marcellus,serif;font-size:22px;line-height:1.2}.card-tile-desc{color:var(--muted);overflow-wrap:anywhere;font-size:15px;line-height:1.5}.card-tile-open{color:var(--green);align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.card-tile-actions{gap:6px;display:flex;position:absolute;top:12px;right:12px}.card-tile-action{border:1px solid var(--input-border);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;transition:all .15s;display:flex}.card-tile-action.edit{color:#4c6b3c}.card-tile-action.edit:hover{border-color:var(--green-bright);background:#edf4e8}.card-tile-action.delete{color:var(--danger)}.card-tile-action.delete:hover{background:var(--danger-bg);border-color:var(--danger-border)}.card-tile-add{min-height:200px;color:var(--muted-strong);cursor:pointer;background:0 0;border:2px dashed #c7bb9c;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:28px;font-size:15px;font-weight:700;transition:all .18s;display:flex}.card-tile-add:hover{border-color:var(--green-bright);color:var(--green);background:#f7f4e9}.card-tile-add-icon{border:1.5px solid;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex}@media (width<=640px){.cards-grid{grid-template-columns:1fr;gap:16px}.card-tile{min-height:0;padding:24px 22px 22px}}.server-tab{flex-direction:column;gap:24px;display:flex}.server-stats-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;display:grid}.server-card{background:var(--card-bg);border:1px solid var(--border-green);border-radius:18px;flex-direction:column;gap:14px;padding:26px 28px;display:flex;box-shadow:0 2px 6px #2d46230f,0 8px 20px #2d46230d}.server-card-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted-strong);font-size:12px;font-weight:700}.server-card-label-row{justify-content:space-between;align-items:baseline;display:flex}.server-card-label-row .server-card-sub{color:var(--muted-strong);font-size:13px}.server-state-row{align-items:center;gap:12px;display:flex}.server-state-dot{border-radius:50%;width:14px;height:14px}.state-dot--ok{background:var(--status-ok);box-shadow:0 0 0 5px color-mix(in srgb, var(--status-ok) 15%, transparent)}.state-dot--warn{background:var(--status-warn);box-shadow:0 0 0 5px color-mix(in srgb, var(--status-warn) 15%, transparent)}.state-dot--crit{background:var(--danger);box-shadow:0 0 0 5px color-mix(in srgb, var(--danger) 15%, transparent)}.state-dot--off{background:var(--status-off);box-shadow:0 0 0 5px color-mix(in srgb, var(--status-off) 15%, transparent)}.server-state-label{color:var(--ink);font-family:Marcellus,serif;font-size:32px;line-height:1}.server-card-hint{color:var(--muted);font-size:14px}.server-card-footer{color:var(--muted-strong);gap:18px;margin-top:auto;font-size:13px;display:flex}.server-card-footer b{color:#4c6b3c}.server-value-row{align-items:baseline;gap:8px;display:flex}.server-value{color:var(--ink);font-family:Marcellus,serif;font-size:32px;line-height:1}.server-value-sub{color:var(--muted);font-size:14px}.server-bar-track{background:#ebe4d2;border-radius:999px;height:10px;overflow:hidden}.server-bar-fill{background:linear-gradient(90deg,#2a8c2a,#1f7a24);border-radius:999px;height:100%;transition:width .6s}.server-bar-footer{color:var(--muted-strong);justify-content:space-between;font-size:13px;display:flex}.server-bar-footer b{color:#4c6b3c}.server-chart{width:100%;height:80px;display:block}.docker-card{background:var(--card-bg);border:1px solid var(--border-green);border-radius:18px;flex-direction:column;padding:26px 28px;display:flex;box-shadow:0 2px 6px #2d46230f,0 8px 20px #2d46230d}.docker-header{justify-content:space-between;align-items:baseline;margin-bottom:16px;display:flex}.docker-grid{grid-template-columns:auto 1fr 1fr auto auto auto;align-items:center;gap:12px 20px;font-size:14px;display:grid}.systemd-grid{grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px 20px;font-size:14px;display:grid}.docker-row,.systemd-row{display:contents}.docker-dot{background:var(--status-ok);border-radius:50%;width:9px;height:9px}.docker-dot--off{background:var(--status-off)}.docker-name{color:var(--ink);overflow-wrap:anywhere;font-weight:700}.docker-image{color:var(--muted);overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:13px}.docker-status{color:var(--muted);overflow-wrap:anywhere}.docker-badge{background:var(--green-tile-bg);border:1px solid var(--green-tile-border);color:var(--green);border-radius:999px;justify-self:start;padding:3px 10px;font-size:12px;font-weight:700}.docker-badge--off{color:#7a6a3c;background:#efe6cf;border-color:#d8c79c}.docker-actions{justify-self:start;gap:8px;display:flex}.docker-action-btn{color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:5px 14px;font-size:12px;font-weight:700}.docker-action-btn:disabled{opacity:.5;cursor:not-allowed}.docker-action-btn--start{background:#2a8c2a}.docker-action-btn--stop{background:var(--danger)}.docker-action-btn--restart{border:1px solid var(--input-border);color:#4c6b3c;background:0 0}.docker-action-btn--restart:hover:not(:disabled){border-color:var(--green-bright);background:var(--green-tile-bg)}@media (width>=1025px){.docker-grid,.systemd-grid{row-gap:0}.docker-row,.systemd-row{grid-template-columns:subgrid;border-radius:10px;grid-column:1/-1;align-items:center;padding:10px 8px;display:grid}.docker-row+.docker-row,.systemd-row+.systemd-row{border-top:1px solid var(--green-tile-border)}.docker-row:hover,.systemd-row:hover{background:color-mix(in srgb, var(--green-tile-bg) 55%, transparent)}}@media (width<=1024px){.docker-grid,.systemd-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.docker-row{border:1px solid var(--border-green);background:var(--green-tile-bg);border-radius:12px;grid-template-columns:auto 1fr auto;grid-template-areas:"dot name badge""image image image""status status status""action action action";align-content:start;align-items:center;gap:6px 10px;padding:14px 14px 12px;display:grid}.systemd-row{border:1px solid var(--border-green);background:var(--green-tile-bg);border-radius:12px;grid-template-columns:auto 1fr auto;grid-template-areas:"dot name badge""action action action";align-content:start;align-items:center;gap:8px 10px;padding:14px;display:grid}.docker-row .docker-dot,.systemd-row .docker-dot{grid-area:dot}.docker-row .docker-name,.systemd-row .docker-name{grid-area:name}.docker-row .docker-image{grid-area:image}.docker-row .docker-status{grid-area:status}.docker-row .docker-badge,.systemd-row .docker-badge{grid-area:badge;justify-self:end}.docker-row .docker-actions,.systemd-row .docker-actions{grid-area:action;justify-self:stretch;gap:8px;margin-top:4px}.docker-row .docker-actions .docker-action-btn,.systemd-row .docker-actions .docker-action-btn{flex:1;padding:9px 14px}}@media (width<=640px){.server-tab{gap:16px}.server-stats-grid{grid-template-columns:1fr;gap:16px}.server-card{gap:12px;padding:20px 18px}.server-state-label,.server-value{font-size:28px}.docker-card{padding:20px 16px}}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.terminal-tab{flex-direction:column;gap:16px;display:flex}.terminal-section--hidden{display:none}.terminal-tab--fullscreen{z-index:150;background:var(--page-bg);background-image:radial-gradient(var(--dot) 1px, transparent 1px);background-size:24px 24px;padding:20px;position:fixed;inset:0}.terminal-tab--fullscreen .terminal-panes{flex:1;min-height:0}.terminal-tab--fullscreen .terminal-pane{flex-direction:column;height:100%;display:flex}.terminal-tab--fullscreen .terminal-card{height:100%}.terminal-tab--fullscreen .terminal-viewport{flex:1;height:auto;min-height:0}.terminal-toolbar{align-items:center;gap:10px;display:flex}.terminal-tabstrip{border:1px solid var(--border-green);background:#f1ecdd;border-radius:999px;flex:1;align-items:center;gap:6px;min-width:0;padding:5px;display:flex;overflow-x:auto}.terminal-fullscreen-btn{border:1px solid var(--input-border);color:#4c6b3c;cursor:pointer;background:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.terminal-fullscreen-btn:hover{background:var(--green-tile-bg);border-color:var(--green-bright)}.terminal-tabstrip-tab{color:var(--muted-strong);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;align-items:center;gap:8px;padding:6px 8px 6px 14px;font-size:13px;font-weight:700;display:flex}.terminal-tabstrip-tab--active{color:var(--green-deep);background:#fff;box-shadow:0 1px 3px #2d462326}.terminal-tabstrip-tab .terminal-dot{width:9px;height:9px}.terminal-tabstrip-close{width:18px;height:18px;color:var(--muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;margin-left:2px;font-size:13px;line-height:1;display:flex}.terminal-tabstrip-close:hover{color:#c0392b;background:#e7d9d9}.terminal-tabstrip-add{border:1px solid var(--green-tile-border);background:var(--green-tile-bg);width:30px;height:30px;color:var(--green);cursor:pointer;border-radius:50%;flex-shrink:0;font-size:16px;font-weight:700}.terminal-tabstrip-add:hover{background:var(--green-tile-border)}.terminal-panes{position:relative}.terminal-pane--hidden{display:none}.terminal-empty-state{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 20px;display:flex}.terminal-card{background:var(--card-bg);border:1px solid var(--border-green);border-radius:18px;flex-direction:column;gap:14px;padding:22px 24px;display:flex;box-shadow:0 2px 6px #2d46230f,0 8px 20px #2d46230d}.terminal-bar{align-items:center;gap:12px;display:flex}.terminal-dot{border-radius:50%;flex-shrink:0;width:11px;height:11px}.terminal-dot--connected{background:#2a8c2a;box-shadow:0 0 0 4px #2a8c2a26}.terminal-dot--connecting{background:#d9932c;box-shadow:0 0 0 4px #d9932c26}.terminal-dot--disconnected{background:#c0392b;box-shadow:0 0 0 4px #c0392b26}.terminal-status{color:var(--ink);font-size:14px;font-weight:700}.terminal-shell-badge{background:var(--green-tile-bg);border:1px solid var(--green-tile-border);color:var(--green);border-radius:999px;padding:3px 10px;font-family:ui-monospace,monospace;font-size:12px;font-weight:700}.terminal-bar-spacer{flex:1}.terminal-reconnect-btn{border:1px solid var(--green-tile-border);background:var(--green-tile-bg);color:var(--green);cursor:pointer;border-radius:999px;padding:7px 16px;font-size:13px;font-weight:700;transition:background .15s}.terminal-reconnect-btn:hover{background:var(--green-tile-border)}.terminal-hint{color:var(--muted);font-size:14px}.terminal-viewport{background:#1b1f1a;border-radius:12px;height:62vh;min-height:320px;padding:12px;overflow:hidden}.terminal-surface{width:100%;height:100%}.modal-overlay{z-index:100;background:#232c1c6b;justify-content:center;align-items:center;padding:24px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal-dialog{background:var(--card-bg);border-radius:20px;flex-direction:column;gap:18px;width:460px;max-width:100%;max-height:90vh;padding:28px;animation:.18s dlgIn;display:flex;overflow:auto;box-shadow:0 24px 60px #1e28144d}.modal-title{color:var(--ink);font-family:Marcellus,serif;font-size:22px}.modal-label{flex-direction:column;gap:6px;display:flex}.modal-label span{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-strong);font-size:12px;font-weight:700}.modal-label input,.modal-label textarea{border:1px solid var(--input-border);color:var(--ink-soft);background:#fff;border-radius:10px;padding:11px 14px;font-size:15px}.modal-label textarea{resize:vertical}.modal-icon-field{flex-direction:column;gap:8px;display:flex}.modal-icon-grid{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.modal-icon-btn{aspect-ratio:1;border:1px solid var(--input-border);cursor:pointer;color:#4c6b3c;background:#fff;border-radius:12px;justify-content:center;align-items:center;transition:all .12s;display:flex}.modal-icon-btn:hover{border-color:var(--green-bright)}.modal-icon-btn.selected{border-color:var(--green);background:var(--green);color:var(--card-bg)}.modal-icon-upload{align-items:center;margin-top:2px;display:flex}.modal-icon-upload-btn{border:1px dashed var(--input-border);color:#4c6b3c;cursor:pointer;background:0 0;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700;transition:all .12s}.modal-icon-upload-btn:hover{border-color:var(--green-bright);color:var(--green)}.modal-icon-custom{border:1px solid var(--green);background:#fff;border-radius:12px;align-items:center;gap:10px;padding:6px 8px 6px 6px;display:flex}.modal-icon-preview{object-fit:contain;width:28px;height:28px}.modal-icon-custom-label{color:var(--ink-soft);font-size:13px;font-weight:700}.modal-icon-remove{background:var(--danger-bg);width:22px;height:22px;color:var(--danger);cursor:pointer;border:none;border-radius:999px;font-size:12px;line-height:1}.modal-icon-error{color:var(--danger);font-size:13px}.modal-toggle{cursor:pointer;align-items:center;gap:10px;display:flex}.modal-toggle input{width:18px;height:18px;accent-color:var(--green);cursor:pointer}.modal-toggle span{color:var(--ink-soft);font-size:14px}.modal-actions{align-items:center;gap:10px;margin-top:4px;display:flex}.modal-actions-spacer{flex:1}.modal-btn{cursor:pointer;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:700}.modal-btn-delete{color:var(--danger);background:0 0;border:1px solid #dab4a6}.modal-btn-delete:hover{background:var(--danger-bg)}.modal-btn-cancel{border:1px solid var(--input-border);color:#6d6750;background:0 0}.modal-btn-cancel:hover{background:#f1ebdb}.modal-btn-save{border:1px solid var(--green);background:var(--green);color:var(--card-bg);padding:10px 22px;transition:background .15s}.modal-btn-save:hover{background:var(--green-bright)}@media (width<=640px){.modal-overlay{padding:12px}.modal-dialog{padding:22px 20px}.modal-icon-grid{grid-template-columns:repeat(5,1fr)}.modal-actions{flex-wrap:wrap}}
