@import './tokens.css';
/* Namespace all component styles. Loading this file does not reset the host page. */
.dga, [class^="dga-"], [class*=" dga-"], dga-select, dga-calendar, dga-date-picker, dga-time-picker, dga-pagination, dga-tabs, dga-chart, dga-progress { box-sizing: border-box; font-family: var(--dga-font); }
.dga { color:var(--dga-text); font-size:var(--dga-font-size); line-height:1.4; }
.dga *, .dga *::before, .dga *::after { box-sizing:border-box; }
.dga-icon { vertical-align:middle; flex:none; display:inline-block; }
.dga-row { display:flex; align-items:center; flex-wrap:wrap; gap:var(--dga-gap); }
.dga-stack { display:flex; flex-direction:column; gap:var(--dga-gap); }
.dga-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-width:100px; height:var(--dga-height); padding:0 var(--dga-button-padding); border:0 solid transparent; border-radius:var(--dga-radius); background:var(--dga-primary); color:white; font:400 16px/20px var(--dga-font); white-space:nowrap; text-decoration:none; cursor:pointer; vertical-align:middle; }
.dga-button:hover, .dga-button[data-state="hover"] { background:var(--dga-primary-hover); }
.dga-button:active, .dga-button[data-state="active"] { background:var(--dga-primary); }
.dga-button:focus-visible, .dga-icon-button:focus-visible, .dga-tab:focus-visible, .dga-menu-button:focus-visible { outline:2px solid var(--dga-border-hover); outline-offset:3px; }
.dga-button--outline { color:var(--dga-primary); background:white; border:1px solid var(--dga-primary); padding:0 calc(var(--dga-button-padding) - 1px); }
.dga-button--outline:hover, .dga-button--outline[data-state="hover"] { color:var(--dga-primary); background:white; }
.dga-button--outline:active, .dga-button--outline[data-state="active"] { background:var(--dga-primary); color:white; }
.dga-button--success, .dga-button--confirm { background:var(--dga-success); }
.dga-button--success:hover, .dga-button--confirm:hover, .dga-button--success[data-state="hover"], .dga-button--confirm[data-state="hover"] { background:var(--dga-success-hover); }
.dga-button--success:active, .dga-button--confirm:active, .dga-button--success[data-state="active"], .dga-button--confirm[data-state="active"] { background:var(--dga-success); }
.dga-button--secondary { height:32px; min-width:113px; font-size:15px; color:var(--dga-text-secondary); background:var(--dga-hover-bg); }
.dga-button--secondary:hover,.dga-button--secondary:active,.dga-button--secondary[data-state] { background:var(--dga-hover-bg); color:var(--dga-primary); }
.dga-button--confirm,.dga-button--cancel,.dga-button--danger { width:166px; max-width:100%; min-width:0; border-radius:18px; font-size:18px; font-weight:700; }
.dga-button--cancel { background:var(--dga-neutral); }
.dga-button--cancel:hover,.dga-button--cancel[data-state="hover"] { background:var(--dga-placeholder); }
.dga-button--cancel:active,.dga-button--cancel[data-state="active"] { background:var(--dga-neutral); }
.dga-button--danger { background:var(--dga-danger); }
.dga-button--danger:hover { background:#d1381e; }
.dga-button--danger:active { background:var(--dga-danger); }
.dga-button:disabled { background:var(--dga-hover-bg); color:rgb(23 59 207 / .3); cursor:not-allowed; }
.dga-button--outline:disabled { background:white; color:var(--dga-primary); opacity:.3; }
.dga-button--success:disabled { background:rgb(57 179 74 / .1); color:rgb(57 179 74 / .3); }
.dga-button--secondary:disabled { color:rgb(86 97 112 / .3); }
.dga-button--confirm:disabled { background:rgb(57 179 74 / .3); color:rgb(255 255 255 / .5); }
.dga-button--cancel:disabled { background:rgb(138 151 168 / .3); color:rgb(255 255 255 / .5); }
.dga-button--danger:disabled { background:rgb(184 46 24 / .3); color:rgb(255 255 255 / .5); }
.dga-icon-button { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; flex:none; padding:4px; border:0; border-radius:6px; background:var(--dga-hover-bg); color:var(--dga-icon); cursor:pointer; }
.dga-icon-button:hover,.dga-icon-button[data-state="hover"] { color:var(--dga-primary); }
.dga-icon-button:active,.dga-icon-button[data-state="active"],.dga-icon-button--active { background:var(--dga-primary); color:white; }
.dga-icon-button:disabled { color:var(--dga-placeholder); cursor:not-allowed; }
.dga-icon-button--plain { background:transparent; }
/* Page navigation: original PDF p.8 back glyph; composed header is a system extension. */
.dga-back { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; flex:none; padding:0; border:0; border-radius:50%; background:var(--dga-primary); color:white; text-decoration:none; cursor:pointer; vertical-align:middle; }
.dga-back::before { content:''; display:block; width:36px; height:36px; background:url('./assets/page-back.svg') center / 36px 36px no-repeat; }
.dga-back:hover,.dga-back[data-state="hover"] { background:var(--dga-primary-hover); }
.dga-back:active,.dga-back[data-state="active"] { background:var(--dga-primary); }
.dga-back:disabled { background:var(--dga-primary); opacity:.3; cursor:not-allowed; }
.dga-back:focus-visible,.dga-breadcrumb a:focus-visible { outline:2px solid var(--dga-border-hover); outline-offset:3px; }
.dga-page-header { margin:0 0 20px; padding:0 0 20px; border-bottom:1px solid var(--dga-divider); }
.dga-breadcrumb { margin:0 0 10px; font:400 14px/20px var(--dga-font); color:var(--dga-text-secondary); }
.dga-breadcrumb ol { display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; list-style:none; margin:0; padding:0; }
.dga-breadcrumb li { display:flex; align-items:center; gap:10px; min-width:0; max-width:100%; overflow-wrap:anywhere; }
.dga-breadcrumb li + li::before { content:''; width:5px; height:5px; flex:none; border:solid var(--dga-placeholder); border-width:1px 1px 0 0; transform:rotate(45deg); margin-right:2px; }
.dga-breadcrumb a { color:var(--dga-primary); text-decoration:none; border-radius:2px; }
.dga-breadcrumb a:hover { color:var(--dga-primary-hover); text-decoration:underline; text-underline-offset:3px; }
.dga-breadcrumb [aria-current="page"] { color:var(--dga-text-secondary); }
.dga-page-header__row { display:flex; align-items:flex-start; flex-wrap:wrap; gap:10px; min-height:36px; }
.dga-page-header__heading { flex:1; min-width:0; padding-top:6px; }
.dga-page-header .dga-page-header__title { margin:0; color:var(--dga-text); font:700 16px/24px var(--dga-font); overflow-wrap:anywhere; }
.dga-page-header .dga-page-header__description { margin:6px 0 0; color:var(--dga-text-muted); font:400 14px/20px var(--dga-font); overflow-wrap:anywhere; }
.dga-page-header__actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-left:auto; }
@media(max-width:640px) { .dga-page-header__actions { flex-basis:100%; margin:0; }.dga-page-header__actions .dga-button { max-width:100%; height:auto; min-height:36px; white-space:normal; } }
.dga-choice { display:inline-flex; align-items:center; gap:6px; color:var(--dga-text); font:400 16px/20px var(--dga-font); cursor:pointer; }
.dga-choice input { appearance:none; width:16px; height:16px; margin:0; border:1px solid var(--dga-placeholder); border-radius:4px; background:white; cursor:pointer; flex:none; position:relative; }
.dga-choice input[type="radio"] { border-radius:50%; }
.dga-choice:hover input,.dga-choice[data-state="hover"] input,.dga-choice input:focus-visible { border-color:var(--dga-selection); outline:0; }
.dga-choice input:checked,.dga-choice input:indeterminate { border-color:var(--dga-selection); background:var(--dga-selection); }
.dga-choice input[type="checkbox"]:checked::after { content:''; position:absolute; width:7px; height:4px; border:solid white; border-width:0 0 2px 2px; transform:rotate(-45deg); top:4px; left:3px; }
.dga-choice input[type="checkbox"]:indeterminate::after { content:''; position:absolute; width:8px; height:2px; background:white; top:6px; left:3px; }
.dga-choice input[type="radio"]:checked { box-shadow:inset 0 0 0 4px var(--dga-selection); background:white; }
.dga-choice:has(input:disabled) { opacity:.3; cursor:not-allowed; }
.dga-choice input:disabled { cursor:not-allowed; }
.dga-switch { position:relative; display:inline-flex; width:60px; height:32px; flex:none; cursor:pointer; vertical-align:middle; }
.dga-switch input { appearance:none; margin:0; width:100%; height:100%; border:0; border-radius:16px; background:var(--dga-neutral); cursor:pointer; }
.dga-switch input:checked { background:var(--dga-primary); }
.dga-switch input:focus-visible { outline:2px solid var(--dga-border-hover); outline-offset:3px; }
.dga-switch input::after { content:''; position:absolute; width:20px; height:20px; top:6px; left:6px; border-radius:50%; background:white; transition:transform .14s; }
.dga-switch input:checked::after { transform:translateX(28px); }
.dga-switch:has(input:disabled) { opacity:.3; cursor:not-allowed; }
.dga-switch input:disabled { cursor:not-allowed; }
.dga-switch--text { width:72px; }
.dga-switch--text input:checked::after { transform:translateX(40px); }
.dga-switch--text span { pointer-events:none; position:absolute; right:12px; top:6px; color:white; font:14px/20px var(--dga-font); }
.dga-switch--text span::after { content:'OFF'; }
.dga-switch--text input:checked + span { right:auto; left:18px; }
.dga-switch--text input:checked + span::after { content:'ON'; }
.dga-switch--small { width:48px; height:26px; }
.dga-switch--small input::after { width:16px; height:16px; top:5px; left:5px; }
.dga-switch--small input:checked::after { transform:translateX(22px); }
.dga-field { display:flex; flex-direction:column; gap:12px; width:218px; max-width:100%; color:var(--dga-text-secondary); font:16px/20px var(--dga-font); }
.dga-field__label { display:block; }
.dga-field:has(:disabled) { opacity:.3; }
.dga-input { width:100%; height:36px; padding:0 12px; border:1px solid var(--dga-border); border-radius:6px; background:var(--dga-field-bg); color:var(--dga-text-secondary); font:16px/20px var(--dga-font); outline:0; }
.dga-input::placeholder { color:var(--dga-placeholder); opacity:1; }
.dga-input:hover,.dga-field[data-state="hover"] .dga-input { border-color:var(--dga-border-hover); }
.dga-input:focus,.dga-field[data-state="active"] .dga-input { border-color:var(--dga-primary); }
.dga-input[aria-invalid="true"],.dga-field[data-state="error"] .dga-input { border-color:var(--dga-danger); }
.dga-input:disabled { cursor:not-allowed; }
textarea.dga-input { min-height:120px; height:auto; padding:12px; resize:vertical; }
.dga-field__control { position:relative; display:block; }
.dga-field__control > .dga-icon { position:absolute; top:10px; left:10px; color:var(--dga-icon-muted); pointer-events:none; }
.dga-field__control--search .dga-input { padding-left:34px; }
.dga-field__help { display:flex; justify-content:space-between; gap:10px; margin-top:-4px; font:14px/20px var(--dga-font); color:var(--dga-icon); }
.dga-field__error { margin-top:-4px; color:var(--dga-danger); font:16px/20px var(--dga-font); }
dga-select,dga-date-picker { display:inline-block; position:relative; width:218px; max-width:100%; vertical-align:middle; }
dga-select[disabled],dga-date-picker[disabled] { opacity:.3; }
dga-select .dga-field,dga-date-picker .dga-field { width:100%; }
.dga-select-trigger { display:flex; align-items:center; justify-content:space-between; gap:8px; text-align:left; cursor:pointer; }
.dga-select-trigger > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dga-select-trigger .dga-icon { color:var(--dga-icon-muted); }
.dga-select-placeholder { color:var(--dga-placeholder); }
.dga-dropdown { position:absolute; top:calc(100% + 6px); left:0; min-width:100%; max-height:260px; overflow:auto; z-index:30; background:white; border-radius:4px; box-shadow:var(--dga-shadow); padding:4px 0; }
.dga-dropdown[hidden] { display:none; }
.dga-option { display:flex; align-items:center; gap:12px; width:100%; min-height:40px; padding:10px 16px; color:var(--dga-text-secondary); font:15px/20px var(--dga-font); cursor:pointer; outline:0; }
.dga-option:hover,.dga-option:focus { background:var(--dga-hover-bg); }
.dga-option[aria-selected="true"] { color:var(--dga-primary); background:var(--dga-surface-subtle); }
.dga-option[aria-disabled="true"] { opacity:.3; cursor:not-allowed; }
.dga-option .dga-icon { margin-left:auto; }
.dga-chip { display:inline-flex; align-items:center; gap:10px; height:26px; padding:0 6px; border-radius:6px; background:var(--dga-field-bg); color:var(--dga-primary); font:14px/20px var(--dga-font); }
.dga-chip:hover { background:var(--dga-hover-bg); }
.dga-chip button { border:0; padding:0; background:none; color:inherit; cursor:pointer; display:flex; }
.dga-badge { display:inline-flex; align-items:center; padding:4px 12px; border:1px solid currentColor; border-radius:4px; color:var(--dga-primary); font:15px/20px var(--dga-font); background:var(--dga-primary-soft); }
.dga-badge--success { color:var(--dga-success); background:#dcfae0; }.dga-badge--danger { color:var(--dga-danger); background:#f4dcdc; }.dga-badge--warning { color:var(--dga-warning); background:#fdf1d3; }
dga-tabs { display:block; }
.dga-tablist { display:flex; gap:4px; padding:0 20px; border-bottom:2px solid var(--dga-primary); }
.dga-tab { position:relative; border:0; padding:0 20px; height:36px; background:var(--dga-hover-bg); color:var(--dga-primary); border-radius:6px 6px 0 0; font:16px/20px var(--dga-font); cursor:pointer; white-space:nowrap; }
.dga-tab:hover { background:var(--dga-primary-hover); color:white; }
.dga-tab[aria-selected="true"] { background:var(--dga-primary); color:white; }
.dga-tab[aria-selected="true"]::after { content:''; position:absolute; top:100%; left:calc(50% - 6px); width:0; height:0; border:6px solid transparent; border-top:8px solid var(--dga-primary); }
.dga-tab:disabled { opacity:.3; cursor:not-allowed; }
dga-tabs[variant="line"] .dga-tablist { border-bottom:1px solid var(--dga-divider); gap:0; padding:0; }
dga-tabs[variant="line"] .dga-tab { background:white; color:var(--dga-icon); height:32px; padding:0 16px; border-bottom:2px solid transparent; border-radius:0; }
dga-tabs[variant="line"] .dga-tab[aria-selected="true"] { border-color:var(--dga-primary); color:var(--dga-primary); font-weight:bold; }
dga-tabs[variant="line"] .dga-tab[aria-selected="true"]::after { display:none; }
.dga-tabpanel { padding:20px 0; }
.dga-tabpanel[hidden] { display:none; }
dga-pagination { display:flex; align-items:center; flex-wrap:wrap; gap:10px; color:var(--dga-text); font:14px/20px var(--dga-font); }
.dga-page { width:26px; height:26px; padding:0; border:0; border-radius:6px; background:var(--dga-hover-bg); color:var(--dga-text-secondary); font:14px/20px var(--dga-font); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.dga-page[aria-current="page"] { color:white; background:var(--dga-primary); }
.dga-page:hover { color:white; background:var(--dga-primary-hover); }.dga-page:disabled { opacity:.3; cursor:not-allowed; }
.dga-page-arrow { background:none; color:var(--dga-icon-muted); width:16px; }
dga-pagination select,dga-pagination input { height:26px; background:var(--dga-hover-bg); border:1px solid var(--dga-border); border-radius:6px; color:var(--dga-text-secondary); font:14px/20px var(--dga-font); text-align:center; }
dga-pagination select { width:148px; margin:0 10px; }dga-pagination input { width:60px; padding:0 5px; }
.dga-menu { width:260px; max-width:100%; display:flex; flex-direction:column; gap:10px; }
.dga-menu-button { display:flex; align-items:center; gap:10px; width:100%; min-height:36px; padding:5px 16px; border:1px solid var(--dga-primary); border-radius:6px; background:white; color:var(--dga-primary); font:16px/20px var(--dga-font); text-align:left; cursor:pointer; }
.dga-menu-button > .dga-icon:last-child:not(:first-child) { margin-left:auto; }
.dga-menu-button:hover { background:var(--dga-hover-bg); }
.dga-menu-button[aria-expanded="true"],.dga-menu-button[aria-current="page"] { color:white; background:var(--dga-primary); font-weight:bold; }
.dga-submenu { border-radius:6px; background:var(--dga-surface-subtle); overflow:hidden; margin-top:4px; }
.dga-submenu[hidden] { display:none; }
.dga-submenu button { position:relative; display:block; width:100%; min-height:36px; border:0; padding:8px 16px 8px 46px; color:var(--dga-text-secondary); background:transparent; font:15px/20px var(--dga-font); text-align:left; cursor:pointer; }
.dga-submenu button:hover,.dga-submenu button[aria-current="page"] { background:var(--dga-hover-bg); }
.dga-submenu button[aria-current="page"] { color:var(--dga-primary); font-weight:bold; }
.dga-submenu button[aria-current="page"]::before { content:''; position:absolute; left:20px; top:14px; border:5px solid transparent; border-left:8px solid var(--dga-primary); }
.dga-list { width:260px; max-width:100%; border-radius:6px; overflow:hidden; color:var(--dga-text-secondary); font:15px/20px var(--dga-font); }
.dga-list--floating { box-shadow:var(--dga-shadow); background:white; }
.dga-list__title { display:block; padding:14px 20px; font-weight:bold; border-bottom:1px solid var(--dga-divider-strong); color:var(--dga-text); }
.dga-list__search { padding:20px; }.dga-list__search .dga-field { width:100%; }
.dga-list__item { display:flex; gap:20px; align-items:center; min-height:48px; padding:14px 20px; cursor:pointer; font-size:15px; color:inherit; border:0; text-align:left; width:100%; background:white; }
.dga-list__item:nth-child(even) { background:var(--dga-surface-subtle); }
.dga-list__item:hover { background:var(--dga-hover-bg); }
.dga-list__item:has(input:checked),.dga-list__item[aria-current] { color:var(--dga-primary); }
.dga-list .dga-choice { --dga-selection:var(--dga-primary); }
.dga-table-wrap { overflow:auto; max-width:100%; }
.dga-table { width:100%; border-collapse:collapse; border-top:1px solid var(--dga-divider-strong); color:var(--dga-text-secondary); font:15px/20px var(--dga-font); }
.dga-table th { color:var(--dga-text); font-size:16px; font-weight:400; text-align:left; }
.dga-table th,.dga-table td { height:48px; padding:8px 20px; vertical-align:middle; }
.dga-table tbody tr:nth-child(odd) { background:var(--dga-surface-subtle); }
.dga-table tbody tr:hover { background:var(--dga-hover-bg); }
.dga-table a { color:var(--dga-primary); text-decoration:none; }
.dga-sort { border:0; background:none; color:inherit; cursor:pointer; font:inherit; padding:0; display:inline-flex; align-items:center; gap:10px; text-align:left; }
.dga-sort .dga-icon { color:var(--dga-icon); }
.dga-divider { border:0; margin:20px 0; height:1px; background:var(--dga-divider-strong); }
.dga-divider--soft { background:var(--dga-divider); }.dga-divider--bold { height:4px; background:var(--dga-page-bg); }
.dga-divider--vertical { display:inline-block; height:99px; width:1px; margin:0 20px; }.dga-divider--vertical.dga-divider--bold { width:4px; }
.dga-card { --dga-card-color:var(--dga-divider); border-top:4px solid var(--dga-card-color); border-radius:4px; background:white; box-shadow:var(--dga-shadow); padding:20px; }
.dga-card--primary { --dga-card-color:var(--dga-icon); background:#ecf0f7; }.dga-card--success { --dga-card-color:var(--dga-success); background:#ebf3e9; }.dga-card--selection { --dga-card-color:var(--dga-selection); background:#e5e7f2; }.dga-card--danger { --dga-card-color:var(--dga-danger); background:#efdfdd; }
dga-progress { display:block; width:312px; max-width:100%; color:var(--dga-text-secondary); font:16px/20px var(--dga-font); }
.dga-progress-label { display:flex; justify-content:space-between; margin-bottom:4px; }.dga-progress-label span:last-child { color:var(--dga-selection); font-size:13px; }
.dga-progress-track { height:6px; background:var(--dga-divider-soft); overflow:hidden; }.dga-progress-fill { height:100%; background:var(--dga-primary); }
.dga-toast { display:flex; align-items:center; gap:12px; width:320px; max-width:100%; min-height:48px; padding:10px 12px 8px 16px; border-top:6px solid var(--dga-primary); border-radius:6px; box-shadow:var(--dga-shadow); background:white; color:var(--dga-text); font:16px/20px var(--dga-font); }
.dga-toast button { margin-left:auto; background:none; border:0; color:var(--dga-icon); padding:0; display:flex; cursor:pointer; }
.dga-toast--success { border-color:var(--dga-success); }.dga-toast--danger { border-color:var(--dga-danger); }.dga-toast--warning { border-color:var(--dga-warning); }
.dga-toast-region { position:fixed; z-index:10000; top:20px; right:20px; display:flex; flex-direction:column; gap:12px; max-width:calc(100vw - 40px); }
.dga-alert { --alert-color:var(--dga-primary); --alert-bg:#f8f9fa; display:flex; align-items:center; gap:10px; padding:8px 26px; min-height:40px; border-radius:44px; color:var(--alert-color); background:var(--alert-bg); font:700 16px/24px var(--dga-font); }
.dga-alert--info { --alert-color:var(--dga-info); --alert-bg:#def6fc; }.dga-alert--success { --alert-color:var(--dga-success); --alert-bg:#dcfae0; }.dga-alert--warning { --alert-color:var(--dga-warning); --alert-bg:#fdf1d3; }.dga-alert--danger { --alert-color:var(--dga-danger); --alert-bg:#f4dcdc; }
.dga-alert--solid { background:var(--alert-color); color:white; }
.dga-tooltip { position:relative; display:inline-flex; }
.dga-tooltip__content { visibility:hidden; position:absolute; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%); white-space:nowrap; background:var(--dga-text); color:white; padding:6px 16px; border-radius:4px; box-shadow:var(--dga-shadow); font:14px/20px var(--dga-font); z-index:40; }
.dga-tooltip:hover .dga-tooltip__content,.dga-tooltip:focus-within .dga-tooltip__content { visibility:visible; }
.dga-modal { position:fixed; padding:0; border:0; width:568px; max-width:calc(100vw - 40px); border-radius:6px; color:var(--dga-text); background:white; box-shadow:var(--dga-modal-shadow); overflow:visible; font:16px/20px var(--dga-font); }
.dga-modal::backdrop { background:rgb(0 0 0 / .45); }
.dga-modal__body { border-top:6px solid var(--dga-primary); border-radius:6px; min-height:200px; padding:38px 32px 30px; text-align:center; }
.dga-modal h2 { font-size:24px; line-height:28px; margin:0 0 10px; }.dga-modal p { color:var(--dga-icon); font-size:16px; margin:0; }
.dga-modal__close { position:absolute; right:12px; top:12px; width:20px; height:20px; border:0; background:none; color:var(--dga-icon); padding:0; cursor:pointer; }
.dga-modal__actions { display:flex; justify-content:center; gap:10px; margin-top:32px; }.dga-modal__actions .dga-button { width:180px; }
.dga-modal--danger .dga-modal__body { border-color:var(--dga-danger); padding-top:55px; }
.dga-modal--danger .dga-modal__actions { margin-top:15px; }
.dga-modal__warning { width:88px; height:88px; border:7px solid var(--dga-danger); border-radius:50%; position:absolute; top:-44px; left:50%; transform:translateX(-50%); display:grid; place-items:center; background:white; color:var(--dga-danger); font:bold 60px/74px Arial; text-align:center; }
.dga-modal__warning svg { display:block; width:14px; height:44px; fill:currentColor; }
.dga-modal--template { width:848px; }.dga-modal--template .dga-modal__body { text-align:left; padding:0; min-height:326px; }.dga-modal--template h2 { margin:0; padding:28px 32px 18px; border-bottom:1px solid var(--dga-divider); }.dga-modal__content { padding:20px 32px; }.dga-modal--template .dga-modal__actions { padding:20px 32px 30px; margin-top:36px; }
.dga-drawer { position:fixed; inset:0 0 0 auto; margin:0; border:0; padding:0; width:640px; max-width:90vw; height:100dvh; max-height:none; background:white; color:var(--dga-text); font:16px/20px var(--dga-font); }.dga-drawer::backdrop { background:rgb(0 0 0 / .45); }.dga-drawer h2 { margin:0; padding:30px; border-bottom:1px solid var(--dga-divider); font-size:24px; }.dga-drawer__body { padding:30px; }
dga-calendar { display:inline-block; width:283px; max-width:100%; vertical-align:top; }.dga-calendar { background:white; border-radius:4px; box-shadow:var(--dga-shadow); padding:14px 29px 15px; color:var(--dga-text); font:14px/20px var(--dga-font); }
.dga-calendar-head { display:flex; align-items:center; justify-content:space-between; height:24px; margin-bottom:12px; color:var(--dga-primary); font-weight:bold; }
.dga-calendar-head button { border:0; color:inherit; background:none; padding:0; cursor:pointer; font:inherit; }.dga-calendar-head .dga-icon { width:16px; height:16px; }
.dga-calendar-grid { display:grid; grid-template-columns:repeat(7,24px); column-gap:9px; row-gap:6px; }
.dga-calendar-week { text-align:center; color:var(--dga-icon); height:20px; }
.dga-calendar-day { border:0; border-radius:6px; width:24px; height:23px; color:var(--dga-text); background:#f8f9fa; font:14px/20px var(--dga-font); cursor:pointer; padding:0; }
.dga-calendar-day:hover { background:var(--dga-hover-bg); }.dga-calendar-day[aria-pressed="true"] { background:var(--dga-primary); color:white; }.dga-calendar-day[data-outside] { color:var(--dga-placeholder); }.dga-calendar-day:disabled { opacity:.3; cursor:not-allowed; }.dga-calendar-day:focus-visible { outline:2px solid var(--dga-primary); outline-offset:2px; }
.dga-month-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:10px; }.dga-month-grid button { border:0; height:30px; border-radius:6px; background:#f8f9fa; color:var(--dga-text); cursor:pointer; font:14px/20px var(--dga-font); }.dga-month-grid button[aria-pressed="true"] { background:var(--dga-primary); color:white; }
.dga-calendar-range { display:inline-flex; border-radius:4px; box-shadow:var(--dga-shadow); padding:0; max-width:100%; }.dga-calendar-range .dga-calendar { box-shadow:none; }.dga-calendar-range dga-calendar + dga-calendar { position:relative; }.dga-calendar-range dga-calendar + dga-calendar::before { content:''; position:absolute; top:21px; bottom:21px; left:0; width:1px; background:var(--dga-divider); }
dga-date-picker .dga-dropdown { overflow:visible; max-height:none; padding:0; min-width:283px; }.dga-date-picker-popover { box-shadow:none; }
dga-time-picker { display:inline-block; }.dga-time { display:flex; gap:6px; align-items:center; padding:12px 16px; width:284px; max-width:100%; border-radius:4px; box-shadow:var(--dga-shadow); background:white; color:var(--dga-text); font:16px/20px var(--dga-font); }.dga-time .dga-input { width:66px; border-color:var(--dga-neutral); }.dga-time button { height:36px; width:48px; border:0; background:#ecf0f7; color:var(--dga-icon); font:700 16px/20px var(--dga-font); cursor:pointer; }.dga-time button[aria-pressed="true"] { color:var(--dga-primary); background:var(--dga-field-bg); }
dga-chart { display:block; width:100%; color:var(--dga-text); }.dga-chart-svg { width:100%; height:auto; display:block; font-family:var(--dga-font); }.dga-chart-svg text { fill:var(--dga-text-muted); font-size:12px; }.dga-chart-svg .dga-chart-value { fill:var(--dga-text); font-size:48px; font-weight:700; }.dga-chart-svg .dga-chart-label { fill:var(--dga-text); font-size:15px; }.dga-chart-data { font:12px/20px var(--dga-font); color:var(--dga-text-muted); margin-top:10px; }.dga-chart-data summary { cursor:pointer; }.dga-chart-data table { border-collapse:collapse; width:100%; }.dga-chart-data td { padding:4px 10px; border-bottom:1px solid var(--dga-divider-soft); }
.dga-app-shell { display:grid; grid-template-columns:300px minmax(0,1fr); grid-template-rows:60px 1fr; min-height:720px; background:var(--dga-page-bg); color:var(--dga-text); font:16px/20px var(--dga-font); }.dga-app-header { grid-column:1 / -1; padding:0 20px; background:var(--dga-primary); color:white; display:flex; align-items:center; justify-content:space-between; gap:20px; font-weight:bold; }.dga-app-sidebar { padding:30px 20px; background:white; }.dga-app-content { margin:20px; padding:20px; min-width:0; background:white; border-radius:6px; }
@media (prefers-reduced-motion:reduce) { .dga-switch input::after { transition:none; } }
@media (max-width:640px) { .dga-modal__body { padding-left:20px; padding-right:20px; }.dga-modal__actions .dga-button { font-size:16px; }.dga-calendar-range { flex-wrap:wrap; }.dga-calendar-range dga-calendar + dga-calendar::before { display:none; }.dga-tablist { overflow-x:auto; padding:0; }.dga-app-shell { grid-template-columns:1fr; }.dga-app-header { min-height:60px; height:auto; }.dga-app-sidebar { padding:20px; }.dga-app-sidebar .dga-menu { width:100%; }.dga-app-content { margin:10px; } }

.dga [hidden] { display:none!important; }

.dga-modal__actions { margin-top:32px; }
.dga-modal--danger .dga-modal__actions { margin-top:15px; }
.dga-modal--template .dga-modal__actions { margin-top:36px; }
/* Persistent brand, complete application header and source personal-center panel. */
dga-brand { display:block; width:var(--dga-brand-width,200px); max-width:100%; flex:none; }
.dga-brand { display:block; width:100%; height:auto; }
dga-topbar { display:block; grid-column:1/-1; min-width:0; }
.dga-topbar { display:flex; align-items:center; justify-content:space-between; gap:24px; height:60px; padding:0 20px; color:white; background:var(--dga-primary); font:16px/20px var(--dga-font); }
.dga-topbar__title { min-width:0; font-size:16px; line-height:20px; }
.dga-topbar__tools { display:flex; align-items:center; flex:none; gap:10px; }
.dga-topbar__date { display:flex; flex-direction:column; text-align:right; font:400 14px/16px Arial,sans-serif; white-space:nowrap; }
.dga-topbar__time { font:700 36px/44px Arial,sans-serif; font-variant-numeric:tabular-nums; white-space:nowrap; }
.dga-topbar__action { display:grid; place-items:center; width:32px; height:32px; padding:4px; border:0; border-radius:6px; background:var(--dga-primary-hover); color:white; cursor:pointer; flex:none; }
.dga-topbar__action:hover { background:#306bbe; }.dga-topbar__action:focus-visible { outline:2px solid white; outline-offset:3px; }
.dga-app-shell--fixed { height:100dvh; min-height:0; overflow:hidden; }
.dga-app-shell--fixed .dga-app-sidebar { display:flex; flex-direction:column; min-height:0; overflow:hidden; padding-top:54px; }
.dga-app-sidebar > dga-brand { margin:0 auto 54px; }
.dga-app-sidebar__scroll { overflow:auto; min-height:0; }
.dga-app-shell--fixed .dga-app-content { overflow:auto; }
dga-profile { display:block; width:100%; color:var(--dga-text); font:16px/20px var(--dga-font); }
.dga-profile { padding:30px; background:white; }
.dga-profile__identity { display:flex; gap:24px; align-items:center; }
.dga-profile__avatar { width:120px; height:120px; flex:none; display:flex; justify-content:center; align-items:flex-start; overflow:hidden; border-radius:6px; background:var(--dga-field-bg); }
.dga-profile__avatar img { display:block; width:94px; height:126px; object-fit:contain; }
.dga-profile__name { min-width:0; transform:translateY(-8px); }.dga-profile__name h3 { margin:0 0 10px; display:flex; align-items:center; gap:10px; font:700 24px/29px var(--dga-font); }
.dga-profile__name p { margin:0; color:var(--dga-text-muted); font-size:16px; overflow-wrap:anywhere; }
.dga-profile__verified { display:inline-grid; place-items:center; width:10px; height:10px; border:1px solid var(--dga-text); border-radius:50%; flex:none; }
.dga-profile__detail { align-self:flex-start; margin:18px 0 0 auto; width:24px; height:24px; flex:none; padding:0; border:0; background:none; color:var(--dga-text-muted); cursor:pointer; }
.dga-profile__facts { margin:20px 0 16px; display:grid; gap:0; }
.dga-profile__facts > div { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:44px; }
.dga-profile__facts dt { display:flex; align-items:center; gap:18px; color:var(--dga-text-muted); flex:none; }.dga-profile__facts dd { margin:0; text-align:right; overflow-wrap:anywhere; min-width:0; }
.dga-profile > .dga-divider { margin:0 0 27px; background:var(--dga-divider); }
.dga-profile__fields { display:grid; gap:19px; }.dga-profile__fields .dga-field { width:100%; gap:6px; }.dga-profile__fields label { color:var(--dga-text-muted); }.dga-profile__fields textarea { height:271px; min-height:140px; resize:vertical; }
.dga-drawer--profile { width:640px; max-width:100vw; overflow-y:auto; }
.dga-drawer--profile > h2 { height:76px; padding:28px 58px 20px 30px; font:700 24px/28px var(--dga-font); }
.dga-drawer--profile > .dga-modal__close { top:28px; right:24px; }
@media(max-width:900px) { .dga-topbar__title { font-size:13px; }.dga-topbar { gap:16px; }.dga-app-sidebar > dga-brand { --dga-brand-width:180px; } }
@media(max-width:640px) {
 .dga-topbar { height:auto; min-height:60px; padding:12px 16px; flex-wrap:wrap; gap:10px; }.dga-topbar__title { width:100%; }.dga-topbar__tools { margin-left:auto; }
 .dga-app-shell--fixed { grid-template-rows:auto auto minmax(0,1fr); }.dga-app-shell--fixed .dga-app-sidebar { padding:12px 16px; gap:12px; }.dga-app-sidebar > dga-brand { --dga-brand-width:140px; margin:0; }
 .dga-app-sidebar__scroll { display:flex; align-items:center; gap:12px; }.dga-app-sidebar__scroll .dga-menu { display:flex; gap:10px; width:max-content; }.dga-app-sidebar__scroll .dga-menu-button { width:200px; }.dga-app-sidebar__scroll .dga-submenu { display:none; }.dga-app-sidebar__scroll > .back { display:none; }
 .dga-profile { padding:24px 20px; }.dga-profile__identity { gap:16px; }.dga-profile__avatar { width:96px; height:96px; }.dga-profile__avatar img { width:75px; height:101px; }.dga-profile__name h3 { font-size:20px; gap:6px; }.dga-profile__name p { font-size:14px; }.dga-profile__facts { font-size:14px; }.dga-profile__facts dt { gap:10px; }.dga-profile__facts > div { gap:12px; }.dga-profile__detail { margin-top:8px; }.dga-drawer--profile > h2 { font-size:22px; padding-left:20px; }
}
