/* WaveWorks css/v2·WaveDesk app.css 를 참고해 새로 쓴 사본. 2026-09-22
 원본: C:/01. wavegram.projects/waveworks/Source/WaveWorks.RxComponents/wwwroot/css/v2/
       D:/wavedesk.source/rustdesk/web/src/app.css
 독립 Carbon v11 Gray 10 화면. R2/Bootstrap 의존성 없음. */
[data-bs-theme=light] {
  --cds-grid-header: #e7e7e7;
  --cds-grid-select: #e0e0e0c4;
  --cds-grid-border: #cbcbcb;
  --cds-grid-column-border: #d3d3d3;
  --cds-grid-cell-border: #dedede;
  --cds-primary: #0f62fe;
  --cds-bg-gray: #f4f4f4;
  --cds-bg-light: #fff;
  --cds-rw-ctrl-bg: var(--cds-bg-light);
  --cds-gray-100: #fafafa;
  --cds-gray-200: #ececec;
  --cds-gray-300: #e0e0e0;
  --cds-gray-400: #c6c6c6;
  --cds-gray-500: #8d8d8d;
  --cds-field: #ffffff;
  --cds-field-01: #f4f4f4;
  --cds-field-02: #ffffff;
  --cds-field-03: #f4f4f4;
  --cds-bg-white: #ffffff;
  --cds-bg-dark: #161616;
  --cds-white-color: #FFFFFF;
  --cds-dark-color: #161616;
  --cds-overlay: #16161650;
  --cds-background-hover: #8d8d8d30;
  --cds-background-active: #8d8d8d50;
  --cds-background: #ffffff;
  --cds-background-inverse: #161616;
  --cds-layer-01: #f4f4f4;
  --cds-layer-02: #e0e0e0;
  --cds-layer-03: #fafafa;
  --cds-layer-selected: #e0e0e0;
  --cds-layer-selected-hover: #d1d1d1;
  --cds-layer-hover: #e8e8e8;
  --cds-layer-accent: #e0e0e0;
  --cds-toggle-off: #e0e0e0;
  --cds-table-header: #e0e0e0;
  --cds-echo-bubble: #f4f4f4;
  --cds-text-primary: #161616;
  --cds-text-secondary: #525252;
  --cds-text-placeholder: #a8a8a8;
  --cds-text-helper: #6f6f6f;
  --cds-text-disabled: #16161625;
  --cds-text-error: #da1e28;
  --cds-text-warning: #f1c21b;
  --cds-text-inverse: #ffffff;
  --cds-text-on-color: #ffffff;
  --cds-text-on-color-disabled: #8d8d8d;
  --cds-link-primary: #0f62fe;
  --cds-link-primary-hover: #054ada;
  --cds-link-secondary: #0043ce;
  --cds-link-inverse: #78a9ff;
  --cds-link-inverse-hover: #a6c8ff;
  --cds-focus: #0f62fe;
  --cds-button-primary: #0f62fe;
  --cds-button-primary-hover: #0353e9;
  --cds-button-primary-active: #002d9c;
  --cds-button-secondary: #393939;
  --cds-button-secondary-hover: #474747;
  --cds-button-secondary-active: #6F6F6F;
  --cds-button-tertiary: #0f62fe;
  --cds-button-tertiary-hover: #0353e9;
  --cds-button-tertiary-active: #002d9c;
  --cds-button-danger-primary: #da1e28;
  --cds-button-danger-secondary: #da1e28;
  --cds-button-danger-hover: #b81921;
  --cds-button-danger-active: #750e13;
  --cds-button-separator: #e0e0e0;
  --cds-button-disabled: #c6c6c6;
  --cds-button-ghost-active: #8D8D8D50;
  --cds-border-interactive: #0f62fe;
  --cds-border-sidebar: #ededed;
  --cds-border-subtle-01: #e0e0e0;
  --cds-border-subtle-02: #c6c6c6;
  --cds-border-strong-01: #8d8d8d;
  --cds-border-tile-01: #c6c6c6;
  --cds-border-tile-02: #a8a8a8;
  --cds-border-inverse: #161616;
  --cds-border-disabled: #c6c6c6;
  --cds-icon-primary: #161616;
  --cds-icon-secondary: #525252;
  --cds-icon-danger: #da1e28;
  --cds-icon-disabled: #c6c6c6;
  --cds-tag-bg-blue: #D0E2FF;
  --cds-tag-bg-red: #FFD7D9;
  --cds-tag-bg-green: #A7F0BA;
  --cds-tag-bg-gray: #E0E0E0;
  --cds-tag-bg-yellow: #fadf80;
  --cds-tag-bg-black: #393939;
  --cds-tag-bg-purple: #E8DAFF;
  --cds-tag-text-blue: #0043CE;
  --cds-tag-text-red: #A2191F;
  --cds-tag-text-green: #0E6027;
  --cds-tag-text-gray: #161616;
  --cds-tag-text-yellow: #403203;
  --cds-tag-text-black: #ffffff;
  --cds-tag-text-purple: #6929C4;
  --cds-notification-danger: #FFF1F1;
  --cds-notification-warning: #FCF4D6;
  --cds-notification-success: #DEFBE6;
  --cds-notification-info: #EDF5FF;
  --cds-support-error: #da1e28;
  --cds-support-success: #24a148;
  --cds-support-warning: #f1c21b;
  --cds-support-info: #0043CE;
  --cds-support-error-inverse: #fa4d56;
  --cds-support-success-inverse: #42be65;
  --cds-support-warning-inverse: #f1c21b;
  --cds-support-info-inverse: #4589ff;
  --cds-support-caution: #ff832b;
  --cds-support-undefined: #8a3ffc;
}

