.btn-base{border:var(--form-border-width)solid var(--form-border-color);border-radius:var(--form-border-radius);cursor:pointer;color:var(--text-color);white-space:nowrap;text-transform:uppercase;background:#fff;outline:none;justify-content:center;align-items:center;font-family:inherit;font-size:1rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:inline-flex}.btn-sm{padding:.2rem 1rem;font-size:.85rem}.btn-md{padding:.2rem 1.5rem;font-size:.95rem}.btn-lg{padding:.2rem 2rem;font-size:1rem}.btn-base:hover{color:var(--primary-color);background:#000;transform:scale(1.05)}.btn-base:active{transform:scale(.98)}.btn-base:disabled{opacity:.5;cursor:not-allowed}.btn-base:disabled:hover{color:var(--text-color);background:#fff;transform:none}.btn-primary{color:var(--primary-color);background:#000;border-color:#000}.btn-primary:hover:not(:disabled){color:var(--primary-color);background:#000}.btn-primary:disabled:hover{background:var(--primary-color);color:#000;transform:none}.btn-secondary{color:var(--primary-color);border-color:var(--primary-color);background:#fff}.btn-secondary:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.btn-danger:hover:not(:disabled){color:#fff;background:#000;border-color:#000}.btn-outline{color:var(--text-color);border-color:var(--border-color);background:#fff}.btn-link{color:var(--text-color);background-color:#0000;border:none;text-decoration:underline}.btn-link:hover:not(:disabled){background:0 0;transform:none}
.icon-xs{width:.75rem;height:.75rem}.icon-sm{width:1rem;height:1rem}.icon-md{width:1.25rem;height:1.25rem}.icon-lg{width:1.5rem;height:1.5rem}.icon-xl{width:2rem;height:2rem}
.box-flex{display:flex}.box-block{display:block}.box-inline{display:inline}.box-inline-block{display:inline-block}.box-grid{display:grid}.box-row{flex-direction:row}.box-row-reverse{flex-direction:row-reverse}.box-col{flex-direction:column}.box-col-reverse{flex-direction:column-reverse}.box-items-stretch{align-items:stretch}.box-items-start{align-items:flex-start}.box-items-center{align-items:center}.box-items-end{align-items:flex-end}.box-items-baseline{align-items:baseline}.box-justify-start{justify-content:flex-start}.box-justify-end{justify-content:flex-end}.box-justify-center{justify-content:center}.box-justify-between{justify-content:space-between}.box-justify-around{justify-content:space-around}.box-justify-evenly{justify-content:space-evenly}.box-gap-xs{gap:.25rem}.box-gap-sm{gap:.5rem}.box-gap-md{gap:1rem}.box-gap-lg{gap:1.5rem}.box-gap-xl{gap:2rem}.box-p-xs{padding:.25rem}.box-p-sm{padding:.5rem}.box-p-md{padding:1rem}.box-p-lg{padding:1.5rem}.box-p-xl{padding:2rem}.box-p-none{padding:0}
.label-base{color:var(--text-color);margin-bottom:.5rem;font-size:.9375rem;font-weight:500;display:block}.label-base:has(+.input-base:required):after{content:" *";color:var(--danger-color)}.label-base:has(+.select-base:required):after{content:" *";color:var(--danger-color)}.label-base:has(+.textarea-base:required):after{content:" *";color:var(--danger-color)}.label-required{color:var(--danger-color);margin-left:.25rem}
.input-base{color:var(--form-input-text);background:var(--form-input-bg);border:none;border-bottom:var(--form-border-width)solid var(--form-border-color);padding:var(--form-input-padding-y)var(--form-input-padding-x);width:100%;transition:var(--form-transition);appearance:none;border-radius:0;outline:none;font-family:inherit;font-size:1rem}.input-base::placeholder{color:var(--form-input-placeholder);opacity:1}.input-base:focus{border-bottom-color:var(--form-input-focus-color);background:#ffa7780d}.input-base:disabled{opacity:.5;cursor:not-allowed;border-bottom-style:dashed}.input-base:read-only{cursor:default;background:#00000005}.input-error,.input-base.error,.input-base.is-invalid{border-bottom-color:var(--danger-color)}.input-error:focus,.input-base.error:focus,.input-base.is-invalid:focus{border-bottom-color:var(--danger-color);background:#dc26260d}.input-sm{padding:.5rem var(--form-input-padding-x);font-size:.875rem}.input-md{padding:var(--form-input-padding-y)var(--form-input-padding-x);font-size:1rem}.input-lg{padding:1rem var(--form-input-padding-x);font-size:1.125rem}input[type=text].input-base,input[type=email].input-base,input[type=password].input-base,input[type=number].input-base,input[type=tel].input-base,input[type=url].input-base,input[type=search].input-base,input[type=date].input-base,input[type=datetime-local].input-base,input[type=time].input-base,input[type=month].input-base,input[type=week].input-base{border-bottom:var(--form-border-width)solid var(--form-border-color)}input[type=text].input-base:focus,input[type=email].input-base:focus,input[type=password].input-base:focus,input[type=number].input-base:focus,input[type=tel].input-base:focus,input[type=url].input-base:focus,input[type=search].input-base:focus,input[type=date].input-base:focus,input[type=datetime-local].input-base:focus,input[type=time].input-base:focus,input[type=month].input-base:focus,input[type=week].input-base:focus{border-bottom-color:var(--form-input-focus-color)}@media (max-width:768px){.input-base,input[type=date].input-base,input[type=datetime-local].input-base,input[type=time].input-base{font-size:16px}}
.textarea-base{color:var(--form-input-text);border:var(--form-border-width)solid var(--form-border-color);border-radius:var(--form-border-radius);background:var(--form-input-bg);resize:vertical;width:100%;min-height:4rem;transition:var(--form-transition);padding:var(--form-input-padding-y)var(--form-input-padding-x);outline:none;font-family:inherit;font-size:1rem}.textarea-base:focus{border-color:var(--form-input-focus-color);background:#ffa7780d}.textarea-error,.textarea-base.error,.textarea-base.is-invalid{border-color:var(--danger-color)}.textarea-error:focus,.textarea-base.error:focus,.textarea-base.is-invalid:focus{border-color:var(--danger-color);background:#dc26260d}.textarea-sm{padding:.5rem var(--form-input-padding-x);font-size:.875rem}.textarea-md{padding:var(--form-input-padding-y)var(--form-input-padding-x);font-size:1rem}.textarea-lg{padding:1rem var(--form-input-padding-x);font-size:1.125rem}
.checkbox-base{cursor:pointer;width:1.25rem;height:1.25rem;accent-color:var(--form-border-color);border:var(--form-border-width)solid var(--form-border-color)}.checkbox-base:checked{accent-color:#000}.checkbox-base:focus{outline:2px solid var(--form-input-focus-color);outline-offset:2px}.checkbox-sm{width:1rem;height:1rem}.checkbox-md{width:1.25rem;height:1.25rem}.checkbox-lg{width:1.5rem;height:1.5rem}.checkbox-label{cursor:pointer;flex-direction:row;align-items:center;gap:.5rem;display:flex}.checkbox-label-text-sm{margin-bottom:0;font-size:.875rem;font-weight:400}.checkbox-label-text-md{margin-bottom:0;font-size:1rem;font-weight:400}.checkbox-label-text-lg{margin-bottom:0;font-size:1.125rem;font-weight:400}
.radio-base{cursor:pointer;width:1.25rem;height:1.25rem;accent-color:var(--form-border-color);border:var(--form-border-width)solid var(--form-border-color)}.radio-base:checked{accent-color:#000}.radio-base:focus{outline:2px solid var(--form-input-focus-color);outline-offset:2px}.radio-sm{width:1rem;height:1rem}.radio-md{width:1.25rem;height:1.25rem}.radio-lg{width:1.5rem;height:1.5rem}.radio-label{cursor:pointer;flex-direction:row;align-items:center;gap:.5rem;display:flex}.radio-label-text-sm{margin-bottom:0;font-size:.875rem;font-weight:400}.radio-label-text-md{margin-bottom:0;font-size:1rem;font-weight:400}.radio-label-text-lg{margin-bottom:0;font-size:1.125rem;font-weight:400}
.select-base{color:var(--form-input-text);border:var(--form-border-width)solid var(--form-border-color);border-radius:var(--form-border-radius);cursor:pointer;width:100%;transition:var(--form-transition);appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23000' d='M6 8L0 0h12z'/%3E%3C/svg%3E") right .75rem center/.75rem no-repeat;outline:none;padding-right:2.5rem;font-family:inherit;font-size:1rem}.select-base:hover{border-color:var(--form-input-focus-color)}.select-base:focus{border-color:var(--form-input-focus-color);background-color:#ffa7780d}.select-base option{padding:.5rem}.select-error,.select-base.error,.select-base.is-invalid{border-color:var(--danger-color)}.select-error:focus,.select-base.error:focus,.select-base.is-invalid:focus{border-color:var(--danger-color);background-color:#dc26260d}.select-sm{padding:.5rem 2.5rem .5rem var(--form-input-padding-x);font-size:.875rem}.select-md{padding:var(--form-input-padding-y)2.5rem var(--form-input-padding-y)var(--form-input-padding-x);font-size:1rem}.select-lg{padding:1rem 2.5rem 1rem var(--form-input-padding-x);font-size:1.125rem}
.form-base{width:100%}.form-base .form-group{margin-bottom:var(--form-input-gap);flex-direction:column;display:flex}.form-base .form-group:last-child{margin-bottom:0}
.form-row-base{margin-bottom:var(--form-input-gap);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;display:grid}.form-row-base:last-child,.form-row-base .form-group{margin-bottom:0}.form-row-1{grid-template-columns:1fr}.form-row-2{grid-template-columns:repeat(2,1fr)}.form-row-3{grid-template-columns:repeat(3,1fr)}.form-row-4{grid-template-columns:repeat(4,1fr)}.form-row-gap-sm{gap:.5rem}.form-row-gap-md{gap:1rem}.form-row-gap-lg{gap:1.5rem}@media (max-width:768px){.form-row-base{gap:var(--form-input-gap);grid-template-columns:1fr}}
.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-md{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-normal{font-weight:400}.text-medium{font-weight:500}.text-semibold{font-weight:600}.text-bold{font-weight:700}.text-default{color:#1e293b}.text-muted{color:#64748b}.text-light{color:#0009}.text-error{color:#dc2626}.text-success{color:#16a34a}.text-paragraph{margin-bottom:1rem}
.heading-h1{color:#1e293b;margin-bottom:1.5rem;padding:0;font-size:2rem;font-weight:700}.heading-h2{color:#1e293b;margin-bottom:1rem;padding:0;font-size:1.15rem;font-weight:600}.heading-h3{color:#1e293b;margin-bottom:.75rem;padding:0;font-size:1.25rem;font-weight:600}.heading-strong{color:#1e293b;padding:0;font-weight:700}h1,h2,h3,strong{padding:0}
.badge-base{border-radius:10px;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.badge-default,.badge-primary{color:#000c;background-color:#0003}.badge-success{color:#16a34a;background-color:#16a34a33}.badge-warning{color:#ca8a04;background-color:#eab30833}.badge-error{color:#dc2626;background-color:#dc262633}.badge-sm,.badge-md{min-width:20px;padding:.125rem .5rem;font-size:.75rem}.badge-lg{min-width:24px;padding:.25rem .625rem;font-size:.875rem}
.link-base{outline:none;transition:color .2s}.link-default{color:#1e293b;text-decoration:underline}.link-default:hover{color:#1e293b}.link-muted{color:#00000080;text-decoration:underline}.link-muted:hover{color:#000c}.link-underline{color:#1e293b;text-decoration:underline}.link-underline:hover{color:#1e293b}
@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner-base{color:#ffa778;animation:1s linear infinite spin}.spinner-sm{width:1rem;height:1rem}.spinner-md{width:1.5rem;height:1.5rem}.spinner-lg{width:2rem;height:2rem}.spinner-xl{width:3rem;height:3rem}
.modal-overlay{z-index:50;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background-color:#fff;border:3px solid #000;border-radius:.25rem;flex-direction:column;width:100%;max-width:32rem;max-height:90vh;margin:0 1rem;display:flex;overflow:hidden}.modal-header{background-color:#ffa778;border-bottom:3px solid #000;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.modal-title{color:#1e293b;font-size:1.125rem;font-weight:600}.modal-close{color:#1e293b;cursor:pointer;background:0 0;border:2px solid #000;border-radius:.25rem;padding:.25rem .5rem;transition:color .2s}.modal-close:hover{color:#ffa778;background-color:#000;transform:scale(1.05)}.modal-close:active{transform:scale(.98)}.modal-body{flex:1;padding:1rem 1.5rem;overflow-y:auto}.modal-close-icon{width:1.25rem;height:1.25rem}
.sidebar-base{width:var(--sidebar-width);background:var(--sidebar-bg);flex-direction:column;transition:width .3s;display:flex}.sidebar-left{border-right:3px solid #000}.sidebar-right{border-left:3px solid #000}.sidebar-sm{--sidebar-width:12rem}.sidebar-md{--sidebar-width:15rem}.sidebar-lg{--sidebar-width:20rem}.sidebar-base.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-base.collapsed.sidebar-sm{--sidebar-collapsed-width:50px}.sidebar-base.collapsed.sidebar-md{--sidebar-collapsed-width:60px}.sidebar-base.collapsed.sidebar-lg{--sidebar-collapsed-width:70px}.shell-sidebar-content{flex-direction:column;flex:1;gap:.75rem;min-height:0;padding:.5rem;transition:padding .3s;display:flex;overflow-y:auto}.sidebar-base.collapsed .shell-sidebar-content{gap:.5rem;padding:.5rem .25rem}.shell-sidebar-item{height:35px;color:var(--text-color);background:#0000000d;border-radius:.25rem;align-items:center;gap:.5rem;padding:0 .5rem;transition:padding .3s,justify-content .3s;display:flex;text-decoration:none!important}.shell-sidebar-item:hover,.shell-sidebar-item.active{color:#fff;background:#000}.sidebar-base.collapsed .shell-sidebar-item{justify-content:center;align-items:center;padding:0}.sidebar-base.collapsed .shell-sidebar-item span{display:none}.shell-sidebar-item span{opacity:1;white-space:nowrap;align-items:center;gap:.5rem;height:100%;font-size:.95rem;transition:opacity .2s;display:flex;overflow:hidden}.shell-sidebar-item svg{flex-shrink:0;width:1.25rem;height:1.25rem}.shell-sidebar-spacer{padding:.5rem 0;transition:opacity .2s;display:block}.sidebar-base.collapsed .shell-sidebar-spacer{display:none}
.content-base{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.shell-content-main{flex:1;min-height:0;overflow-y:auto}
:root{--primary-color:#ffa778;--light-gray:#f0f0f0;--sidebar-bg:var(--light-gray);--header-bg:var(--primary-color);--header-height:50px;--sidebar-width:240px;--sidebar-collapsed-width:60px;--text-color:#1e293b;--text-muted:#64748b}.shell-outer-wrapper{background-color:#f8f8f8;width:100vw;height:100vh;padding:1rem}.shell-base{background-color:#fff;border:3px solid #000;border-radius:.75rem;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden;box-shadow:0 12px 48px #ffa50040,0 6px 24px #ffa77859,0 2px 8px #ffa77833}.shell-content-wrapper{flex:1;min-height:0;display:flex;overflow:hidden}
.shell-header{background:var(--header-bg);width:100%;height:var(--header-height);border-bottom:3px solid #000;flex-shrink:0;align-items:center;padding:0 .5rem;display:flex}.shell-header-content{justify-content:space-between;align-items:center;width:100%;padding:0;display:flex}.shell-header-content>:only-child{width:100%}.shell-header-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.shell-sidebar-toggle{cursor:pointer;background:0 0;border:2px solid #000;border-radius:.25rem;justify-content:center;align-items:center;padding:.25rem .5rem;transition:margin-right .3s,transform .2s;display:flex;position:relative}.shell-sidebar-toggle:hover{color:var(--primary-color);background:#000;transform:scale(1.05)}.shell-sidebar-toggle:active{transform:scale(.98)}
.shell-footer{background-color:#fff;flex-shrink:0;justify-content:center;align-items:center;padding:1rem 1.5rem;display:flex}.shell-footer-content{background-color:#d3d3d3;border-radius:9999px;padding:.5rem 1.5rem;display:inline-block}
.console-shell{--console-bg:#f4f7fb;--console-panel-bg:#ffffffe6;--console-border:#0f172a29;--console-muted:#4c5b73;--console-text:#0f172a;--console-brand:#005cc6;width:100%;min-height:100%;color:var(--console-text);background:radial-gradient(1000px 400px at 15% -10%,#005cc624,transparent 50%),radial-gradient(800px 420px at 90% -20%,#00adb51a,transparent 52%),var(--console-bg);border:1px solid var(--console-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:18px;grid-template-rows:auto 1fr auto;display:grid;overflow:hidden}.console-shell-header{border-bottom:1px solid var(--console-border);background:linear-gradient(#ffffffeb 0%,#ffffffd6 100%);justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1.1rem;display:flex}.console-shell-brand-block{align-items:baseline;gap:.65rem;display:flex}.console-shell-brand{letter-spacing:.02em;color:var(--console-brand);font-family:JetBrains Mono,IBM Plex Mono,monospace;font-size:.95rem;font-weight:700}.console-shell-subtitle{color:var(--console-muted);letter-spacing:.03em;text-transform:uppercase;font-size:.86rem}.console-shell-header-right{align-items:center;gap:.85rem;display:flex}.console-shell-command{color:var(--console-muted);background:#0f172a0f;border:1px solid #0f172a24;border-radius:999px;padding:.24rem .62rem;font-family:JetBrains Mono,IBM Plex Mono,monospace;font-size:.8rem}.console-shell-actions{align-items:center;gap:.5rem;display:inline-flex}.console-shell-body{grid-template-columns:280px 1fr;min-height:0;display:grid}.console-shell-sidebar{border-right:1px solid var(--console-border);background:linear-gradient(#ffffffdb 0%,#f7faffd6 100%);min-height:0}.console-shell-content{background:var(--console-panel-bg);min-height:0}.console-shell-footer{border-top:1px solid var(--console-border);color:var(--console-muted);background:#fffc;padding:.58rem 1.1rem;font-size:.8rem}@media (max-width:860px){.console-shell-body{grid-template-columns:1fr}.console-shell-sidebar{border-right:none;border-bottom:1px solid var(--console-border)}}
.console-pane{background:#ffffffc7;border:1px solid #0f172a1f;border-radius:14px;grid-template-rows:auto 1fr;min-height:0;display:grid}.console-pane-header{border-bottom:1px solid #0f172a14;justify-content:space-between;align-items:flex-start;gap:.7rem;padding:.7rem .78rem;display:flex}.console-pane-title{color:#0f172a;margin:0;font-size:.9rem}.console-pane-subtitle{color:#64748b;margin:.16rem 0 0;font-size:.78rem}.console-pane-toolbar{align-items:center;gap:.4rem;display:inline-flex}.console-pane-body{min-height:0;overflow:auto}
.console-command-bar{background:#ffffffe0;border:1px solid #0f172a29;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;width:100%;padding:.4rem .45rem;display:grid}.console-command-left,.console-command-right{align-items:center;gap:.35rem;display:inline-flex}.console-command-input{color:#0f172a;background:0 0;border:none;outline:none;width:100%;font-size:.95rem}.console-command-input::placeholder{color:#6b7280}
.console-resource-list{outline:none;gap:.34rem;height:100%;padding:.55rem;display:grid;overflow:auto}.console-resource-empty{color:#64748b;border:1px dashed #0f172a40;border-radius:10px;padding:.9rem;font-size:.9rem}.console-resource-item{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:1px solid #0000;border-radius:10px;gap:.3rem;padding:.62rem;display:grid}.console-resource-item:hover{background:#0ea5e914}.console-resource-item.is-selected{background:linear-gradient(#005cc61c,#005cc60f);border-color:#005cc659}.console-resource-main{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.console-resource-label{color:#0f172a;word-break:break-word;font-size:.9rem;font-weight:600}.console-resource-meta{color:#64748b;font-family:JetBrains Mono,IBM Plex Mono,monospace;font-size:.73rem}.console-resource-info{color:#475569;font-family:JetBrains Mono,IBM Plex Mono,monospace;font-size:.82rem}
.console-kbd-hint{align-items:center;gap:.45rem;display:inline-flex}.console-kbd-keys{align-items:center;gap:.25rem;display:inline-flex}.console-kbd-key{color:#334155;text-align:center;background:#ffffffe6;border:1px solid #0f172a2e;border-bottom-width:2px;border-radius:6px;min-width:1.7rem;padding:.16rem .35rem;font-family:JetBrains Mono,IBM Plex Mono,monospace;font-size:.72rem}.console-kbd-label{color:#475569;text-transform:uppercase;letter-spacing:.05em;font-size:.76rem}
