:root{--color-bg: #F5F5F5;--color-surface: #FFFFFF;--color-border: #DBDBDB;--color-overlay: rgba(7, 39, 45, .52);--color-text: #000000;--color-text-muted: #768489;--color-accent: #EEC202;--color-accent-hover: #000000;--color-accent-ink: #000000;--color-success: #00C252;--color-error: #E65053;--color-on-badge: #FFFFFF;--color-brand-teal: #00AFAC;--color-brand-navy: #07272D;--color-chip: #EFEFEF;--font-sans: "DM Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-title-size: 20px;--font-title-line: 28px;--font-title-weight: 500;--font-kpi-size: 28px;--font-kpi-line: 32px;--font-kpi-weight: 600;--font-body-size: 15px;--font-body-line: 22px;--font-body-weight: 400;--font-caption-size: 12px;--font-caption-line: 16px;--font-caption-weight: 500;--radius-sm: 6px;--radius-md: 10px;--radius-pill: 999px;--border-width: 1px;--shadow: none;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--page-max: 1280px;--header-height: 56px;--drawer-width: 360px;--login-card-width: 360px;--grid-gap: 16px}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--font-body-size);line-height:var(--font-body-line);font-weight:var(--font-body-weight);color:var(--color-text);background:var(--color-bg)}button,input,select{font-family:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.caption{font-size:var(--font-caption-size);line-height:var(--font-caption-line);font-weight:var(--font-caption-weight)}.muted{color:var(--color-text-muted)}.app-header{position:sticky;top:0;z-index:10;height:var(--header-height);background:var(--color-surface);border-bottom:var(--border-width) solid var(--color-border)}.app-header-inner,.page-inner{max-width:var(--page-max);margin:0 auto;padding:0 var(--space-6)}.app-header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:var(--space-2)}.wordmark{font-size:var(--font-title-size);line-height:var(--font-title-line);font-weight:var(--font-title-weight);color:var(--color-text);white-space:nowrap}.wordmark-accent{color:var(--color-accent)}.icon-btn{width:40px;height:40px;padding:0;border:none;background:transparent;color:var(--color-text);cursor:pointer;display:grid;place-items:center;border-radius:var(--radius-sm);flex-shrink:0}.icon-btn svg{display:block}.dashboard{padding:var(--space-6) 0}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:var(--grid-gap)}.dashboard-grid>*{min-width:0}.dashboard-grid>:first-child{grid-column:1 / -1}@media(min-width:700px)and (max-width:1099px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid>:nth-child(n+8){grid-column:1 / -1}}@media(min-width:1100px){.dashboard-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboard-grid>:nth-child(n+2):nth-child(-n+7){grid-column:span 2}.dashboard-grid>:nth-child(n+8){grid-column:span 3}}@media(max-width:699px){.app-header-inner,.page-inner{padding:0 var(--space-4)}}.card{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow);overflow:hidden}.kpi-card{padding:var(--space-5) var(--space-5) var(--space-6);display:flex;flex-direction:column;min-height:112px}.kpi-card-title{margin:0 0 var(--space-3);font-size:var(--font-caption-size);line-height:var(--font-caption-line);font-weight:var(--font-caption-weight);color:var(--color-text-muted);min-height:calc(var(--font-caption-line) * 2)}.kpi-card-value{font-size:var(--font-kpi-size);line-height:var(--font-kpi-line);font-weight:var(--font-kpi-weight);color:var(--color-text);font-variant-numeric:tabular-nums;min-height:var(--font-kpi-line);display:flex;align-items:center}.kpi-empty{color:var(--color-text-muted)}.kpi-card-clickable{cursor:pointer;text-decoration:none;color:inherit;display:block}.kpi-card-clickable:hover{background:var(--color-bg)}.data-table-card{min-width:0}.data-table-title{margin:0;padding:var(--space-5) var(--space-5) var(--space-3);font-size:var(--font-caption-size);line-height:var(--font-caption-line);font-weight:var(--font-caption-weight);color:var(--color-text-muted)}.data-table-wrap{overflow-x:auto}.data-table{width:100%;min-width:520px;border-collapse:collapse;table-layout:fixed}.data-table th{font-size:var(--font-caption-size);line-height:var(--font-caption-line);font-weight:var(--font-caption-weight);color:var(--color-text-muted);text-align:left;padding:0 var(--space-5);height:36px;border-bottom:var(--border-width) solid var(--color-border)}.data-table td{font-size:var(--font-body-size);line-height:var(--font-body-line);padding:0 var(--space-5);height:40px;border-bottom:var(--border-width) solid var(--color-border);color:var(--color-text);font-variant-numeric:tabular-nums}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--color-bg)}.data-table tbody tr.data-table-row-link{cursor:pointer}.data-table tbody tr.data-table-row-link td{padding:0}.data-table-cell-link{display:flex;align-items:center;box-sizing:border-box;height:40px;padding:0 var(--space-5);color:inherit;text-decoration:none;overflow:hidden}.col-url .data-table-cell-link{display:block;line-height:40px;text-overflow:ellipsis;white-space:nowrap}.col-priority .data-table-cell-link,.col-changefreq .data-table-cell-link{justify-content:flex-end}.data-table .col-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:18px}.data-table .col-priority,.data-table .col-changefreq{text-align:right;white-space:nowrap;width:18%}.data-table .col-lastmod{white-space:nowrap;width:22%;font-variant-numeric:tabular-nums}.data-table .col-empty{text-align:left;color:var(--color-text)}.table-pager{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-top:var(--border-width) solid var(--color-border)}.pager-status{font-size:var(--font-caption-size);line-height:var(--font-caption-line);font-weight:var(--font-caption-weight);color:var(--color-text-muted);font-variant-numeric:tabular-nums;min-width:3.5em;text-align:center}.pager-btn{width:32px;height:32px;padding:0;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;display:grid;place-items:center}.pager-btn svg{display:block}.pager-btn:hover:not(:disabled){background:var(--color-bg)}.pager-btn:disabled{color:var(--color-text-muted);cursor:default}.pill{display:inline-block;font-size:var(--font-caption-size);line-height:var(--font-caption-line);font-weight:var(--font-caption-weight);border-radius:var(--radius-pill);padding:4px 8px;border:var(--border-width) solid transparent}.pill-success{background:var(--color-success);color:var(--color-on-badge)}.pill-error{background:var(--color-error);color:var(--color-on-badge)}.pill-muted{background:var(--color-bg);color:var(--color-text-muted);border-color:var(--color-border)}.login-page{min-height:100vh;display:grid;place-items:center;padding:var(--space-4);background:var(--color-bg)}.login-card{width:100%;max-width:var(--login-card-width);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:var(--space-6)}.login-form,.field{display:flex;flex-direction:column;gap:var(--space-2)}.login-form{gap:var(--space-4)}.field-label{font-size:var(--font-caption-size);line-height:var(--font-caption-line);font-weight:var(--font-caption-weight);color:var(--color-text-muted)}.field-control{width:100%;height:40px;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:0 var(--space-3);font-size:var(--font-body-size);line-height:var(--font-body-line);box-shadow:none}input.field-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}.field-error{margin:0;font-size:var(--font-caption-size);line-height:var(--font-caption-line);font-weight:var(--font-caption-weight);color:var(--color-error)}.btn-accent{width:100%;height:40px;border:none;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-accent-ink);font-size:15px;line-height:20px;font-weight:600;cursor:pointer}.btn-accent:hover:not(:disabled){background:var(--color-accent-hover);color:var(--color-accent)}.btn-accent:focus-visible{outline:2px solid var(--color-text);outline-offset:1px}.btn-accent:disabled{cursor:default;opacity:.7}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);z-index:20}.modal-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--login-card-width);max-width:calc(100% - 32px);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);z-index:21}.modal-body{margin:0;padding:var(--space-5);font-size:var(--font-body-size);line-height:var(--font-body-line);color:var(--color-text);white-space:pre-wrap;word-break:break-word}.drawer-panel{position:fixed;top:0;right:0;bottom:0;width:var(--drawer-width);max-width:100%;background:var(--color-surface);border-left:var(--border-width) solid var(--color-border);z-index:21;display:flex;flex-direction:column;transform:translate(0)}@media(max-width:639px){.drawer-panel{width:100%;border-left:none}}.drawer-header{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 var(--space-4);border-bottom:var(--border-width) solid var(--color-border);flex-shrink:0}.drawer-title{margin:0;font-size:var(--font-title-size);line-height:var(--font-title-line);font-weight:var(--font-title-weight)}.drawer-body{flex:1;overflow:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.drawer-footer{padding:var(--space-4);border-top:var(--border-width) solid var(--color-border);flex-shrink:0}.weekday-row{display:flex;gap:var(--space-1)}.weekday-btn{flex:1;height:36px;padding:0;border:var(--border-width) solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm);font-size:var(--font-caption-size);line-height:var(--font-caption-line);font-weight:var(--font-caption-weight);color:var(--color-text);cursor:pointer}.weekday-btn.is-on{background:var(--color-text);border-color:var(--color-text);color:var(--color-surface)}.field-check{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-caption-size);line-height:var(--font-caption-line);font-weight:var(--font-caption-weight);color:var(--color-text-muted);cursor:pointer}.field-check input{width:16px;height:16px;margin:0;accent-color:var(--color-text)}