/* Gray 10 page/layer mapping; approved header palette is deliberately fixed. */
[data-bs-theme=light] { --cds-background:#f4f4f4; --cds-layer-01:#ffffff; --ww-font-ibm-sans-kr:'IBM Plex Sans KR','Malgun Gothic',sans-serif; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; background:var(--cds-background); color:var(--cds-text-primary); font:14px/1.5 var(--ww-font-ibm-sans-kr); }
button,input,select,textarea { font:inherit; border-radius:0; }
button,a,input,select,textarea,summary { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
:focus-visible,.carbon-textbox:focus { outline:2px solid var(--cds-focus); outline-offset:-2px; }
a,.cds-link { color:var(--cds-link-primary); }
a:hover,.cds-link:hover { color:var(--cds-link-primary-hover); }
.cds-header { height:48px; background:#161616; color:#f4f4f4; display:flex; align-items:center; justify-content:space-between; padding:0 16px; }
.cds-brand-mark { height:16px; width:27px; flex:none; }
.cds-header-brand { display:inline-flex; align-items:center; gap:12px; color:#f4f4f4; text-decoration:none; white-space:nowrap; font-weight:400; }
.cds-header-brand strong { font-weight:600; }
.cds-header-brand:hover { color:#fff; }
.cds-header-right,.cds-header nav { display:flex; align-items:center; height:100%; }
.cds-header nav a { display:flex; align-items:center; gap:8px; height:48px; padding:0 16px; color:#c6c6c6; text-decoration:none; border-bottom:2px solid transparent; }
.cds-header nav a:hover { background:#353535; color:#fff; }
.cds-header nav a[aria-current=page] { color:#fff; border-bottom-color:var(--cds-focus); }
.cds-header .cds-tag { margin-left:16px; }
.carbon-icon { width:20px; height:20px; flex-shrink:0; vertical-align:middle; }
.cds-header .carbon-icon,.cds-btn .carbon-icon { filter:brightness(0) invert(1); }
.cds-page { max-width:1440px; margin:0 auto; padding:32px; }
.cds-page-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
h1 { margin:0; font-size:28px; line-height:36px; font-weight:400; }
h2 { margin:0 0 16px; font-size:20px; line-height:28px; font-weight:400; }
p { margin:0; }
.cds-subtitle { margin-top:8px; color:var(--cds-text-secondary); }
.cds-btn { min-height:40px; padding:8px 16px; display:inline-flex; align-items:center; justify-content:space-between; gap:32px; border:1px solid transparent; text-decoration:none; color:var(--cds-text-on-color); }
.cds-btn-primary { background:var(--cds-button-primary); }
.cds-btn-primary:hover { background:var(--cds-button-primary-hover); color:var(--cds-text-on-color); }
.cds-btn-secondary { background:var(--cds-button-secondary); }
.cds-btn-secondary:hover { background:var(--cds-button-secondary-hover); }
.cds-btn-danger { background:var(--cds-button-danger-primary); }
.cds-btn-danger:hover { background:var(--cds-button-danger-hover); }
.cds-btn:focus-visible { box-shadow:inset 0 0 0 3px #fff; }
.cds-btn-lg { min-height:48px; min-width:160px; }
.cds-btn-sm { min-height:32px; }
button:disabled { cursor:not-allowed; }
.cds-btn:disabled { background:var(--cds-button-disabled); color:var(--cds-text-on-color-disabled); }
.cds-icon-btn { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; padding:8px; border:0; background:transparent; flex-shrink:0; }
.cds-icon-btn:hover { background:var(--cds-layer-hover); }
.cds-label { display:block; font-size:12px; color:var(--cds-text-secondary); margin-bottom:8px; }
.carbon-textbox { width:100%; min-height:40px; padding:8px 16px; color:var(--cds-text-primary); background:var(--cds-field-01); border:0; border-bottom:1px solid var(--cds-border-strong-01); }
textarea.carbon-textbox { resize:vertical; }
.carbon-textbox[aria-invalid=true] { outline:2px solid var(--cds-support-error); outline-offset:-2px; }
.cds-password { position:relative; }
.cds-password input { padding-right:48px; }
.cds-password button { position:absolute; top:0; right:0; }
.cds-field-error { min-height:18px; margin-top:4px; font-size:12px; color:var(--cds-text-error); }
.cds-login { min-height:calc(100vh - 48px); display:flex; justify-content:center; align-items:center; padding:24px; }
.cds-login-tile { width:380px; max-width:100%; background:var(--cds-layer-01); }
.cds-login-content { padding:24px; }
.cds-login h1 { font-size:20px; line-height:28px; margin-bottom:24px; }
.cds-login-submit { width:100%; }
.cds-notification-wrap { display:flex; align-items:flex-start; gap:12px; padding:16px; margin:16px 0; border-left:3px solid; min-width:0; overflow-wrap:anywhere; }
.cds-notification-wrap p { flex:1; }
.cds-notification-wrap strong { display:block; font-weight:600; margin-bottom:4px; }
.cds-notification-warning { background:var(--cds-notification-warning); border-color:var(--cds-support-warning); }
.cds-notification-info { background:var(--cds-notification-info); border-color:var(--cds-support-info); }
.cds-notification-success { background:var(--cds-notification-success); border-color:var(--cds-support-success); }
.cds-notification-error { background:var(--cds-notification-danger); border-color:var(--cds-support-error); }
.cds-table-scroll { overflow-x:auto; }
.cds-table { width:100%; border-collapse:collapse; background:var(--cds-layer-01); text-align:left; }
.cds-table th { background:var(--cds-table-header); font-weight:600; }
.cds-table th,.cds-table td { padding:12px 16px; height:48px; border-bottom:1px solid var(--cds-border-subtle-01); white-space:nowrap; }
.cds-table tbody tr:hover { background:var(--cds-layer-hover); }
.cds-release-notes { font-size:12px; color:var(--cds-text-secondary); max-width:320px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cds-text-helper,.cds-helper { color:var(--cds-text-helper); }
.cds-tag { display:inline-flex; align-items:center; padding:2px 8px; font-size:12px; border-radius:16px; background:var(--cds-tag-bg-gray); color:var(--cds-tag-text-gray); white-space:nowrap; }
.cds-tag-red { background:var(--cds-tag-bg-red); color:var(--cds-tag-text-red); }
.cds-tag-blue { background:var(--cds-tag-bg-blue); color:var(--cds-tag-text-blue); }
.cds-menu-cell { width:56px; }
/* Popovers are moved to body and placed from the anchor rect, avoiding table clipping. */
.cds-popover { position:absolute; z-index:10; width:max-content; max-width:calc(100vw - 32px); max-height:280px; overflow:auto; background:var(--cds-layer-01); box-shadow:0 2px 6px #0003; }
.cds-popover-item { display:block; width:100%; text-align:left; padding:12px 16px; border:0; border-bottom:1px solid var(--cds-border-subtle-01); color:var(--cds-text-primary); background:transparent; }
.cds-popover-item:hover { background:var(--cds-layer-hover); }
.cds-modal { padding:0; border:0; width:480px; max-width:calc(100vw - 32px); color:var(--cds-text-primary); background:var(--cds-background); }
.cds-modal::backdrop { background:#16161680; }
.cds-modal-content { padding:24px; min-height:176px; }
.cds-modal-actions { display:flex; }
.cds-modal-actions button { width:50%; min-height:48px; }
.cds-upload-page { max-width:1056px; }
fieldset { margin:0; padding:0; border:0; min-width:0; }
.cds-form-columns { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.cds-select { position:relative; }
.cds-select select { appearance:none; padding-right:40px; }
.cds-select img { position:absolute; right:12px; top:10px; pointer-events:none; }
.cds-form-item { margin-top:24px; }
.rw-file-upload-drop { display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-height:64px; padding:16px; border:1px dashed var(--cds-border-strong-01); background:var(--cds-layer-01); }
.rw-file-upload-drop.is-dragging { outline:2px solid var(--cds-focus); outline-offset:-2px; background:var(--cds-notification-info); }
.cds-link { background:none; border:0; padding:4px; text-decoration:underline; }
.rw-file-upload-item { display:flex; align-items:center; gap:12px; background:var(--cds-layer-01); padding:4px 8px 4px 16px; margin-top:8px; min-height:40px; }
.rw-file-upload-item-name { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#summary { font-size:12px; color:var(--cds-text-secondary); }
.cds-file-list { max-height:320px; }
.cds-file-list th { position:sticky; top:0; }
.cds-checkbox-label { display:flex; align-items:center; gap:8px; }
.cds-checkbox { appearance:none; width:16px; height:16px; margin:0; border:1px solid var(--cds-text-primary); background:var(--cds-layer-01); }
.cds-checkbox:checked { background:var(--cds-text-primary); }
.cds-checkbox:checked::after { content:''; display:block; width:8px; height:4px; border-left:2px solid #fff; border-bottom:2px solid #fff; transform:translate(3px,4px) rotate(-45deg); }
.cds-helper { font-size:12px; margin:4px 0 0 24px; }
.cds-advanced { margin-top:24px; }
.cds-advanced .cds-label { margin-top:16px; }
.cds-form-actions { display:flex; justify-content:flex-end; margin-top:24px; }
.cds-progress-wrap { margin-top:24px; }
.cds-progress-wrap label { display:block; margin-bottom:8px; }
.cds-progress-wrap progress { display:block; appearance:none; width:100%; height:8px; border:0; background:var(--cds-border-subtle-01); color:var(--cds-button-primary); }
progress::-webkit-progress-bar { background:var(--cds-border-subtle-01); }
progress::-webkit-progress-value { background:var(--cds-button-primary); }
progress::-moz-progress-bar { background:var(--cds-button-primary); }
.cds-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media (max-width:899px) { .cds-form-columns { grid-template-columns:1fr; } .cds-page { padding:24px 16px; } .cds-table { min-width:720px; } .cds-notification-wrap { flex-wrap:wrap; } }
@media (max-width:540px) { .cds-header { padding:0 8px; } .cds-header nav a { padding:0 8px; font-size:12px; } .cds-header nav .carbon-icon { display:none; } .cds-header .cds-tag { margin-left:4px; padding:2px 4px; } .cds-page-heading { align-items:flex-start; gap:8px; } .rw-file-upload-item { flex-wrap:wrap; } .rw-file-upload-item-name { flex-basis:60%; } }
