@font-face{font-family:ADPortsGroup;src:url(https://www.adportsgroup.com/assets/fonts/ADPortsGroup-Light.woff) format("woff");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:ADPortsGroup;src:url(https://www.adportsgroup.com/assets/fonts/ADPortsGroup-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:ADPortsGroup;src:url(https://www.adportsgroup.com/assets/fonts/ADPortsGroup-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}:root{--color-deep-blue: #2d3955;--color-ocean-blue: #218bc9;--color-digital-purple: #a187bf;--color-ecfz-red: #f9423a;--color-logistic-green: #70d647;--color-maritime-teal: #13c5bd;--color-ports-light-blue: #b0d6e3;--color-white: #ffffff;--color-off-white: #f6f6f6;--color-pearl-grey: #d9d9d6;--color-silver-grey: #a7a8a9;--color-space-grey: #63666a;--shadow-level-1: rgba(45, 57, 85, .08) 0 2px 8px;--shadow-level-2: rgba(45, 57, 85, .12) 0 4px 16px;--shadow-level-3: rgba(45, 57, 85, .16) 0 8px 24px;--focus-ring-width: 2px;--focus-ring-offset: 3px;--space-xs: 8px;--space-sm: 16px;--space-md: 24px;--space-lg: 40px;--space-xl: 64px;--space-2xl: 96px;--surface-page: var(--color-white);--surface-muted: var(--color-off-white);--surface-raised: var(--color-white);--surface-inverse: var(--color-deep-blue);--surface-inverse-deep: #11172a;--text-primary: var(--color-deep-blue);--text-secondary: var(--color-space-grey);--text-on-inverse: var(--color-white);--border-subtle: var(--color-pearl-grey);--border-strong: var(--color-silver-grey)}[data-theme=dark]{--surface-page: #1b2236;--surface-muted: #232c44;--surface-raised: #2d3955;--surface-inverse: #11172a;--surface-inverse-deep: #0a0f1d;--text-primary: var(--color-white);--text-secondary: var(--color-pearl-grey);--text-on-inverse: var(--color-white);--border-subtle: rgba(255, 255, 255, .12);--border-strong: rgba(255, 255, 255, .24);--shadow-level-1: rgba(45, 57, 85, .32) 0 2px 8px;--shadow-level-2: rgba(45, 57, 85, .44) 0 4px 16px;--shadow-level-3: rgba(45, 57, 85, .56) 0 8px 24px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:ADPortsGroup,Tahoma,sans-serif;color:var(--text-primary);background:var(--surface-page);transition:background-color .2s ease,color .2s ease}button,a{font:inherit}a{color:inherit;text-decoration:none}button{border:0;cursor:pointer}:focus-visible{outline:var(--focus-ring-width) solid var(--color-ocean-blue);outline-offset:var(--focus-ring-offset)}.top-nav{position:fixed;z-index:20;top:0;left:0;right:0;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 80px;color:var(--color-white);background:var(--color-deep-blue)}.brand,.nav-links{display:flex;align-items:center;gap:var(--space-md);font-size:14px;font-weight:700}.brand-mark{display:grid;place-items:center;width:40px;height:40px;color:var(--color-deep-blue);background:var(--color-white);border-radius:4px}.nav-links a{min-height:44px;display:flex;align-items:center}.container{width:min(1280px,calc(100% - 160px));margin:0 auto}.section{padding:var(--space-2xl) 0}.section-dark{color:var(--color-white);background:var(--color-deep-blue)}.section-light{background:var(--color-white)}.section-offwhite{background:var(--color-off-white)}.hero{position:relative;min-height:720px;padding-top:72px;overflow:hidden}.hero-grid{min-height:648px;display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,4fr);align-items:center;gap:var(--space-xl);position:relative}.hero-copy{max-width:760px}.eyebrow{margin-bottom:var(--space-sm);font-size:14px;font-weight:700;line-height:1.4}.eyebrow.blue{color:var(--color-ocean-blue)}.eyebrow.red{color:var(--color-ecfz-red)}h1,h2,h3{font-weight:700;line-height:1.2}h1{font-size:clamp(40px,7vw,61px);max-width:680px}h2{font-size:clamp(28px,4vw,40px)}h3{font-size:20px}p{color:inherit;font-size:16px;line-height:1.6}.lead{max-width:620px;margin-top:var(--space-md);font-size:18px}.button-row,.button-stack{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-md)}.button-stack{flex-direction:column;align-items:flex-start}.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:4px;font-weight:700;font-size:14px;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.btn-primary{color:var(--color-white);background:var(--color-deep-blue)}.btn-primary:hover,.btn-on-dark:hover{color:var(--color-white);background:var(--color-ocean-blue)!important;box-shadow:var(--shadow-level-3);transform:translateY(-2px)}.cluster-button:hover{box-shadow:var(--shadow-level-3);transform:translateY(-2px)}.btn-secondary{color:var(--color-deep-blue);background:transparent;border:1px solid var(--color-deep-blue)}.btn-secondary:hover,.btn-outline-dark:hover{color:var(--color-white);background:var(--color-ocean-blue);border-color:var(--color-ocean-blue)}.btn-on-dark{color:var(--color-deep-blue);background:var(--color-white)}.btn-outline-dark{color:var(--color-white);background:transparent;border:1px solid var(--color-white)}.text-btn{min-height:44px;color:var(--color-deep-blue);background:transparent;font-weight:700}.text-btn.light{color:var(--color-white)}.text-btn:hover{color:var(--color-ocean-blue);text-decoration:underline}.btn:disabled,.text-btn:disabled,.field-demo input:disabled{cursor:not-allowed;opacity:.48;transform:none;box-shadow:none}.sample-hover,.sample-pressed,.sample-error{color:var(--color-white)!important;background:var(--color-ocean-blue)!important;border-color:var(--color-ocean-blue)!important}.sample-pressed{background:#296487!important;box-shadow:#2d39550f 0 1px 4px;transform:translateY(1px)}.sample-focused{outline:var(--focus-ring-width) solid var(--color-ocean-blue);outline-offset:var(--focus-ring-offset)}.focus-measure{position:relative}.focus-measure:after{content:"2px ring / 3px offset";position:absolute;z-index:2;left:0;bottom:calc(100% + 8px);padding:4px 8px;color:var(--color-white);background:var(--color-deep-blue);border-radius:4px;font-size:12px;font-weight:700;line-height:1.2;white-space:nowrap;box-shadow:var(--shadow-level-1)}.sample-error{background:var(--color-ecfz-red)!important;border-color:var(--color-ecfz-red)!important}.text-btn.sample-hover,.text-btn.sample-pressed,.text-btn.sample-error{color:var(--color-ocean-blue)!important;background:transparent!important;text-decoration:underline;box-shadow:none}.text-btn.sample-error{color:var(--color-ecfz-red)!important}.hero-panel,.demo-card,.service-card,.cluster-card,.token-card{border-radius:8px;box-shadow:var(--shadow-level-1)}.hero-panel{padding:var(--space-md);color:var(--color-deep-blue);background:var(--color-white);box-shadow:var(--shadow-level-2)}.hero-panel strong{display:block;margin:var(--space-sm) 0;font-size:31px;line-height:1.2}.panel-kicker,.service-card span,.cluster-card span,.type-row span{font-size:12px;font-weight:700}.radar{position:absolute;border:1px solid rgba(255,255,255,.24);border-radius:50%}.radar-one{width:520px;height:520px;right:-120px;top:120px}.radar-two{width:760px;height:760px;right:-240px;top:0}.section-heading{max-width:760px;margin-bottom:var(--space-xl)}.section-heading.narrow{max-width:680px}.section-heading p:last-child,.split p,.grid-demo p{margin-top:var(--space-sm);color:var(--color-space-grey)}.section-dark .section-heading p:last-child,.section-dark .lead,.footer p{color:var(--color-white)}.color-grid,.component-grid,.cluster-grid,.guidelines-grid,.state-grid,.input-grid,.card-playground-grid,.kpi-grid,.feedback-grid,.split-playground{display:grid;gap:var(--space-md)}.color-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.token-card{overflow:hidden;background:var(--color-white);transition:box-shadow .2s ease,transform .2s ease}.token-card:hover,.service-card:hover,.cluster-card:hover{box-shadow:var(--shadow-level-3);transform:translateY(-2px)}.swatch{height:96px}.token-card div:last-child{padding:var(--space-sm)}code{display:inline-block;margin:var(--space-xs) 0;color:var(--color-space-grey);font-family:Tahoma,sans-serif;font-size:14px}.split,.grid-demo,.footer-grid{display:grid;grid-template-columns:5fr 7fr;gap:var(--space-xl);align-items:start}.type-list,.spacing-scale{background:var(--color-white);border-radius:8px;box-shadow:var(--shadow-level-1)}.type-row{display:grid;grid-template-columns:1fr auto 1.3fr;gap:var(--space-sm);align-items:center;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-pearl-grey)}.type-row:last-child{border-bottom:0}.type-row small,.spacing-scale small,.token-card p,.service-card p,.cluster-card h3{color:var(--color-space-grey);line-height:1.6}.component-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.demo-card,.service-card,.cluster-card{padding:var(--space-md);background:var(--color-white);color:var(--color-deep-blue)}.dark-demo{color:var(--color-white);background:#26334f;box-shadow:none}.card-accent{width:100%;height:2px;margin-bottom:var(--space-md);background:var(--color-ocean-blue)}.service-card p,.service-card a,.cluster-card h3{margin-top:var(--space-sm)}.service-card a{display:inline-flex;min-height:44px;align-items:center;color:var(--color-ocean-blue);font-weight:700}.cluster-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.cluster-card{border-top:2px solid var(--color-ocean-blue)}.cluster-button{min-height:44px;margin-top:var(--space-md);padding:10px 16px;border-radius:4px;color:var(--color-deep-blue);font-weight:700}.playground-stack{display:grid;gap:var(--space-lg)}.focus-mode-bar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);padding:var(--space-sm) var(--space-md);color:var(--color-deep-blue);background:var(--color-white);border:1px solid var(--color-ocean-blue);border-radius:8px;box-shadow:var(--shadow-level-1)}.focus-mode-bar p{margin-top:4px;color:var(--color-space-grey)}.playground-panel{padding:var(--space-md);color:var(--color-deep-blue);background:var(--color-white);border-radius:8px;box-shadow:var(--shadow-level-1)}.playground-header{display:flex;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-md);align-items:start}.playground-header.compact{margin-bottom:var(--space-sm)}.interactive-preview{display:grid;gap:var(--space-sm);margin-bottom:var(--space-md);padding:var(--space-sm);background:var(--color-off-white);border-radius:8px}.component-toggle-row{display:grid;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-white);border-radius:8px}.component-toggle-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-sm)}.component-toggle-header span,.toggle-label{display:block;margin-bottom:var(--space-xs);font-size:12px;font-weight:700}.input-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.state-toggle-group{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.compact-toggle{margin-bottom:var(--space-sm)}.state-toggle{min-height:44px;padding:10px 14px;color:var(--color-deep-blue);background:var(--color-white);border:1px solid var(--color-pearl-grey);border-radius:4px;font-size:12px;font-weight:700}.state-toggle.is-active{color:var(--color-white);background:var(--color-deep-blue);border-color:var(--color-deep-blue)}.preview-stage{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-white);border-radius:8px}.focus-spec-row{display:inline-grid;grid-template-columns:auto auto auto;align-items:center;justify-content:start;gap:var(--space-xs);min-height:44px;padding:8px 12px;color:var(--color-deep-blue);background:var(--color-white);border-left:2px solid var(--color-ocean-blue);border-radius:4px}.focus-spec-row span,.focus-spec-row small{color:var(--color-space-grey);font-size:12px;font-weight:700}.focus-spec-row strong{color:var(--color-ocean-blue);font-size:14px}.focus-token-card{display:grid;gap:var(--space-xs);padding:var(--space-sm);background:var(--color-white);border:1px solid var(--color-pearl-grey);border-radius:8px}.focus-token-card>span{font-size:12px;font-weight:700}.focus-token-row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:var(--space-xs);align-items:center;min-height:44px;padding-top:var(--space-xs);border-top:1px solid var(--color-pearl-grey)}.focus-token-row small{color:var(--color-space-grey);font-size:12px;font-weight:700}.focus-token-row code{margin:0;color:var(--color-deep-blue)}.focus-token-row strong{color:var(--color-ocean-blue);font-size:14px}.state-chip,.badge{display:inline-flex;min-height:44px;align-items:center;padding:10px 16px;border-radius:4px;font-size:12px;font-weight:700}.state-chip{color:var(--color-deep-blue);background:var(--color-off-white)}.state-grid,.input-grid,.card-playground-grid,.kpi-grid,.feedback-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.state-sample,.field-demo{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-off-white);border-radius:8px}.state-sample span,.field-demo span,.play-card span{font-size:12px;font-weight:700}.dark-state-row{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-md);padding:var(--space-md);background:var(--color-deep-blue);border-radius:8px}.field-demo input,.field-demo select,.field-demo textarea{width:100%;min-height:48px;padding:14px 16px;color:var(--color-deep-blue);background:var(--color-white);border:1px solid var(--color-pearl-grey);border-radius:4px;font:inherit}.field-demo textarea{min-height:96px;resize:vertical}.field-demo small{color:var(--color-space-grey);line-height:1.6}.field-demo.is-focused input{border-color:var(--color-ocean-blue);outline:var(--focus-ring-width) solid var(--color-ocean-blue);outline-offset:var(--focus-ring-offset)}.field-demo.sample-hover input{border-color:var(--color-ocean-blue);box-shadow:var(--shadow-level-1)}.field-demo.sample-pressed input{border-color:#296487;box-shadow:#2d39550f 0 1px 4px;transform:translateY(1px)}.field-demo.sample-focused input{border-color:var(--color-ocean-blue);outline:var(--focus-ring-width) solid var(--color-ocean-blue);outline-offset:var(--focus-ring-offset)}.field-demo.is-error input,.field-demo.sample-error input{border-color:var(--color-ecfz-red)}.field-demo.is-error small,.field-demo.sample-error small,.field-demo small.helper-error{color:var(--color-ecfz-red)}.field-demo.sample-disabled input{cursor:not-allowed;opacity:.48}.preview-field{max-width:520px;background:var(--color-white)}.field-demo.wide{grid-column:span 2}.play-card{padding:var(--space-md);background:var(--color-white);border-radius:8px;box-shadow:var(--shadow-level-1);transition:box-shadow .2s ease,transform .2s ease}.play-card:hover,.selected-card{box-shadow:var(--shadow-level-3);transform:translateY(-2px)}.play-card h4,.dialog-preview h4{margin-top:var(--space-sm);font-size:20px;line-height:1.4}.play-card p,.dialog-preview p{margin-top:var(--space-sm);color:var(--color-space-grey)}.cluster-accent-card{border-top:2px solid var(--color-maritime-teal)}.digital-accent-card{border-top:2px solid var(--color-digital-purple)}.selected-card{border:1px solid var(--color-ocean-blue)}.image-placeholder{aspect-ratio:16 / 9;margin:calc(var(--space-md) * -1) calc(var(--space-md) * -1) var(--space-md);background:var(--color-deep-blue);border-radius:8px 8px 0 0}.split-playground{grid-template-columns:5fr 7fr}.badge-row{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.badge-corporate{color:var(--color-white);background:var(--color-ocean-blue)}.badge-neutral{color:var(--color-deep-blue);background:var(--color-pearl-grey)}.badge-digital{color:var(--color-deep-blue);background:var(--color-digital-purple)}.badge-logistics{color:var(--color-deep-blue);background:var(--color-logistic-green)}.badge-ecfz{color:var(--color-white);background:var(--color-ecfz-red)}.badge-maritime{color:var(--color-deep-blue);background:var(--color-maritime-teal)}.badge-ports{color:var(--color-deep-blue);background:var(--color-ports-light-blue)}.badge.sample-hover{box-shadow:var(--shadow-level-2);transform:translateY(-2px)}.badge.sample-pressed{box-shadow:#2d39550f 0 1px 4px;transform:translateY(1px)}.badge.sample-focused{outline:var(--focus-ring-width) solid var(--color-ocean-blue);outline-offset:var(--focus-ring-offset)}.badge.sample-disabled{opacity:.48}.dialog-preview{position:relative;padding:var(--space-md);background:var(--color-white);border-radius:8px;box-shadow:var(--shadow-level-2)}.dialog-preview.sample-hover{box-shadow:var(--shadow-level-3);transform:translateY(-2px)}.dialog-preview.sample-pressed{box-shadow:#2d39550f 0 1px 4px;transform:translateY(1px)}.dialog-preview.sample-focused{outline:var(--focus-ring-width) solid var(--color-ocean-blue);outline-offset:var(--focus-ring-offset)}.dialog-preview.sample-error{border:1px solid var(--color-ecfz-red)}.dialog-preview.sample-disabled{opacity:.58}.dialog-close{position:absolute;top:var(--space-sm);right:var(--space-sm);width:44px;height:44px;color:var(--color-deep-blue);background:var(--color-off-white);border-radius:4px;font-size:25px}.dialog-close.sample-focused{outline:var(--focus-ring-width) solid var(--color-ocean-blue);outline-offset:var(--focus-ring-offset)}.dialog-focus-spec{margin-top:var(--space-sm)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-md)}.kpi-card,.feedback-card{padding:var(--space-md);background:var(--color-white);border-radius:8px;box-shadow:var(--shadow-level-1)}.kpi-card span,.feedback-card span,.data-table th{color:var(--color-space-grey);font-size:12px;font-weight:700}.kpi-card strong{display:block;margin-top:var(--space-sm);color:var(--color-deep-blue);font-size:40px;line-height:1.2}.kpi-card p,.feedback-card p{margin-top:var(--space-xs);color:var(--color-space-grey)}.kpi-card small{display:inline-flex;margin-top:var(--space-sm);padding:6px 8px;color:var(--color-deep-blue);background:var(--color-off-white);border-left:2px solid var(--color-ocean-blue);border-radius:4px;font-weight:700}.data-table-wrap{margin-top:var(--space-md);overflow-x:auto;border:1px solid var(--color-pearl-grey);border-radius:8px}.data-table{width:100%;min-width:640px;border-collapse:collapse}.data-table th,.data-table td{min-height:56px;padding:var(--space-sm);text-align:left;border-bottom:1px solid var(--color-pearl-grey)}.data-table th{background:var(--color-off-white)}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--color-off-white)}.feedback-card h4{margin-top:var(--space-sm);font-size:20px;line-height:1.4}.feedback-card .text-btn{margin-top:var(--space-sm)}.feedback-error{border-top:2px solid var(--color-ecfz-red)}.feedback-loading{border-top:2px solid var(--color-ocean-blue)}.feedback-empty{border-top:2px solid var(--color-pearl-grey)}.loading-bars{display:grid;gap:var(--space-xs);margin-top:var(--space-sm)}.loading-bars i{display:block;height:12px;background:var(--color-pearl-grey);border-radius:4px}.loading-bars i:nth-child(2){width:72%}.loading-bars i:nth-child(3){width:48%}.spacing-scale{padding:var(--space-md)}.spacing-scale div{display:grid;grid-template-columns:150px 1fr auto;gap:var(--space-sm);align-items:center;min-height:48px}.spacing-scale span{display:block;height:16px;background:var(--color-ocean-blue)}.guidelines-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guidelines-grid article{padding:var(--space-lg);background:var(--color-off-white);border-radius:8px}ul{margin-top:var(--space-md);padding-left:var(--space-md)}li{margin-bottom:var(--space-sm);line-height:1.6}.footer{padding:var(--space-xl) 0}@media(max-width:1100px){.top-nav{padding:0 40px}.container{width:min(100% - 80px,1280px)}.color-grid,.component-grid,.state-grid,.input-grid,.card-playground-grid,.kpi-grid,.feedback-grid,.cluster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.top-nav{height:56px;padding:0 20px}.nav-links{display:none}.container{width:calc(100% - 40px)}.section{padding:var(--space-xl) 0}.hero{min-height:560px;padding-top:56px}.hero-grid,.split,.grid-demo,.footer-grid,.guidelines-grid,.split-playground{grid-template-columns:1fr;gap:var(--space-lg)}.hero-grid{min-height:auto;padding:var(--space-xl) 0}.hero-panel{margin-top:var(--space-lg)}.color-grid,.component-grid,.cluster-grid,.state-grid,.input-grid,.card-playground-grid,.kpi-grid,.feedback-grid,.input-toggle-grid{grid-template-columns:1fr}.field-demo.wide{grid-column:span 1}.playground-header,.focus-mode-bar,.dialog-actions{flex-direction:column;align-items:stretch}.button-row,.button-stack,.btn{width:100%}.type-row,.spacing-scale div,.focus-spec-row,.focus-token-row{grid-template-columns:1fr}.radar-one,.radar-two{opacity:.4}}.notification{display:grid;grid-template-columns:1fr auto;gap:var(--space-sm);align-items:start;padding:var(--space-sm);background:var(--color-white);border-left:2px solid var(--color-ocean-blue);border-radius:8px;box-shadow:var(--shadow-level-1)}.notification-success{border-left-color:var(--color-logistic-green)}.notification-warning,.notification-error{border-left-color:var(--color-ecfz-red)}.notification span,.file-upload label span{color:var(--color-space-grey);font-size:12px;font-weight:700}.notification h4{margin-top:var(--space-xs);color:var(--color-deep-blue);font-size:20px}.notification p{margin-top:var(--space-xs);color:var(--color-space-grey)}.notification>button{width:44px;height:44px;color:var(--color-deep-blue);background:var(--color-off-white);border-radius:4px;font-size:20px}.chart-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:var(--space-md);min-height:280px;padding:var(--space-md);background:var(--color-white);border:1px solid var(--color-pearl-grey);border-radius:8px}.chart-preview div{position:relative;min-height:80px;border-radius:4px 4px 0 0}.chart-preview span{position:absolute;left:0;right:0;bottom:calc(100% + 8px);color:var(--color-deep-blue);font-size:12px;font-weight:700;text-align:center}.tabs-preview,.accordion-preview,.file-upload,.search-filter-bar{display:grid;gap:var(--space-sm);margin-top:var(--space-md)}.tab-list{display:flex;flex-wrap:wrap;gap:var(--space-xs);border-bottom:1px solid var(--color-pearl-grey)}.tab-list button{min-height:44px;padding:10px 16px;color:var(--color-deep-blue);background:transparent;border-bottom:2px solid transparent;font-size:12px;font-weight:700}.tab-list button[aria-selected=true]{color:var(--color-ocean-blue);border-bottom-color:var(--color-ocean-blue)}.tab-panel,.accordion-item>div,.file-upload,.search-filter-bar{padding:var(--space-sm);background:var(--color-off-white);border-radius:8px}.tab-panel p,.accordion-item p,.file-upload p{color:var(--color-space-grey)}.accordion-item{background:var(--color-white);border:1px solid var(--color-pearl-grey);border-radius:8px;overflow:hidden}.accordion-item>button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm);color:var(--color-deep-blue);background:var(--color-white);font-weight:700;text-align:left}.breadcrumb ol{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin:0;padding:0;list-style:none}.breadcrumb li{display:inline-flex;align-items:center;gap:var(--space-xs);margin:0;color:var(--color-space-grey);font-size:14px}.breadcrumb li:not(:last-child):after{content:"/";color:var(--color-silver-grey)}.breadcrumb a,.breadcrumb span{min-height:44px;display:inline-flex;align-items:center}.breadcrumb a:hover{color:var(--color-ocean-blue)}.breadcrumb [aria-current=page]{color:var(--color-deep-blue);font-weight:700}.filter-chip-row{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.filter-chip-row button,.file-row button{min-height:44px;padding:10px 14px;color:var(--color-deep-blue);background:var(--color-white);border:1px solid var(--color-pearl-grey);border-radius:4px;font-size:12px;font-weight:700}.file-upload label{display:grid;gap:var(--space-xs)}.file-upload input{min-height:48px;padding:12px;color:var(--color-deep-blue);background:var(--color-white);border:1px solid var(--color-pearl-grey);border-radius:4px;font:inherit}.file-row{display:grid;grid-template-columns:1fr auto auto;gap:var(--space-sm);align-items:center;padding:var(--space-sm);background:var(--color-white);border-radius:8px}.file-row strong{color:var(--color-deep-blue);font-size:12px}.upload-progress{height:12px;overflow:hidden;background:var(--color-pearl-grey);border-radius:4px}.upload-progress span{display:block;height:100%;background:var(--color-ocean-blue)}.preview-link-grid,.preview-layout,.preview-two-column,.tab-content-grid{display:grid;gap:var(--space-md)}.preview-link-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:var(--space-lg)}.preview-link-grid a{min-height:56px;display:flex;align-items:center;padding:var(--space-sm);color:var(--color-deep-blue);background:var(--color-white);border-left:2px solid var(--color-ocean-blue);border-radius:8px;box-shadow:var(--shadow-level-1);font-size:12px;font-weight:700}.preview-hero{padding:120px 0 var(--space-xl)}.preview-hero .breadcrumb{margin-bottom:var(--space-lg)}.preview-hero .breadcrumb li,.preview-hero .breadcrumb a,.preview-hero .breadcrumb span{color:var(--color-white)}.preview-layout{grid-template-columns:minmax(240px,3fr) minmax(0,9fr);align-items:start}.preview-rules{position:sticky;top:96px;padding:var(--space-md);color:var(--color-deep-blue);background:var(--color-white);border-radius:8px;box-shadow:var(--shadow-level-1)}.preview-rules ul{padding-left:var(--space-sm)}.preview-workspace,.preview-controls,.file-upload-preview,.file-list-preview,.activity-list{display:grid;gap:var(--space-sm)}.preview-two-column{grid-template-columns:minmax(220px,3fr) minmax(0,9fr);align-items:stretch}.chart-canvas,.notification-stage,.file-upload-preview{padding:var(--space-md);background:var(--color-off-white);border:1px solid var(--color-pearl-grey);border-radius:8px}.notification-action{align-self:center}.notification-stage-toast .notification{max-width:440px;margin-left:auto}.muted-copy,.activity-list p,.file-upload-preview p,.file-row small{color:var(--color-space-grey)}.tab-content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upload-dropzone{display:grid;gap:var(--space-xs);padding:var(--space-md);background:var(--color-white);border:1px solid var(--color-pearl-grey);border-radius:8px}.upload-dropzone span,.upload-dropzone strong{color:var(--color-deep-blue)}.upload-dropzone input{min-height:48px;padding:12px;color:var(--color-deep-blue);background:var(--color-off-white);border:1px solid var(--color-pearl-grey);border-radius:4px;font:inherit}.file-upload-preview.is-disabled{opacity:.58}.file-list-preview .file-row{grid-template-columns:minmax(0,1fr) auto auto}.file-row span{display:grid;gap:4px}.file-row .upload-progress{grid-column:1 / -1}.file-row-error{border-left:2px solid var(--color-ecfz-red)}.file-row-ready,.file-row-uploading{border-left:2px solid var(--color-ocean-blue)}@media(max-width:767px){.notification,.file-row,.preview-layout,.preview-two-column,.preview-link-grid,.tab-content-grid{grid-template-columns:1fr}.preview-rules{position:static}.chart-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.tab-list{flex-wrap:nowrap;overflow-x:auto}}[data-theme=dark] .section-light{background:var(--surface-page)}[data-theme=dark] .section-offwhite{background:var(--surface-muted)}[data-theme=dark] .section-dark,[data-theme=dark] .top-nav,[data-theme=dark] .hero{color:var(--text-on-inverse);background:var(--surface-inverse-deep)}[data-theme=dark] .brand-mark{color:var(--surface-inverse-deep);background:var(--color-white)}[data-theme=dark] .hero-panel,[data-theme=dark] .token-card,[data-theme=dark] .demo-card,[data-theme=dark] .service-card,[data-theme=dark] .cluster-card,[data-theme=dark] .play-card,[data-theme=dark] .dialog-preview,[data-theme=dark] .kpi-card,[data-theme=dark] .feedback-card,[data-theme=dark] .focus-mode-bar,[data-theme=dark] .playground-panel,[data-theme=dark] .focus-token-card,[data-theme=dark] .component-toggle-row,[data-theme=dark] .preview-stage,[data-theme=dark] .focus-spec-row,[data-theme=dark] .preview-rules,[data-theme=dark] .preview-link-grid a,[data-theme=dark] .notification,[data-theme=dark] .accordion-item,[data-theme=dark] .accordion-item>button,[data-theme=dark] .file-row,[data-theme=dark] .upload-dropzone,[data-theme=dark] .type-list,[data-theme=dark] .spacing-scale,[data-theme=dark] .preview-field,[data-theme=dark] .chart-preview{color:var(--text-primary);background:var(--surface-raised)}[data-theme=dark] .field-demo input,[data-theme=dark] .field-demo select,[data-theme=dark] .field-demo textarea,[data-theme=dark] .file-upload input,[data-theme=dark] .upload-dropzone input,[data-theme=dark] .filter-chip-row button,[data-theme=dark] .file-row button,[data-theme=dark] .state-toggle{color:var(--text-primary);background:var(--surface-raised);border-color:var(--border-subtle)}[data-theme=dark] .state-toggle.is-active{color:var(--color-white);background:var(--color-ocean-blue);border-color:var(--color-ocean-blue)}[data-theme=dark] .state-sample,[data-theme=dark] .field-demo,[data-theme=dark] .interactive-preview,[data-theme=dark] .tab-panel,[data-theme=dark] .accordion-item>div,[data-theme=dark] .file-upload,[data-theme=dark] .search-filter-bar,[data-theme=dark] .guidelines-grid article,[data-theme=dark] .chart-canvas,[data-theme=dark] .notification-stage,[data-theme=dark] .file-upload-preview{background:var(--surface-muted);border-color:var(--border-subtle)}[data-theme=dark] .data-table-wrap{border-color:var(--border-subtle)}[data-theme=dark] .data-table th{color:var(--text-secondary);background:var(--surface-muted)}[data-theme=dark] .data-table th,[data-theme=dark] .data-table td,[data-theme=dark] .type-row,[data-theme=dark] .focus-token-row{border-color:var(--border-subtle)}[data-theme=dark] .data-table tbody tr:hover{background:var(--surface-muted)}[data-theme=dark] .data-table td,[data-theme=dark] .type-row,[data-theme=dark] .accordion-item>button{color:var(--text-primary)}[data-theme=dark] .section-heading p:last-child,[data-theme=dark] .split p,[data-theme=dark] .grid-demo p,[data-theme=dark] .type-row small,[data-theme=dark] .spacing-scale small,[data-theme=dark] .token-card p,[data-theme=dark] .service-card p,[data-theme=dark] .cluster-card h3,[data-theme=dark] .play-card p,[data-theme=dark] .dialog-preview p,[data-theme=dark] .kpi-card p,[data-theme=dark] .feedback-card p,[data-theme=dark] .notification p,[data-theme=dark] .focus-mode-bar p,[data-theme=dark] .field-demo small,[data-theme=dark] .breadcrumb li,[data-theme=dark] .muted-copy,[data-theme=dark] .activity-list p,[data-theme=dark] .file-upload-preview p,[data-theme=dark] .file-row small,[data-theme=dark] code{color:var(--text-secondary)}[data-theme=dark] .section-dark .section-heading p:last-child,[data-theme=dark] .section-dark .lead,[data-theme=dark] .footer p,[data-theme=dark] .preview-hero .breadcrumb li,[data-theme=dark] .preview-hero .breadcrumb a,[data-theme=dark] .preview-hero .breadcrumb span{color:var(--text-on-inverse)}[data-theme=dark] .breadcrumb a:hover{color:var(--color-ocean-blue)}[data-theme=dark] .state-chip,[data-theme=dark] .kpi-card small,[data-theme=dark] .dialog-close,[data-theme=dark] .notification>button{color:var(--text-primary);background:var(--surface-muted)}[data-theme=dark] .badge-neutral{color:var(--text-primary);background:var(--surface-muted)}[data-theme=dark] .loading-bars i,[data-theme=dark] .upload-progress{background:var(--border-subtle)}[data-theme=dark] .btn-secondary{color:var(--text-primary);border-color:var(--border-strong)}[data-theme=dark] .text-btn{color:var(--text-primary)}[data-theme=dark] .focus-spec-row span,[data-theme=dark] .focus-spec-row small,[data-theme=dark] .focus-token-row small,[data-theme=dark] .panel-kicker,[data-theme=dark] .service-card span,[data-theme=dark] .cluster-card span,[data-theme=dark] .type-row span,[data-theme=dark] .kpi-card span,[data-theme=dark] .feedback-card span,[data-theme=dark] .data-table th,[data-theme=dark] .notification span,[data-theme=dark] .file-upload label span,[data-theme=dark] .state-sample span,[data-theme=dark] .field-demo span,[data-theme=dark] .play-card span,[data-theme=dark] .file-row strong{color:var(--text-secondary)}.theme-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px;background:#ffffff14;border-radius:4px}.theme-toggle button{min-width:44px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;color:var(--color-white);background:transparent;border-radius:4px;font-size:12px;font-weight:700;transition:background-color .2s ease,color .2s ease}.theme-toggle button[aria-pressed=true]{color:var(--color-deep-blue);background:var(--color-white)}.theme-toggle button:hover:not([aria-pressed=true]){background:#ffffff29}[data-theme=dark] .theme-toggle{background:#ffffff0f}:root{--chart-approved: var(--color-logistic-green);--chart-rejected: var(--color-ecfz-red);--chart-review: var(--color-maritime-teal);--chart-processing: var(--color-ocean-blue);--chart-failed: var(--color-space-grey);--chart-empty: var(--color-pearl-grey)}[data-theme=dark]{--chart-approved: var(--color-logistic-green);--chart-rejected: var(--color-ecfz-red);--chart-review: var(--color-maritime-teal);--chart-processing: var(--color-ocean-blue);--chart-failed: var(--color-space-grey);--chart-empty: var(--color-pearl-grey)}html,body,#root{height:100%}[dir=rtl]{text-align:right}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:var(--space-lg);color:var(--color-white);background:var(--surface-inverse-deep)}.auth-card{width:min(380px,100%);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-md);padding:var(--space-xl) var(--space-lg)}.auth-logo{height:64px;width:auto;margin-bottom:var(--space-xs)}.auth-divider{width:56px;height:3px;background:var(--color-ecfz-red);border-radius:2px}.auth-title{font-size:40px;font-weight:700;color:var(--color-white);line-height:1.2}.auth-subtitle{color:var(--color-pearl-grey);font-size:16px;line-height:1.5;max-width:360px}.auth-form{width:100%;display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-sm)}.auth-form .field-demo{display:flex;flex-direction:column;gap:6px;text-align:left;padding:0;background:transparent;border-radius:0}[dir=rtl] .auth-form .field-demo{text-align:right}.auth-form .field-demo span{color:var(--color-pearl-grey);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.auth-form input{width:100%;height:40px;padding:8px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:var(--color-white);font:inherit;font-size:14px;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.auth-form input::placeholder{color:#ffffff59}.auth-form input:hover{border-color:#ffffff47;background:#ffffff14}.auth-form input:focus{outline:none;border-color:var(--color-ocean-blue);background:#ffffff1a;box-shadow:0 0 0 var(--focus-ring-width) #218bc959}.auth-form input:-webkit-autofill{-webkit-text-fill-color:var(--color-white);-webkit-box-shadow:0 0 0 1000px rgba(255,255,255,.06) inset;caret-color:var(--color-white)}.auth-cta{min-height:56px;width:100%;border-radius:999px;color:var(--color-white);background:var(--color-ecfz-red);font-weight:700;font-size:15px;letter-spacing:.02em}.auth-cta:hover{background:var(--color-ocean-blue);box-shadow:var(--shadow-level-3);transform:translateY(-1px)}.auth-meta{color:var(--color-silver-grey);font-size:12px;line-height:1.5}.auth-link{color:var(--color-ports-light-blue);font-weight:700;font-size:13px;background:transparent}.auth-error{width:100%;padding:10px 14px;border-left:3px solid var(--color-ecfz-red);background:#f9423a1f;color:var(--color-white);font-size:13px;text-align:left;border-radius:2px}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background:var(--surface-muted)}.app-sidebar{background:var(--surface-inverse-deep);color:var(--color-white);padding:var(--space-md) var(--space-sm);display:flex;flex-direction:column;gap:var(--space-md);position:sticky;top:0;height:100vh}.app-sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 8px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.app-sidebar-brand img{height:32px}.app-sidebar-brand-text{display:flex;flex-direction:column;line-height:1.1}.app-sidebar-brand-text strong{font-size:14px;font-weight:700}.app-sidebar-brand-text small{font-size:11px;color:var(--color-pearl-grey)}.app-nav{display:flex;flex-direction:column;gap:2px}.app-nav a{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 14px;border-radius:4px;color:var(--color-pearl-grey);font-size:14px;font-weight:700;border-left:3px solid transparent}.app-nav a:hover{background:#ffffff0a;color:var(--color-white)}.app-nav a.active{background:#218bc91f;color:var(--color-white);border-left-color:var(--color-ecfz-red)}[dir=rtl] .app-nav a{border-left:none;border-right:3px solid transparent}[dir=rtl] .app-nav a.active{border-right-color:var(--color-ecfz-red)}.app-sidebar-brand-text--bottom{margin-top:auto;padding:0 8px}.app-sidebar-footer{font-size:11px;color:var(--color-silver-grey);padding:8px 8px 0;border-top:1px solid rgba(255,255,255,.08);margin-top:8px}.app-sidebar-myareas{margin:12px 8px 8px;padding:10px 12px;background:#ffffff0f;border-left:3px solid var(--color-ports-light-blue);border-radius:4px;color:var(--color-white);font-size:12px;line-height:1.4}.app-sidebar-myareas-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-silver-grey);margin-bottom:4px}.app-sidebar-myareas-codes{font-weight:600;word-break:break-word}[dir=rtl] .app-sidebar-myareas{border-left:none;border-right:3px solid var(--color-ports-light-blue)}.owner-chips{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.owner-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--surface-muted);color:var(--text-primary);font-size:11px;font-weight:600}.owner-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px 2px 2px;border-radius:12px;background:var(--surface-muted);font-size:12px;max-width:180px}.owner-chip .owner-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owner-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--color-ocean-blue);color:var(--color-white);font-size:10px;font-weight:700;flex-shrink:0}.owners-split{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.owners-panel{display:flex;flex-direction:column;gap:8px;border:1px solid var(--border-subtle);border-radius:6px;padding:12px;background:var(--surface-page);min-height:320px}.owners-panel-header{display:flex;align-items:baseline;justify-content:space-between}.owners-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;overflow-y:auto;max-height:340px}.owners-list-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:4px}.owners-list-item:hover{background:var(--surface-muted)}.owners-list-meta{flex:1;min-width:0;display:flex;flex-direction:column}.owners-list-meta strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owners-list-meta small{font-size:11px}@media(max-width:720px){.owners-split{grid-template-columns:1fr}}.app-main{display:flex;flex-direction:column;min-width:0}.app-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:14px 32px;background:var(--surface-page);border-bottom:1px solid var(--border-subtle)}.app-topbar-title{font-size:18px;font-weight:700;color:var(--text-primary)}.app-topbar-actions{display:flex;align-items:center;gap:var(--space-sm)}.app-topbar-user{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}.app-topbar-user strong{font-size:13px}.app-topbar-user small{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.icon-btn{min-height:40px;min-width:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border-radius:4px;background:transparent;color:var(--text-primary);font-size:13px;font-weight:700}.app-content{flex:1;padding:var(--space-lg) 32px;display:flex;flex-direction:column;gap:var(--space-md);min-width:0}.page-header{display:flex;flex-direction:column;gap:6px}.page-header h1{font-size:28px;max-width:none}.page-header p{color:var(--text-secondary);font-size:14px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-sm)}.surface-panel{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:6px;padding:var(--space-md);box-shadow:var(--shadow-level-1);display:flex;flex-direction:column;gap:var(--space-sm)}.surface-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.surface-panel-header h2{font-size:18px}.surface-panel-header p{font-size:13px;color:var(--text-secondary)}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;line-height:1.2}.status-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-approved{background:#70d64729;color:#2e7a18}.status-rejected{background:#f9423a24;color:var(--color-ecfz-red)}.status-review{background:#ffa80029;color:#b06d00}.status-processing{background:#218bc929;color:var(--color-ocean-blue)}.status-pending{background:#63666a29;color:var(--color-space-grey)}[data-theme=dark] .status-approved{color:#9be37f}[data-theme=dark] .status-review{color:#ffc04d}[data-theme=dark] .status-pending{color:var(--color-pearl-grey)}.app-table{width:100%;border-collapse:collapse}.app-table th,.app-table td{text-align:left;padding:12px 14px;font-size:13px;border-bottom:1px solid var(--border-subtle)}[dir=rtl] .app-table th,[dir=rtl] .app-table td{text-align:right}.app-table th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);background:var(--surface-muted)}.app-table tbody tr:hover{background:var(--surface-muted);cursor:pointer}.app-table-wrap{overflow-x:auto;border-radius:6px;border:1px solid var(--border-subtle);background:var(--surface-raised)}.empty-state{padding:var(--space-xl) var(--space-md);text-align:center;color:var(--text-secondary);font-size:14px}.skeleton{background:linear-gradient(90deg,var(--surface-muted),var(--border-subtle),var(--surface-muted));background-size:200% 100%;animation:skeleton-shimmer 1.4s infinite;border-radius:4px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toolbar{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center;justify-content:space-between}.toolbar-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.select-input,.search-input{min-height:40px;padding:0 12px;border-radius:4px;border:1px solid var(--border-subtle);background:var(--surface-raised);color:var(--text-primary);font:inherit;font-size:13px}.select-input:focus,.search-input:focus{outline:var(--focus-ring-width) solid var(--color-ocean-blue);outline-offset:1px}.toast-stack{position:fixed;top:88px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:100}[dir=rtl] .toast-stack{right:auto;left:24px}.toast{min-width:280px;padding:12px 16px;border-radius:4px;background:var(--surface-inverse);color:var(--color-white);font-size:13px;font-weight:700;box-shadow:var(--shadow-level-2);border-left:3px solid var(--color-ocean-blue)}.toast.success{border-left-color:var(--color-logistic-green)}.toast.error{border-left-color:var(--color-ecfz-red)}.toast.warning{border-left-color:#ffa800}@media(max-width:880px){.app-shell{grid-template-columns:1fr}.app-sidebar{position:relative;height:auto}}.chart-grid{display:grid;gap:var(--space-md)}.chart-grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.chart-grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.chart-box{height:280px;width:100%;direction:ltr}.chart-box.sm{height:220px}.chart-box .recharts-legend-item-text{direction:ltr;unicode-bidi:isolate}.kpi-sub{display:flex;gap:6px;align-items:center;font-size:11px;margin-top:4px}.kpi-delta-up{color:var(--color-logistic-green);font-weight:700}.kpi-delta-down{color:var(--color-ecfz-red);font-weight:700}.kpi-delta-flat{color:var(--text-secondary);font-weight:700}.sparkline{height:36px;width:100%;margin-top:6px}.gauge-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:var(--space-md)}.gauge-stat .gauge-value{font-size:40px;font-weight:800;color:var(--text-primary);line-height:1}.gauge-stat .gauge-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.feed-time{color:var(--text-secondary);font-size:12px}.toolbar-filter{display:flex;flex-direction:column;gap:4px}.toolbar-filter>span{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:700}@media print{.app-sidebar,.app-topbar,.toolbar,.no-print{display:none!important}.app-content{padding:0}}.modal-backdrop{position:fixed;inset:0;background:#00000073;display:grid;place-items:center;z-index:200;padding:var(--space-md)}.modal-card{background:var(--surface-raised);border-radius:8px;box-shadow:var(--shadow-level-3);max-width:100%;max-height:90vh;display:flex;flex-direction:column;border:1px solid var(--border-subtle)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-subtle)}.modal-header h2{font-size:18px}.modal-body{padding:var(--space-lg);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-md)}.modal-actions{display:flex;gap:var(--space-sm);justify-content:flex-end;padding-top:var(--space-sm);border-top:1px solid var(--border-subtle)}.drawer-backdrop{position:fixed;inset:0;background:#00000059;z-index:200;display:flex;justify-content:flex-end}.drawer-panel{width:min(720px,100%);height:100%;background:var(--surface-raised);display:flex;flex-direction:column;box-shadow:var(--shadow-level-3);border-left:1px solid var(--border-subtle)}[dir=rtl] .drawer-backdrop{justify-content:flex-start}[dir=rtl] .drawer-panel{border-left:none;border-right:1px solid var(--border-subtle)}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-subtle)}.drawer-header h2{font-size:18px}.drawer-body{padding:var(--space-lg);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-lg)}.drawer-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-sm)}.drawer-meta>div{display:flex;flex-direction:column;gap:4px;padding:var(--space-sm);background:var(--surface-muted);border-radius:4px;min-width:0}.drawer-meta>div>strong{overflow-wrap:anywhere;word-break:break-word}.drawer-meta span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-weight:700}.drawer-section{display:flex;flex-direction:column;gap:var(--space-sm)}.drawer-section h3{font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-sm)}.form-field{display:flex;flex-direction:column;gap:4px}.form-field>span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.rule-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.rule-item{display:flex;gap:var(--space-sm);align-items:flex-start;padding:var(--space-sm);background:var(--surface-muted);border-radius:4px;border:1px solid var(--border-subtle)}.rule-item input[type=checkbox]{margin-top:3px}.rule-item .muted{color:var(--text-secondary);font-size:12px;margin-top:2px}.rule-code{font-weight:800;font-size:13px;min-width:44px;padding:4px 8px;background:var(--surface-raised);border-radius:4px;text-align:center;border:1px solid var(--border-subtle)}.rule-body{flex:1;display:flex;flex-direction:column;gap:4px}.toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none}.toggle input{position:absolute;opacity:0;pointer-events:none}.toggle-slider{width:36px;height:20px;background:var(--surface-page);border:1px solid var(--border-strong);border-radius:999px;position:relative;transition:background .12s}.toggle-slider:after{content:"";position:absolute;top:1px;left:1px;width:16px;height:16px;background:var(--color-white);border-radius:50%;box-shadow:var(--shadow-level-1);transition:transform .12s}.toggle input:checked+.toggle-slider{background:var(--color-ocean-blue);border-color:var(--color-ocean-blue)}.toggle input:checked+.toggle-slider:after{transform:translate(16px)}.toggle input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.toggle-label{font-size:12px;font-weight:700}.row-actions{display:inline-flex;align-items:center;gap:6px;flex-wrap:nowrap;white-space:nowrap}.link-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--surface-page);border:1px solid var(--border-subtle);padding:6px 12px;min-height:30px;border-radius:6px;color:var(--color-ocean-blue);font-weight:700;font-size:11px;cursor:pointer;text-transform:uppercase;letter-spacing:.04em;transition:background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.link-btn:hover{text-decoration:none;background:var(--color-ocean-blue);border-color:var(--color-ocean-blue);color:var(--color-white);box-shadow:var(--shadow-level-1)}.link-btn:focus-visible{outline:2px solid var(--color-ocean-blue);outline-offset:2px}.link-btn.danger{color:var(--color-ecfz-red);border-color:#dc262640}.link-btn.danger:hover{background:var(--color-ecfz-red);border-color:var(--color-ecfz-red);color:var(--color-white)}.json-block{background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:4px;padding:var(--space-sm)}.json-block summary{font-weight:700;font-size:12px;cursor:pointer;padding:4px 0;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.json-block pre{margin-top:var(--space-sm);padding:var(--space-sm);background:var(--surface-page);border-radius:4px;font-size:12px;max-height:320px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,Menlo,Consolas,monospace}.diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);margin-top:var(--space-sm)}.diff-grid h4{font-size:11px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:4px}.diff-grid pre{background:var(--surface-page);padding:var(--space-sm);border-radius:4px;font-size:11px;max-height:240px;overflow:auto;font-family:ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.muted{color:var(--text-secondary);font-size:12px}.icon-btn{background:transparent;border:1px solid var(--border-subtle);border-radius:4px;padding:6px 10px;cursor:pointer;color:var(--text-primary);font-size:13px}.icon-btn:hover{background:var(--surface-muted)}.analytics-card{background:#fff;border-radius:12px;border:1px solid var(--border-subtle);box-shadow:0 4px 18px #0f172a0f;overflow:hidden;display:flex;flex-direction:column;position:relative;animation:analytics-fade-in .36s ease-out both}[data-theme=dark] .analytics-card{background:var(--surface-raised)}.analytics-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent, #3B82F6)}@keyframes analytics-fade-in{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.analytics-card-header{background:#0f172a;color:#fff;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.analytics-card-header h2{font-size:15px;font-weight:700;letter-spacing:.02em;margin:0;color:#fff}.analytics-card-header p{font-size:12px;color:#94a3b8;margin:2px 0 0}.analytics-card-header .ac-actions{display:flex;align-items:center;gap:6px}.ac-icon-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff14;color:#e2e8f0;border:1px solid rgba(255,255,255,.12);border-radius:6px;cursor:pointer;transition:background .18s ease,transform .18s ease}.ac-icon-btn:hover{background:#ffffff29}.ac-icon-btn:active{transform:scale(.94)}.ac-icon-btn.spin svg{animation:ac-spin .8s linear}@keyframes ac-spin{to{transform:rotate(360deg)}}.ac-tabs{display:inline-flex;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:2px;gap:2px}.ac-tab{background:transparent;color:#cbd5e1;border:0;padding:4px 10px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border-radius:6px;cursor:pointer;transition:background .18s ease,color .18s ease}.ac-tab:hover{color:#fff}.ac-tab.is-active{background:#fff;color:#0f172a}.analytics-card-body{padding:18px;min-height:320px;display:flex;flex-direction:column;gap:12px}.analytics-card-body.tall{min-height:360px}.analytics-card-header{min-height:56px}.analytics-card .recharts-bar-rectangle,.analytics-card .recharts-pie-sector,.analytics-card .recharts-rectangle.recharts-tooltip-cursor,.analytics-card .recharts-active-dot{cursor:pointer}.ac-range-fade{animation:ac-range-fade .32s ease-out both}@keyframes ac-range-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.donut-wrap{position:relative;height:260px;width:100%;direction:ltr}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.donut-center .dc-value{font-size:34px;font-weight:800;color:#0f172a;line-height:1}[data-theme=dark] .donut-center .dc-value{color:var(--text-primary)}.donut-center .dc-label{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin-top:6px}.donut-legend{display:flex;flex-wrap:wrap;gap:10px 20px;justify-content:center;padding-top:6px}.donut-legend-item{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#334155}[data-theme=dark] .donut-legend-item{color:var(--text-primary)}.donut-legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.donut-legend-item .dl-name{font-weight:600}.donut-legend-item .dl-count{color:#0f172a;font-weight:700}[data-theme=dark] .donut-legend-item .dl-count{color:var(--text-primary)}.donut-legend-item .dl-pct{color:#64748b}.ac-tooltip{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:8px;box-shadow:0 8px 24px #0f172a1f;padding:10px 12px;font-size:12px;color:#0f172a;min-width:140px}[data-theme=dark] .ac-tooltip{background:var(--surface-raised);color:var(--text-primary);border-color:var(--border-subtle)}.ac-tooltip .tt-title{font-weight:700;margin-bottom:6px;font-size:12px;color:#0f172a}[data-theme=dark] .ac-tooltip .tt-title{color:var(--text-primary)}.ac-tooltip .tt-row{display:flex;align-items:center;gap:8px;padding:2px 0}.ac-tooltip .tt-dot{width:8px;height:8px;border-radius:50%}.ac-tooltip .tt-name{color:#475569;flex:1}.ac-tooltip .tt-val{font-weight:700;color:#0f172a}[data-theme=dark] .ac-tooltip .tt-val{color:var(--text-primary)}.ac-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#94a3b8;text-align:center;padding:var(--space-lg)}.ac-empty svg{opacity:.5}.ac-empty-title{font-size:13px;font-weight:600;color:#64748b}.ac-skeleton{flex:1;display:flex;flex-direction:column;gap:8px;padding:8px 0}.ac-skel-row{height:14px;background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9);background-size:200% 100%;animation:skeleton-shimmer 1.4s infinite;border-radius:4px}[data-theme=dark] .ac-skel-row{background:linear-gradient(90deg,var(--surface-muted),var(--border-subtle),var(--surface-muted));background-size:200% 100%}.recharts-bar-rectangle{transition:opacity .2s ease}.anomaly-alerts-card{transition:transform .12s ease,box-shadow .12s ease}.anomaly-alerts-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-level-2)}.anomaly-alerts-card:focus-visible{outline:2px solid var(--color-ocean-blue);outline-offset:2px}.anomaly-view-link{font-size:12px;font-weight:600;color:var(--color-ocean-blue);letter-spacing:.02em}.anomaly-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md);width:100%}.anomaly-tile{border:1px solid var(--border-subtle);border-left-width:4px;border-radius:10px;padding:var(--space-md);display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:var(--surface-raised)}.anomaly-tile-count{font-size:32px;font-weight:800;line-height:1}.anomaly-tile-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-space-grey, #64748B)}.anomaly-tile.anomaly-high{border-left-color:#ef4444}.anomaly-tile.anomaly-high .anomaly-tile-count{color:#ef4444}.anomaly-tile.anomaly-medium{border-left-color:#f59e0b}.anomaly-tile.anomaly-medium .anomaly-tile-count{color:#f59e0b}.anomaly-tile.anomaly-low{border-left-color:#94a3b8}.anomaly-tile.anomaly-low .anomaly-tile-count{color:#64748b}.anomaly-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-md);margin-bottom:var(--space-md)}.anomaly-summary-tile{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:10px;padding:var(--space-md)}.anomaly-summary-tile .val{font-size:26px;font-weight:800}.anomaly-summary-tile .lbl{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.anomaly-summary-tile.high .val{color:#ef4444}.anomaly-summary-tile.medium .val{color:#f59e0b}.anomaly-summary-tile.low .val{color:#64748b}.severity-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.severity-badge.high{background:#ef44441f;color:#b91c1c}.severity-badge.medium{background:#f59e0b24;color:#92400e}.severity-badge.low{background:#64748b24;color:#334155}.type-badge{display:inline-block;padding:2px 10px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#3b82f61f;color:#1d4ed8}.status-badge{display:inline-block;padding:2px 10px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.status-badge.open{background:#3b82f61f;color:#1d4ed8}.status-badge.acknowledged{background:#22c55e24;color:#166534}.status-badge.dismissed{background:#64748b24;color:#475569}.anomaly-row.high td:first-child{box-shadow:inset 3px 0 #ef4444}.anomaly-row.medium td:first-child{box-shadow:inset 3px 0 #f59e0b}.anomaly-row.dismissed{opacity:.55}.anomaly-row.clickable{cursor:pointer}.anomaly-row.clickable:hover td{background:#0f172a08}.pct-bar{position:relative;width:100%;height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden}.pct-bar>span{position:absolute;inset:0 auto 0 0;background:#3b82f6;border-radius:999px}.pct-bar-label{font-size:11px;font-weight:600;color:#334155;margin-top:2px}.company-tag{display:inline-block;margin:2px 4px 2px 0;padding:2px 8px;background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:999px;font-size:11px;color:#334155}.expanded-row td{background:var(--surface-muted);padding:var(--space-md)}.expanded-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.expanded-grid dt{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:700;margin-bottom:4px}.expanded-grid dd{margin:0;font-size:13px;color:#0f172a}.status-badge.in-progress{background:#f59e0b24;color:#92400e;display:inline-flex;align-items:center;gap:6px}.status-badge.completed{background:#22c55e24;color:#166534}.status-badge.failed{background:#ef444424;color:#991b1b}.count-badge{background:#3b82f624;color:#1d4ed8;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.pulse-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#f59e0b;animation:pulse-anim 1.4s ease-in-out infinite}@keyframes pulse-anim{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.4)}}.last-run-line{margin-top:12px;font-size:12px;color:#475569;display:flex;align-items:center;gap:8px;cursor:pointer}.last-run-line:hover{color:#0f172a}
