/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.\!end{inset-inline-end:var(--spacing)!important}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.transform\!{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)!important}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.break-all{word-break:break-all}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}}:root{--bg:#f4f7fb;--paper:#fff;--ink:#172738;--muted:#647486;--line:#dbe3ec;--green:#174f7d;--green-soft:#eaf2f9;--amber:#b87918;--amber-soft:#fff4df;--red:#b7443e;--red-soft:#fcebea;--nav:#092743;--blue-dark:#0b2d4d;--blue:#174f7d;--blue-mid:#2f6f9f;--blue-soft:#eef5fb}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Microsoft YaHei,PingFang SC,system-ui,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:188px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .2s;display:grid}.app-shell.sidebar-auto{grid-template-columns:52px minmax(0,1fr)}.sidebar{z-index:80;color:#fff;background:linear-gradient(#051e344d,#051b2f8f),url(/assets/sidebar-engineering-bg.png) 76%/cover no-repeat;flex-direction:column;width:188px;height:100vh;padding:18px 10px;transition:width .2s,padding .2s;display:flex;position:sticky;top:0;overflow:hidden;box-shadow:8px 0 28px #0722391f}.app-shell.sidebar-auto:not(.sidebar-expanded) .sidebar{width:52px;padding-left:6px;padding-right:6px}.app-shell.sidebar-auto.sidebar-expanded .sidebar{width:188px}.brand{color:inherit;border-bottom:1px solid #b4d3eb2e;align-items:center;gap:9px;padding:0 6px 18px;text-decoration:none;display:flex}.brand-mark{color:#19221f;background:#d6a93e;border-radius:8px;place-items:center;width:31px;height:31px;font-size:14px;font-weight:800;display:grid}.brand strong,.brand small{white-space:nowrap;display:block}.brand strong{font-size:13px}.brand small{color:#a9c2d5;margin-top:3px;font-size:9px}.sidebar-mode-toggle{color:#d9e8f1;white-space:nowrap;background:#051e348c;border:1px solid #b4d3eb38;border-radius:7px;justify-content:center;align-items:center;gap:6px;width:100%;margin:10px 0 0;padding:7px 8px;display:flex}.sidebar-mode-toggle b{font-size:12px}.sidebar-mode-toggle span{font-size:10px}.sidebar-mode-toggle:hover{background:#4d87b24d}.sidebar nav{gap:3px;padding:18px 0;display:grid}.sidebar-nav-divider{background:#b7ccdb61;height:1px;margin:12px 11px 8px}.app-shell.sidebar-auto:not(.sidebar-expanded) .sidebar-nav-divider{margin-left:4px;margin-right:4px}.sidebar nav :is(button,a){color:#b7ccdb;text-align:left;background:0 0;border:0;border-radius:7px;padding:9px 11px;font-size:13px;line-height:1.35;text-decoration:none;transition:background .18s,color .18s,transform .18s;display:block}.sidebar nav button span{white-space:nowrap}.app-shell.sidebar-auto:not(.sidebar-expanded) .brand{justify-content:center;padding-left:0;padding-right:0}.app-shell.sidebar-auto:not(.sidebar-expanded) .brand>div,.app-shell.sidebar-auto:not(.sidebar-expanded) .sidebar-mode-toggle span,.app-shell.sidebar-auto:not(.sidebar-expanded) .side-note{display:none}.app-shell.sidebar-auto:not(.sidebar-expanded) .sidebar-mode-toggle{padding-left:0;padding-right:0}.app-shell.sidebar-auto:not(.sidebar-expanded) .sidebar nav button{text-align:center;place-items:center;height:38px;padding:0;font-size:9px;display:grid}.app-shell.sidebar-auto:not(.sidebar-expanded) .sidebar nav button span{display:none}.app-shell.sidebar-auto:not(.sidebar-expanded) .sidebar nav button:before{content:attr(data-short);letter-spacing:-1px;font-weight:700}.app-shell.sidebar-auto:not(.sidebar-expanded) .sidebar nav button.active{box-shadow:inset 2px 0 #d6a93e}.sidebar nav :is(button,a):hover,.sidebar nav button.active{color:#fff;background:#4d87b247}.sidebar nav button.active{box-shadow:inset 3px 0 #d6a93e}.app-shell.sidebar-auto:not(.sidebar-expanded) .sidebar nav a{text-align:center;place-items:center;height:38px;padding:0;font-size:9px;display:grid}.app-shell.sidebar-auto:not(.sidebar-expanded) .sidebar nav a span{display:none}.app-shell.sidebar-auto:not(.sidebar-expanded) .sidebar nav a:before{content:attr(data-short);letter-spacing:-1px;font-weight:700}.side-note{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#061f34a8;border:1px solid #9cc6e321;border-radius:8px;margin-top:auto;padding:10px 11px}.side-note span{color:#91aec2;font-size:9px}.side-note p{color:#d9e8f1;margin:6px 0 0;font-size:10px;line-height:1.65}.workspace{background:linear-gradient(#fff 0,#f8fafc 150px,#f4f7fb 100%);min-width:0;padding:26px 30px 48px}.solar-storage-workspace{border:1px solid var(--line);background:#fff;border-radius:12px;min-height:calc(100vh - 125px);overflow:hidden}.solar-storage-workspace iframe{border:0;width:100%;height:calc(100vh - 125px);min-height:680px;display:block}@media (width<=760px){.solar-storage-workspace,.solar-storage-workspace iframe{height:calc(100vh - 150px);min-height:calc(100vh - 150px)}}.topbar{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.eyebrow{color:var(--muted);margin:0 0 5px;font-size:12px}.topbar h1{letter-spacing:-.5px;margin:0;font-size:26px}.top-actions{align-items:center;gap:12px;display:flex}.top-actions select{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:160px;padding:9px 34px 9px 12px}.save-state{color:var(--muted);font-size:11px}.avatar{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.project-context{color:var(--muted);font-size:11px}.page-stack{gap:18px;display:grid}.decision-banner{border:1px solid;border-radius:12px;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.decision-banner span{color:var(--red);font-size:12px;font-weight:700}.decision-banner strong{margin-top:5px;font-size:20px;display:block}.decision-banner p{color:#6c514e;margin:5px 0 0;font-size:13px}.decision-banner button{color:var(--red);background:#fff;border:1px solid #dba8a3;border-radius:8px;padding:10px 14px;font-weight:700}.metric-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-row article{border:1px solid var(--line);background:var(--paper);border-radius:10px;min-height:104px;padding:16px;position:relative;overflow:hidden}.metric-row span,.metric-row small{color:var(--muted);font-size:11px;display:block}.metric-row strong{margin:8px 0;font-size:26px;display:block}.metric-row i{background:var(--green);height:4px;position:absolute;bottom:0;left:0}.danger-text{color:var(--red)}.project-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.project-strip article{border:1px solid var(--line);background:#fff;border-radius:12px;padding:18px}.project-strip article>div:first-child{justify-content:space-between;display:flex}.project-strip span{color:var(--muted);font-size:12px}.risk{border-radius:20px;padding:4px 8px;font-size:11px;font-style:normal}.risk.high{color:var(--red);background:var(--red-soft)}.risk.medium{color:var(--amber);background:var(--amber-soft)}.project-strip h2{margin:13px 0 4px;font-size:19px}.project-strip p{color:var(--muted);margin:0;font-size:12px}.progress-line{background:#e8eeeb;border-radius:10px;height:6px;margin:16px 0 10px;overflow:hidden}.progress-line i{background:var(--green);height:100%;display:block}.project-strip footer{align-items:center;gap:14px;display:flex}.project-strip footer strong{font-size:18px}.project-strip footer span{flex:1}.two-col{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:14px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;padding:18px}.panel-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding-bottom:14px;display:flex}.panel-title span,.section-header p{color:var(--muted);font-size:12px}.panel-title h2{margin:4px 0 0;font-size:17px}.panel-title b{color:var(--muted);font-size:11px;font-weight:500}.task-list,.gate-list{display:grid}.task-list button,.gate-list button{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0ee;align-items:center;gap:12px;width:100%;padding:13px 4px;display:flex}.task-list button>i{width:25px;height:25px;color:var(--muted);border:1px solid #bfcac5;border-radius:50%;place-items:center;font-size:11px;font-style:normal;display:grid}.task-list button>div,.gate-list button>div{flex:1;min-width:0}.task-list strong,.task-list span,.gate-list strong,.gate-list small{display:block}.task-list strong,.gate-list strong{font-size:13px}.task-list span,.gate-list small{color:var(--muted);margin-top:4px;font-size:11px}.task-list em,.gate-list em{color:var(--amber);font-size:11px;font-style:normal}.task-list button.done{opacity:.5}.task-list button.done strong{text-decoration:line-through}.task-list button.done>i{color:#fff;background:var(--green);border-color:var(--green)}.gate-dot{background:var(--amber);border-radius:50%;width:9px;height:9px}.gate-dot.blocked{background:var(--red)}.gate-dot.passed{background:var(--green)}.gate-list em{max-width:80px;color:var(--muted);text-align:right}.section-header{justify-content:space-between;align-items:center;display:flex}.section-header h2{margin:0;font-size:23px}.section-header p{margin:5px 0 0}.schedule-table,.file-panel{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.schedule-head,.schedule-table article{grid-template-columns:1.4fr 1fr 1.2fr 90px;align-items:center;gap:16px;padding:14px 18px;display:grid}.schedule-head{color:var(--muted);background:#eef2f0;font-size:11px}.schedule-table article{border-top:1px solid var(--line)}.schedule-table strong,.schedule-table small{display:block}.schedule-table small{color:var(--muted);margin-top:3px}.slider-wrap{align-items:center;gap:10px;display:flex}.slider-wrap input{accent-color:var(--green);flex:1}.slider-wrap b{min-width:40px;font-size:12px}.state-pill,.gate-status{background:var(--green-soft);color:var(--green);text-align:center;border-radius:20px;padding:5px 8px;font-size:11px;font-style:normal}.state-pill.red,.gate-status.blocked{color:var(--red);background:var(--red-soft)}.gate-status.progress{color:var(--amber);background:var(--amber-soft)}.upload-button,.primary{background:var(--green);color:#fff;border:0;border-radius:8px;padding:10px 15px;font-size:12px;font-weight:700}.upload-button input{display:none}.document-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.document-grid article{border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px}.document-grid article>div,.document-grid footer{justify-content:space-between;align-items:center;display:flex}.document-grid article>div span{color:var(--muted);font-size:11px}.document-grid h3{min-height:40px;margin:14px 0 8px;font-size:14px}.document-grid p{min-height:48px;color:var(--muted);font-size:12px;line-height:1.6}.document-grid footer{border-top:1px solid var(--line);padding-top:12px}.document-grid footer span{color:var(--muted);font-size:11px}.document-grid footer button,.message-list footer button{color:var(--green);background:0 0;border:0;font-size:11px}.file-panel{padding:18px}.file-panel h2{margin:0 0 10px;font-size:16px}.file-panel>div{border-top:1px solid var(--line);justify-content:space-between;padding:10px 0;display:flex}.file-panel span,.file-panel p{color:var(--muted);font-size:12px}.document-card{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:#fff;border-radius:10px;padding:16px;transition:border-color .15s,transform .15s,box-shadow .15s}.document-card:hover{border-color:#aebeb7;transform:translateY(-1px);box-shadow:0 8px 20px #16231f12}.document-card:focus-visible{outline-offset:2px;outline:3px solid #16745b38}.document-card>div,.document-card footer{justify-content:space-between;align-items:center;display:flex}.document-card>div>span{color:var(--muted);font-size:11px}.document-card h3{min-height:40px;margin:14px 0 8px;font-size:14px}.document-card p{min-height:48px;color:var(--muted);margin:0 0 10px;font-size:12px;line-height:1.6}.document-card footer{border-top:1px solid var(--line);padding-top:12px}.document-card footer span{color:var(--muted);font-size:11px}.document-card footer strong{color:var(--green);font-size:11px}.handling-preview{color:#51615a;white-space:nowrap;text-overflow:ellipsis;background:#f1f5f3;border-radius:6px;margin:0 0 10px;padding:8px 9px;font-size:11px;display:block;overflow:hidden}.workflow-gate{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.workflow-track{border-bottom:1px solid var(--line);background:#f8faf9;grid-template-columns:repeat(5,minmax(0,1fr));padding:15px 16px 13px;display:grid}.workflow-track button{min-width:0;color:var(--muted);text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:8px 10px;display:flex;position:relative}.workflow-track button:not(:last-child):after{content:"";background:#c9d4cf;width:18px;height:1px;position:absolute;right:-4px}.workflow-track button i{background:#fff;border:1px solid #b9c7c0;border-radius:50%;flex:none;place-items:center;width:27px;height:27px;font-size:11px;font-style:normal;display:grid}.workflow-track button span,.workflow-track button strong,.workflow-track button small{min-width:0;display:block}.workflow-track button strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.workflow-track button small{margin-top:3px;font-size:9px}.workflow-track button.current i,.workflow-track button.selected i{border-color:var(--green);background:var(--green);color:#fff}.workflow-track button.done i{color:var(--green);background:#e3f3ec;border-color:#9bcbb9}.workflow-track button.selected{background:#edf5f1;border-radius:8px}.workflow-track button.locked:not(.selected){opacity:.5}.workflow-decision{border-left:4px solid var(--amber);background:#fffaf1;justify-content:space-between;align-items:center;gap:18px;padding:13px 16px;display:flex}.workflow-decision.ready{border-left-color:var(--green);background:#f1f8f5}.workflow-decision span,.workflow-decision strong,.workflow-decision p{display:block}.workflow-decision span{color:var(--muted);font-size:10px}.workflow-decision strong{margin-top:3px;font-size:13px}.workflow-decision p{color:var(--muted);margin:3px 0 0;font-size:10px}.workflow-decision button{background:var(--green);color:#fff;border:0;border-radius:7px;flex:none;padding:9px 14px;font-weight:700}.workflow-decision button:disabled{cursor:not-allowed;color:#6d7a74;background:#c8d1cd}.phase-toolbar{border:1px solid var(--line);background:#fff;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;padding:10px 13px;display:flex}.phase-toolbar strong,.phase-toolbar span{display:block}.phase-toolbar strong{font-size:14px}.phase-toolbar span{color:var(--muted);margin-top:2px;font-size:10px}.phase-toolbar em{color:#9a6515;background:#fff2dc;border-radius:12px;padding:5px 8px;font-size:10px;font-style:normal}.document-card.locked{opacity:.7;background:#f7f9f8}.document-card.locked:hover{box-shadow:none;transform:none}.gate-time-grid{grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0;display:grid!important}.gate-time-grid span{background:#f4f7f5;border-radius:6px;padding:6px 7px;color:var(--muted)!important;font-size:9px!important}.gate-time-grid b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;display:block;overflow:hidden}.gate-detail-times{grid-template-columns:repeat(4,1fr);gap:8px;margin:0 22px 14px;display:grid}.gate-detail-times span{border:1px solid var(--line);color:var(--muted);border-radius:7px;padding:9px;font-size:9px}.gate-detail-times b{color:var(--ink);margin-top:4px;font-size:10px;display:block}.gate-locked-note{color:#856125;background:#fff8ec;border:1px solid #ead6b6;border-radius:8px;margin:0 22px 18px;padding:13px;font-size:11px}.operations-handover{text-align:center;background:#f7faf8;border:1px dashed #b8c9c1;border-radius:12px;padding:28px}.operations-handover strong{color:var(--green);font-size:18px}.operations-handover p{max-width:720px;color:var(--muted);margin:8px auto 0;font-size:12px;line-height:1.6}.add-review-item:disabled{cursor:not-allowed;opacity:.45}.document-actions{align-items:center;gap:9px;display:flex}.add-review-item{color:#315f9f;background:#fff;border:1px solid #315f9f;border-radius:8px;padding:10px 15px;font-size:12px;font-weight:700}.card-statuses{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;display:flex}.review-badge,.construction-gate,.custom-badge{border-radius:20px;padding:5px 8px;font-size:10px;font-style:normal}.review-badge{color:#355d9b;background:#eaf0ff}.construction-gate{color:#a5531d;background:#fff0e7}.custom-badge{color:#66508e;background:#ece8f7}.criteria-preview{color:#735a2b;white-space:nowrap;text-overflow:ellipsis;background:#fff8ec;border-radius:6px;margin:0 0 8px;padding:8px 9px;font-size:11px;display:block;overflow:hidden}.current-gate-status{border:1px solid var(--line);background:#f6f8f7;border-radius:8px;align-items:center;gap:10px;margin:18px 22px 0;padding:12px 14px;display:flex}.current-gate-status>span{color:var(--muted);font-size:11px}.current-gate-status small{color:var(--muted);margin-left:auto;font-size:10px}.gate-criteria{background:#fffaf0;border:1px solid #ead9b7;border-radius:8px;margin:12px 22px 0;padding:13px 14px}.gate-criteria span{color:#8d6523;font-size:11px;font-weight:700}.gate-criteria p{margin:6px 0 0;font-size:12px;line-height:1.6}.review-request{background:#fbfcff;border:1px solid #cfdaf0;border-radius:10px;margin:18px 22px 22px;overflow:hidden}.review-request>header{background:#edf3ff;border-bottom:1px solid #dfe6f3;justify-content:space-between;gap:12px;padding:14px 16px;display:flex}.review-request>header span,.review-request time{color:#58709a;font-size:10px}.review-request>header h3{margin:4px 0 0;font-size:16px}.review-request dl{gap:12px;margin:0;padding:16px;display:grid}.review-request dl>div{grid-template-columns:110px 1fr;gap:12px;display:grid}.review-request dt{color:var(--muted);font-size:11px}.review-request dd{white-space:pre-wrap;margin:0;font-size:12px;line-height:1.6}.review-request>footer{justify-content:flex-end;gap:9px;padding:0 16px 16px;display:flex}.reject-button{color:var(--red);background:#fff;border:1px solid #e3b7b3;border-radius:8px;padding:10px 15px;font-size:12px;font-weight:700}.gate-modal{z-index:20;background:#0d181485;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.gate-dialog{background:#fff;border-radius:14px;width:min(700px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 24px 70px #00000040}.gate-dialog>header{z-index:2;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:flex-start;padding:20px 22px;display:flex;position:sticky;top:0}.gate-dialog>header span{color:var(--muted);font-size:11px}.gate-dialog>header h2{margin:5px 0 0;font-size:20px}.gate-dialog>header button{width:32px;height:32px;color:var(--ink);background:#edf2ef;border:0;border-radius:50%;font-size:22px;line-height:1}.gate-evidence{border-left:4px solid var(--amber);background:var(--amber-soft);border-radius:8px;margin:18px 22px 0;padding:14px}.gate-evidence span{color:var(--amber);font-size:11px;font-weight:700}.gate-evidence p{margin:6px 0 0;font-size:13px;line-height:1.65}.gate-dialog form{gap:14px;padding:18px 22px 22px;display:grid}.gate-dialog form label{color:var(--muted);gap:6px;font-size:11px;display:grid}.gate-dialog form label b{color:var(--red)}.gate-dialog input,.gate-dialog select,.gate-dialog textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fbfcfb;border-radius:7px;padding:10px}.gate-dialog textarea{resize:vertical;min-height:92px}.gate-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.gate-dialog form>footer{justify-content:flex-end;gap:9px;padding-top:4px;display:flex}.secondary{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:10px 15px;font-size:12px;font-weight:700}.gate-history{padding:0 22px 22px}.gate-history h3{margin:0 0 10px;font-size:14px}.gate-history article{border-top:1px solid var(--line);padding:11px 0}.gate-history article>div{justify-content:space-between;gap:12px;display:flex}.gate-history time,.gate-history small{color:var(--muted);font-size:10px}.gate-history p{margin:5px 0;font-size:12px}.gate-history small{line-height:1.5;display:block}.permission-note{color:#38567e;background:#eef3fb;border-radius:8px;margin:18px 22px 0;padding:12px 14px}.permission-note strong{font-size:11px}.permission-note p{margin:5px 0 0;font-size:11px;line-height:1.55}.gate-dialog form .gate-checkbox{border:1px solid var(--line);background:#fbfcfb;border-radius:7px;grid-template-columns:auto 1fr;align-items:center;gap:8px;min-height:40px;padding:8px 10px;display:flex}.gate-checkbox input{width:16px;height:16px;accent-color:var(--green);margin:0}.gate-checkbox span{color:var(--ink);font-size:11px}.log-layout,.communication-layout{grid-template-columns:minmax(0,1fr) minmax(360px,.7fr);gap:14px;display:grid}.log-form,.compose{border:1px solid var(--line);background:#fff;border-radius:12px;gap:12px;padding:18px;display:grid}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.log-form label{color:var(--muted);gap:5px;font-size:11px;display:grid}.log-form input,.log-form textarea,.compose textarea,.improvement-box textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fbfcfb;border-radius:7px;padding:10px}.log-form textarea{resize:vertical;min-height:70px}.log-form .primary{justify-self:start}.log-history,.message-list,.improvement-list{align-content:start;gap:10px;display:grid}.log-history h2,.compose h2{margin:0;font-size:16px}.log-history article,.message-list article,.improvement-list article,.empty{border:1px solid var(--line);background:#fff;border-radius:10px;padding:15px}.log-history article>div,.message-list article>div,.message-list footer{justify-content:space-between;gap:12px;display:flex}.log-history span,.log-history small,.message-list span{color:var(--muted);font-size:11px}.log-history p,.message-list p{white-space:pre-wrap;font-size:12px;line-height:1.65}.empty{color:var(--muted);font-size:12px;line-height:1.7}.template-link{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:8px;padding:9px 13px;font-size:12px;font-weight:700;text-decoration:none}.log-layout-wide{grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr)}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.weather-field{position:relative}.weather-input-row{grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.weather-input-row button{color:var(--green);white-space:nowrap;background:#eef5f2;border:1px solid #b8c9c1;border-radius:7px;padding:0 10px;font-size:11px;font-weight:700}.weather-input-row button:disabled{cursor:wait;opacity:.65}.weather-fill-hint{max-width:70%;color:var(--green);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:500;line-height:13px;position:absolute;top:0;right:0;overflow:hidden}.log-form details{border:1px solid var(--line);border-radius:8px;overflow:hidden}.log-form summary{color:var(--ink);cursor:pointer;background:#f1f5f3;padding:10px 12px;font-size:12px;font-weight:700}.log-form details>div{padding:12px}.progress-editor{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;display:grid}.progress-item-row{grid-template-columns:112px minmax(80px,1fr) 68px auto;align-items:center;gap:7px;min-width:0;display:grid}.progress-name-input{min-width:0;font-size:11px;padding:6px 8px!important}.progress-item-row>input[type=range]{min-width:0;accent-color:var(--green);padding:0}.percent-input{border:1px solid var(--line);background:#fff;border-radius:6px;grid-template-columns:1fr auto;align-items:center;display:grid;overflow:hidden}.percent-input input{text-align:right;width:100%;min-width:0;font-size:11px;font-weight:700;color:var(--green)!important;background:0 0!important;border:0!important;padding:5px 3px 5px 7px!important}.percent-input b{color:var(--green);padding-right:6px;font-size:11px}.remove-progress{color:var(--red);background:#fff;border:1px solid #e5c4c4;border-radius:6px;padding:6px 7px;font-size:10px}.add-progress{color:var(--green);background:#fff;border:1px solid #b8c9c1;border-radius:7px;margin:0 12px 12px;padding:7px 11px;font-size:11px;font-weight:700}.material-editor{gap:6px;display:grid}.material-editor>div{grid-template-columns:110px 1.2fr .7fr 1fr 48px;align-items:center;gap:6px;display:grid}.material-editor input{border:1px solid var(--line);border-radius:6px;min-width:0;padding:8px}.material-editor .material-name{font-weight:700}.material-head span{font-size:11px}.material-head{color:var(--muted)}.material-editor>div>button{color:var(--red);background:0 0;border:0;padding:8px 4px;font-size:10px}.material-editor .add-material{color:var(--green);background:#f6f9f7;border:1px dashed #9eb3aa;border-radius:6px;justify-self:start;padding:8px 11px;font-size:11px;font-weight:700}.photo-uploader{justify-content:space-between;align-items:center;gap:12px;display:flex}.photo-uploader strong,.photo-uploader span{display:block}.photo-uploader span{color:var(--muted);margin-top:3px;font-size:11px}.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.photo-slot{min-height:120px;color:var(--muted);background:#f6f8f7;border:1px dashed #b9c6c0;border-radius:8px;font-size:11px;position:relative;overflow:hidden}.photo-select{cursor:pointer;place-items:center;width:100%;height:120px;display:grid!important}.photo-select:hover{color:var(--green);background:#edf4f1}.photo-select input{display:none}.photo-slot img{object-fit:cover;width:100%;height:120px}.photo-slot button{z-index:2;color:#fff;background:#17201dc7;border:0;border-radius:5px;padding:4px 7px;font-size:10px;position:absolute;top:5px;right:5px}.log-history article footer{border-top:1px solid var(--line);gap:8px;margin-top:12px;padding-top:10px;display:flex}.log-history article footer button{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:6px;padding:7px 10px;font-size:11px;font-weight:700}.log-editor-state{border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;display:flex}.log-editor-state.new{background:var(--green-soft);color:var(--green)}.log-editor-state.editing{color:#315f9f;background:#eef3fb}.log-editor-state span,.log-editor-state strong{display:block}.log-editor-state span{font-size:10px}.log-editor-state strong{margin-top:3px;font-size:12px}.log-editor-state button{color:inherit;background:0 0;border:0;font-size:11px;font-weight:700}.log-history{max-height:calc(100vh - 36px);padding-right:2px;position:sticky;top:18px;overflow:auto}.log-history>header{padding:2px 2px 4px}.log-history>header>div{justify-content:space-between;align-items:center;display:flex}.log-history>header h2{margin:0}.log-history>header span,.log-history>header p{color:var(--muted);font-size:11px}.log-history>header p{margin:5px 0 0}.log-history article.active{border-color:#7da4d6;box-shadow:0 0 0 2px #315f9f1f}.history-primary-actions{grid-template-columns:1fr 1fr;gap:7px;margin-top:12px;display:grid!important}.history-primary-actions button{background:var(--green-soft);color:var(--green);border:0;border-radius:6px;padding:8px;font-size:11px;font-weight:700}.history-primary-actions button:first-child{background:var(--green);color:#fff}.log-history article footer button{flex:1}.calendar-actions{align-items:center;gap:10px;display:flex}.calendar-actions button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:8px 11px}.calendar-actions strong{text-align:center;min-width:110px}.gantt-summary{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:18px;padding:12px 16px;font-size:12px;display:flex}.gantt-summary span{align-items:center;gap:6px;display:flex}.gantt-summary i{border-radius:4px;width:24px;height:7px}.legend-plan{background:#4d78c9}.legend-actual{background:#188a69}.legend-log{background:#e0a734}.gantt-summary b{color:var(--muted);margin-left:auto;font-size:11px}.calendar-actions .weather-button{color:var(--green);border-color:#b8c9c1;font-weight:700}.calendar-actions .type-config-button{color:#315f79;border-color:#b8c9c1;font-weight:700}.weather-toggle{border:1px solid var(--line);color:var(--muted);white-space:nowrap;background:#fff;border-radius:7px;align-items:center;gap:6px;padding:8px 10px;font-size:11px;display:flex}.weather-toggle input{accent-color:var(--green)}.weather-toggle:has(input:disabled){opacity:.5}.weather-state{color:var(--green);background:#eef4f1;border-radius:7px;margin-top:-8px;padding:8px 12px;font-size:11px}.weather-state span{color:var(--muted)}.day-weather{color:#315f79;background:#eaf3f8;border-radius:5px;align-items:center;gap:5px;margin-top:5px;padding:4px 5px;display:flex}.weather-icon{flex:none;font-size:20px;line-height:1}.weather-copy{min-width:0}.day-weather strong,.day-weather small{white-space:nowrap;text-overflow:ellipsis;font-size:9px;display:block;overflow:hidden}.day-weather small{color:#68808d;margin-top:2px}.gantt-week.weather-on .week-bars{padding-top:70px}.calendar-actions .add-plan,.task-creator button{border-color:var(--green);background:var(--green);color:#fff;font-weight:700}.task-creator{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:.75fr 1.4fr repeat(3,1fr) auto;align-items:end;gap:10px;padding:14px;display:grid}.task-creator label{color:var(--muted);font-size:11px}.task-creator input,.task-creator select{border:1px solid var(--line);background:#fff;border-radius:7px;width:100%;margin-top:5px;padding:9px}.task-creator button{border-radius:7px;padding:10px 14px}.board-legends{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.board-legends button{border:1px solid var(--line);min-height:32px;color:var(--ink);font:inherit;cursor:pointer;border-radius:7px;align-items:center;gap:7px;padding:6px 10px;font-weight:600;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:flex}.board-legends button:hover{box-shadow:0 2px 7px #192c251a}.board-legends button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.board-legends button.inactive{color:#949d99;box-shadow:none;background:#f1f3f2;border-color:#d9dfdc}.board-legends button.inactive i{filter:grayscale()}.board-legends button i{flex:none;transition:background .15s,filter .15s}.type-config-panel{border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px}.type-config-panel>header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.type-config-panel h3{margin:0 0 4px;font-size:16px}.type-config-panel p{color:var(--muted);margin:0;font-size:11px}.type-config-panel>header button,.custom-type-form button{border:1px solid var(--green);background:var(--green);color:#fff;border-radius:7px;padding:8px 13px;font-weight:700}.type-config-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.type-config-item{border:1px solid var(--line);border-radius:8px;grid-template-columns:42px minmax(120px,1fr) auto auto;align-items:center;gap:8px;padding:8px;display:grid}.type-config-item input[type=color],.custom-type-form input[type=color]{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;width:42px;height:34px;padding:2px}.type-config-item input[type=text],.type-config-item input:not([type]){border:1px solid var(--line);background:#fff;border-radius:6px;min-width:0;padding:8px}.type-config-item input:disabled{color:var(--ink);opacity:1;border-color:#0000}.type-config-item span{color:var(--muted);font-size:10px}.type-config-item button{color:#b23b3b;background:#fff;border:1px solid #e5c4c4;border-radius:6px;padding:6px 8px}.custom-type-form{border-top:1px solid var(--line);grid-template-columns:42px minmax(180px,320px) auto;align-items:center;gap:8px;margin-top:12px;padding-top:12px;display:grid}.custom-type-form input:not([type=color]){border:1px solid var(--line);border-radius:7px;padding:9px}.board-view-switch{border:1px solid var(--line);background:#fff;border-radius:9px;align-items:center;gap:12px;padding:9px 12px;display:flex}.board-view-switch>span{color:var(--muted);font-size:11px}.board-view-switch>div{background:#edf2ef;border-radius:7px;padding:3px;display:flex}.board-view-switch button{color:var(--muted);background:0 0;border:0;border-radius:5px;padding:6px 12px}.board-view-switch button.active{color:var(--green);background:#fff;font-weight:700;box-shadow:0 1px 4px #122d231f}.board-view-switch p{color:var(--muted);margin:0 0 0 auto;font-size:10px}.category-kanban{align-items:flex-start;gap:12px;padding:2px 2px 14px;display:flex;overflow-x:auto}.kanban-column{border:1px solid var(--line);background:#f5f8f6;border-radius:10px;flex:0 0 300px;min-height:420px;padding:10px}.kanban-column>header{justify-content:space-between;align-items:center;gap:8px;padding:4px 3px 11px;display:flex}.kanban-column>header>div{align-items:center;gap:7px;display:flex}.kanban-column>header i{border-radius:3px;width:10px;height:10px}.kanban-column>header span,.kanban-column>header small{color:var(--muted);font-size:10px}.kanban-column>div{gap:8px;display:grid}.kanban-task-card{cursor:grab;background:#fff;border:1px solid #dce4e0;border-left-width:3px;border-radius:9px;padding:12px;transition:opacity .15s,transform .15s,box-shadow .15s;box-shadow:0 2px 5px #102a200d}.kanban-task-card:hover{border-color:#afc7bc}.kanban-task-card:active{cursor:grabbing}.kanban-task-card.dragging{opacity:.35;box-shadow:none;transform:scale(.98)}.kanban-task-card.done{opacity:.55}.kanban-task-card>header{align-items:center;gap:7px;display:flex}.kanban-task-card>header button{width:17px;height:17px;color:var(--green);background:#fff;border:1px solid #aebbb5;border-radius:4px;place-items:center;padding:0;font-size:10px;display:grid}.kanban-task-card>header span{color:var(--muted);font-size:10px}.kanban-task-card h3{margin:10px 0 7px;font-size:13px;line-height:1.45}.kanban-task-card p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 8px;font-size:10px;line-height:1.5;display:-webkit-box;overflow:hidden}.kanban-card-tags{flex-wrap:wrap;gap:5px;display:flex}.kanban-card-tags em{color:var(--muted);background:#edf2ef;border-radius:8px;padding:3px 6px;font-size:9px;font-style:normal}.kanban-card-tags .important{color:#b8443d;background:#fff0ef}.kanban-card-tags .urgent{color:#a36913;background:#fff4df}.kanban-task-card>footer{color:var(--muted);border-top:1px solid #edf1ef;justify-content:space-between;gap:8px;margin-top:10px;padding-top:8px;font-size:9px;display:flex}.kanban-empty{color:var(--muted);text-align:center;margin:20px 0;font-size:11px}.kanban-order-notice{color:#17654d;background:#eef8f3;border:1px solid #b9d8cb;border-radius:8px;padding:8px 12px;font-size:10px}.kanban-column-actions .copy-plan-actual{color:#176c51;white-space:nowrap;background:#edf8f3;border:1px solid #9bc5b4;border-radius:6px;padding:4px 7px}.project-gantt{background:#fff;border:1px solid #d5e0e9;border-radius:11px;overflow:hidden}.project-gantt>header{background:#f8fafc;border-bottom:1px solid #d5e0e9;justify-content:space-between;align-items:center;gap:16px;padding:13px 15px;display:flex}.project-gantt>header h3{color:#173968;margin:0;font-size:14px}.project-gantt>header p{color:var(--muted);margin:4px 0 0;font-size:10px}.project-gantt>header>span{color:#547086;font-size:10px}.project-gantt-scroll{max-height:68vh;overflow:auto}.project-gantt-table{background:#fff}.project-gantt-header,.project-gantt-row{grid-template-columns:300px minmax(0,1fr);display:grid}.project-gantt-header{z-index:8;background:#f8fafc;border-bottom:1px solid #cfdbe5;position:sticky;top:0}.project-gantt-fixed{z-index:9;background:#edf3f8;border-right:1px solid #cfdbe5;flex-direction:column;justify-content:center;padding:8px 14px;display:flex;position:sticky;left:0}.project-gantt-fixed strong,.project-gantt-fixed span{display:block}.project-gantt-fixed strong{color:#173968;font-size:11px}.project-gantt-fixed span{color:#6c8192;margin-top:3px;font-size:9px}.project-gantt-calendar{min-width:0}.project-gantt-months,.project-gantt-days,.project-gantt-track,.project-gantt-background{display:grid}.project-gantt-months strong{color:#244967;background:#eaf1f7;border-right:1px solid #c8d7e3;justify-content:center;align-items:center;height:25px;font-size:10px;display:flex}.project-gantt-days span{color:#526b7e;border-top:1px solid #d5e0e9;border-right:1px solid #e1e8ee;flex-direction:column;justify-content:center;align-items:center;width:30px;height:37px;font-size:9px;display:flex}.project-gantt-days span b{font-size:10px}.project-gantt-days span small{margin-top:1px;font-size:8px}.project-gantt-days .weekend{background:#f6f8fa}.project-gantt-days .today{color:#8b6509;background:#fff2ce}.project-gantt-body{position:relative}.project-gantt-background{z-index:0;pointer-events:none;position:absolute;inset:0 0 0 300px}.project-gantt-background>i{border-right:1px solid #edf1f4;width:30px;height:100%}.project-gantt-background>.weekend{background:#f6f8fa}.project-gantt-background>.today{background:#fff8e5}.project-gantt-row{z-index:1;border-bottom:1px solid #e2e8edb8;min-height:44px;position:relative}.project-gantt-row:last-child{border-bottom:0}.project-gantt-task{z-index:5;text-align:left;cursor:pointer;background:#fff;border:0;border-right:1px solid #d5e0e9;align-items:center;gap:9px;min-width:0;padding:7px 12px;display:flex;position:sticky;left:0}.project-gantt-task:hover{background:#f7fafc}.project-gantt-task>i{border-radius:3px;flex:none;width:9px;height:28px}.project-gantt-task>span{min-width:0}.project-gantt-task strong,.project-gantt-task small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.project-gantt-task strong{color:#213c52;font-size:11px}.project-gantt-task small{color:#768795;margin-top:4px;font-size:9px}.project-gantt-track{min-width:0;height:44px;position:relative}.project-gantt-track>i{border-right:1px solid #edf1f4c7;grid-row:1;width:30px;height:44px}.project-gantt-bar{z-index:3;color:#fff;text-align:left;white-space:nowrap;cursor:pointer;border:1px solid;border-radius:5px;grid-row:1;justify-content:space-between;place-self:center start;align-items:center;gap:10px;width:max-content;min-width:calc(100% - 4px);height:27px;margin:0 2px;padding:0 8px;font-family:inherit;font-size:10px;font-weight:700;display:flex;overflow:visible;box-shadow:0 2px 5px #142f462e}.project-gantt-bar:hover{z-index:4;filter:brightness(.96);box-shadow:0 3px 8px #142f4640}.project-gantt-bar span{text-overflow:clip;flex:none;overflow:visible}.project-gantt-bar em{opacity:.9;flex:none;font-size:8.5px;font-style:normal;font-weight:500}.project-gantt-bar.log{justify-content:center;min-width:max(56px,100% - 4px);padding:0 6px}.project-gantt-bar.log span{font-size:9px}.project-gantt-row.log-row .project-gantt-task{background:#fffdf7}.project-gantt-row.paired-row{min-height:48px}.project-gantt-row.paired-row .project-gantt-track,.project-gantt-row.paired-row .project-gantt-track>i{height:48px}.project-gantt-bar.paired-plan{z-index:2;height:32px;box-shadow:none;border-style:solid;border-radius:6px;align-self:center}.project-gantt-bar.paired-plan span,.project-gantt-bar.paired-plan em{z-index:1;position:relative}.project-gantt-bar.paired-actual{z-index:4;border-radius:4px;align-self:center;height:20px;box-shadow:0 2px 6px #0e654b4d}.project-gantt-bar.paired-actual span:before{content:"实际 · ";font-size:8px}.project-gantt-row.paired-row .project-gantt-task>i{opacity:.9;height:32px}.month-gantt{background:#fff;border:1px solid #cfd8d3;border-radius:10px;overflow:hidden}.weekday-row,.day-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday-row{background:#edf2ef;border-bottom:1px solid #cfd8d3}.weekday-row span{color:var(--muted);text-align:center;border-right:1px solid #dbe2de;padding:10px;font-size:11px}.weekday-row span:last-child{border:0}.gantt-week{border-bottom:1px solid #cfd8d3;min-height:130px;position:relative}.gantt-week:last-child{border-bottom:0}.day-grid{position:absolute;inset:0}.day-grid>div{background:#fff;border-right:1px solid #e2e8e5;min-width:0;padding:8px}.day-grid>div:last-child{border:0}.day-grid .outside{color:#a8b0ac;background:#f7f8f7}.day-grid .today{box-shadow:none;background:#fff}.day-grid b{font-size:12px;display:block}.day-grid .today>b{color:#c93c3c;border:2px solid #d84b4b;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;margin:-3px 0 0 -3px;line-height:1;display:inline-flex}.day-event{color:#80651e;white-space:nowrap;text-overflow:ellipsis;border-left:3px solid #d8a527;max-width:100%;margin-top:4px;padding-left:6px;font-size:10px;display:block;overflow:hidden}.week-bars{z-index:2;pointer-events:none;grid-auto-rows:auto;gap:2px;padding:36px 6px 8px;display:grid;position:relative}.bar-lane{grid-template-rows:20px;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;min-width:0;min-height:20px;display:grid}.bar-lane.has-actual{grid-template-rows:20px 15px;min-height:37px}.gantt-bar{color:#24352f;text-align:left;white-space:nowrap;text-overflow:ellipsis;pointer-events:auto;border:1px solid #0000;border-left-width:3px;border-radius:4px;min-width:0;transition:filter .15s,box-shadow .15s;overflow:hidden;box-shadow:0 1px 1px #192c250f}.gantt-bar:hover{filter:saturate(1.08);box-shadow:0 1px 4px #192c2521}.gantt-bar.plan{grid-row:1;justify-content:space-between;align-items:center;gap:9px;padding:1px 6px 1px 5px;font-size:10.5px;font-weight:700;line-height:16px;display:flex}.gantt-bar.plan span{text-overflow:ellipsis;align-items:center;min-width:0;display:flex;overflow:hidden}.gantt-bar.plan span:before{content:"";opacity:.7;border:1px solid;border-radius:2px;flex:none;width:7px;height:7px;margin-right:5px}.gantt-bar.plan em{color:#53655e;flex:none;font-size:9.5px;font-style:normal;font-weight:500}.gantt-bar.plan.selected{outline-offset:1px;outline:2px solid #173968}.gantt-bar.actual{color:#335149;grid-row:2;align-items:center;padding:0 6px;font-size:9.5px;font-weight:600;line-height:13px;display:flex}.gantt-bar.actual.manual{background-image:repeating-linear-gradient(135deg,#ffffff2e 0 5px,#0000 5px 10px)!important}.bar-lane.log-lane,.bar-lane.synced-progress-lane{grid-template-rows:20px;min-height:20px}.gantt-bar.log{color:#4c4126;grid-row:1;justify-content:space-between;align-items:center;gap:8px;padding:1px 6px 1px 5px;font-size:10.5px;font-weight:700;line-height:16px;display:flex}.gantt-bar.log span{text-overflow:ellipsis;align-items:center;min-width:0;display:flex;overflow:hidden}.gantt-bar.log span:before{content:"";opacity:.7;border:1px solid;border-radius:2px;flex:none;width:7px;height:7px;margin-right:5px}.gantt-bar.log em{color:#756743;flex:none;font-size:9.5px;font-style:normal;font-weight:500}.gantt-detail{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:1.2fr .7fr repeat(4,minmax(110px,.45fr));align-items:end;gap:12px;padding:16px;display:grid}.gantt-detail span,.gantt-detail small,.gantt-detail label{color:var(--muted);font-size:11px;display:block}.gantt-detail h3{margin:4px 0;font-size:17px}.gantt-detail p{color:var(--muted);margin:0;font-size:11px}.detail-source strong{color:var(--green);margin:5px 0;display:block}.gantt-detail input,.gantt-detail select{border:1px solid var(--line);background:#fff;border-radius:7px;width:100%;margin-top:5px;padding:9px}.detail-note{grid-column:1/-1}.progress-modal{z-index:90;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0e1f197a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.progress-dialog{background:#fff;border-radius:14px;width:min(760px,100%);max-height:92vh;overflow:auto;box-shadow:0 24px 70px #0c1e1842}.progress-dialog>header{z-index:2;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 16px;display:flex;position:sticky;top:0}.progress-dialog>header span{color:var(--green);font-size:11px}.progress-dialog>header h2{margin:4px 0 0;font-size:22px}.progress-dialog>header button{width:34px;height:34px;color:var(--ink);background:#edf3f0;border:0;border-radius:50%;place-items:center;font-size:24px;line-height:1;display:grid}.progress-dialog-body{gap:16px;padding:20px 22px;display:grid}.progress-dialog-body label{color:var(--muted);gap:6px;font-size:11px;display:grid}.progress-dialog-body input,.progress-dialog-body select,.progress-dialog-body textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fbfcfb;border-radius:7px;padding:10px}.progress-title-field input{font-size:16px;font-weight:700}.progress-dialog-body textarea{resize:vertical;min-height:96px}.progress-date-grid{grid-template-columns:1fr 1fr .72fr;align-items:stretch;gap:10px;display:grid}.duration-card{background:#eef6f2;border:1px solid #c8ddd3;border-radius:8px;flex-direction:column;justify-content:center;padding:10px 14px;display:flex}.duration-card span,.duration-card small{color:var(--muted);font-size:10px}.duration-card strong{color:var(--green);margin:3px 0;font-size:22px}.progress-meta-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.progress-attachments{border:1px solid var(--line);background:#f9fbfa;border-radius:9px;padding:14px}.progress-attachments>div:first-child{justify-content:space-between;align-items:center;gap:12px;display:flex}.progress-attachments strong,.progress-attachments span{display:block}.progress-attachments span{color:var(--muted);margin-top:3px;font-size:10px}.progress-upload{border:1px solid var(--green);cursor:pointer;white-space:nowrap;background:#fff;border-radius:7px;padding:8px 12px;font-weight:700;color:var(--green)!important;display:block!important}.progress-upload.disabled{opacity:.55;cursor:wait}.progress-upload input{display:none}.progress-attachments>p{color:var(--green);margin:10px 0 0;font-size:10px}.progress-file-list{gap:7px;margin-top:12px;display:grid}.progress-file-list article{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:8px;display:grid}.file-badge{width:42px;height:34px;color:var(--muted);background:#e8eeeb;border-radius:5px;place-items:center;font-size:9px;display:grid}.progress-file-list article strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.progress-file-list article a,.progress-file-list article button{color:var(--green);background:0 0;border:0;padding:5px 7px;font-size:10px;text-decoration:none}.progress-file-list article button{color:var(--red)}.progress-file-empty{color:var(--muted);text-align:center;border:1px dashed #cbd6d1;border-radius:7px;margin-top:12px;padding:12px;font-size:11px}.progress-dialog>footer{border-top:1px solid var(--line);background:#fff;justify-content:flex-end;gap:9px;padding:14px 22px 18px;display:flex;position:sticky;bottom:0}.progress-dialog>footer button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:9px 16px}.progress-dialog>footer .primary{border-color:var(--green);background:var(--green);color:#fff}.progress-dialog>footer .primary:disabled{opacity:.5}.actual-date-panel{background:#f3faf7;border:1px solid #bcd7cd;border-radius:9px;padding:13px 14px}.actual-date-panel>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.actual-date-panel>header strong,.actual-date-panel>header span{display:block}.actual-date-panel>header strong{color:#176b57;font-size:12px}.actual-date-panel>header span{color:#6a8078;margin-top:3px;font-size:9px}.actual-date-panel>header button{color:#53766b;background:#fff;border:1px solid #c7d9d2;border-radius:6px;padding:5px 8px;font-size:9px}.actual-date-panel>div{grid-template-columns:1fr 1fr .72fr;gap:10px;display:grid}.actual-duration-card{background:#dff0e9;border-radius:8px;flex-direction:column;justify-content:center;padding:9px 12px;display:flex}.actual-duration-card span,.actual-duration-card small{color:#627a72;font-size:9px}.actual-duration-card strong{color:#168a70;margin:3px 0;font-size:20px}.progress-color-field{color:var(--muted);gap:6px;font-size:11px;display:grid}.progress-color-field>div{grid-template-columns:52px minmax(0,1fr);gap:7px;display:grid}.progress-color-field input[type=color]{cursor:pointer;height:39px;padding:4px}.progress-color-field button{border:1px solid var(--line);color:#315f79;background:#fff;border-radius:7px;font-size:10px}.progress-color-field small{color:#7a8b84;font-size:9px}.add-priority{border:1px solid var(--green);background:var(--green);color:#fff;border-radius:7px;padding:9px 14px}.priority-toolbar{border:1px solid var(--line);background:#fff;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;display:flex}.priority-toolbar>div{gap:5px;display:flex}.priority-toolbar button{color:var(--muted);background:#edf2ef;border:0;border-radius:6px;padding:7px 12px}.priority-toolbar button.active{background:var(--green);color:#fff}.priority-toolbar>span{color:var(--muted);font-size:10px}.priority-creator{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:1.5fr repeat(5,minmax(110px,.7fr));gap:10px;padding:16px;display:grid}.priority-creator label{color:var(--muted);gap:5px;font-size:10px;display:grid}.priority-creator input,.priority-creator select,.priority-creator textarea{border:1px solid var(--line);background:#fbfcfb;border-radius:7px;width:100%;padding:9px}.priority-description,.priority-files{grid-column:span 3}.priority-description textarea{resize:vertical;min-height:72px}.priority-files input{padding:7px}.priority-files span{color:var(--muted);font-size:9px}.priority-creator>p{color:var(--green);grid-column:1/-1;margin:0;font-size:10px}.priority-form-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.priority-form-actions button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:8px 13px}.priority-form-actions .primary{border-color:var(--green);background:var(--green);color:#fff}.quadrant-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.quadrant{border:1px solid var(--line);background:#f7f9f8;border-radius:11px;min-height:320px;padding:12px}.quadrant>header{justify-content:space-between;align-items:center;gap:12px;padding:2px 3px 12px;display:flex}.quadrant>header span,.quadrant>header strong{display:block}.quadrant>header span{font-size:15px;font-weight:700}.quadrant>header strong{color:var(--muted);margin-top:3px;font-size:10px}.quadrant>header b{background:#fff;border-radius:13px;place-items:center;min-width:26px;height:26px;font-size:11px;display:grid}.quadrant.red{border-top:4px solid #d84b4b}.quadrant.blue{border-top:4px solid #4d78c9}.quadrant.orange{border-top:4px solid #e0a734}.quadrant.gray{border-top:4px solid #87948e}.quadrant>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.quadrant article{background:#fff;border:1px solid #dce4e0;border-radius:8px;padding:11px}.quadrant article.done{opacity:.5}.quadrant article>header{justify-content:space-between;align-items:center;gap:8px;display:flex}.quadrant article>header button{width:17px;height:17px;color:var(--green);background:#fff;border:1px solid #aebbb5;border-radius:4px;place-items:center;padding:0;font-size:10px;display:grid}.quadrant article>header em{color:var(--muted);background:#edf2ef;border-radius:8px;padding:3px 6px;font-size:9px;font-style:normal}.quadrant article h3{margin:9px 0 6px;font-size:12px;line-height:1.45}.quadrant article p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 8px;font-size:10px;line-height:1.45;display:-webkit-box;overflow:hidden}.matrix-selects{gap:5px;display:flex}.matrix-selects button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;padding:4px 7px;font-size:9px}.matrix-selects .important{color:#b8443d;background:#fff0ef;border-color:#efc9c6}.matrix-selects .urgent{color:#a36913;background:#fff4df;border-color:#efd9ad}.matrix-files{align-items:center;gap:5px;margin-top:8px;display:flex}.matrix-files a{max-width:110px;color:var(--green);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.matrix-files span{color:var(--muted);font-size:9px}.quadrant article>footer{color:var(--muted);border-top:1px solid #edf1ef;justify-content:space-between;gap:8px;margin-top:9px;padding-top:7px;font-size:9px;display:flex}.quadrant-empty{color:var(--muted);text-align:center;grid-column:1/-1;margin:70px 0;font-size:11px}.compose textarea{resize:vertical;min-height:220px}.compose .primary{justify-self:start}.message-list article em{color:var(--amber);font-size:11px;font-style:normal}.message-list footer{border-top:1px solid var(--line);align-items:center;padding-top:10px}.communication-archive{align-items:start}.communication-compose{gap:14px}.compose-title{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.compose-title span{color:var(--muted);font-size:11px}.compose-title h2{margin:4px 0 0}.compose-title em{max-width:240px;color:var(--green);text-align:right;font-size:10px;font-style:normal}.communication-fields{grid-template-columns:.75fr 1.25fr;gap:10px;display:grid}.communication-compose label{color:var(--muted);gap:5px;font-size:11px;display:grid}.communication-compose input,.communication-compose textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fbfcfb;border-radius:7px;padding:10px}.wechat-paste textarea{resize:vertical;min-height:210px}.wechat-paste small{color:var(--muted);line-height:1.55}.attachment-toolbar{justify-content:space-between;align-items:center;gap:10px;display:flex}.attachment-toolbar>span{color:var(--muted);font-size:11px}.pending-files{gap:7px;display:grid}.pending-files article{border:1px solid var(--line);background:#f8faf9;border-radius:8px;grid-template-columns:54px 1fr auto;align-items:center;gap:10px;padding:8px;display:grid}.pending-files img,.file-icon{object-fit:cover;border-radius:5px;width:54px;height:44px}.file-icon{color:var(--muted);background:#e8eeeb;place-items:center;font-size:10px;display:grid}.pending-files strong,.pending-files span{display:block}.pending-files strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.pending-files span{color:var(--muted);margin-top:3px;font-size:10px}.pending-files button{color:var(--red);background:0 0;border:0;font-size:10px}.save-communication{justify-self:start}.save-communication:disabled{opacity:.55;cursor:wait}.communication-history time{color:var(--muted);margin-top:5px;font-size:10px;display:block}.saved-attachments{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0;display:grid}.saved-attachments a{border:1px solid var(--line);min-width:0;color:var(--ink);background:#f7f9f8;border-radius:7px;text-decoration:none;position:relative;overflow:hidden}.saved-attachments img{object-fit:cover;width:100%;height:110px;display:block}.saved-attachments a>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:6px 7px;font-size:9px;display:block;overflow:hidden}.saved-attachments .saved-file{align-items:center;gap:8px;padding:9px;display:flex}.saved-file b{width:34px;height:34px;color:var(--muted);background:#e6ece9;border-radius:5px;place-items:center;font-size:9px;display:grid}.saved-file span{flex:1;padding:0!important}.improvement-box{border:1px solid var(--line);background:#fff;border-radius:12px;gap:10px;padding:18px;display:flex}.improvement-box textarea{resize:vertical;min-height:80px}.improvement-box .primary{white-space:nowrap;align-self:flex-end}.improvement-list article{grid-template-columns:100px 1fr 70px;align-items:center;gap:12px;display:grid}.improvement-list span,.improvement-list em{color:var(--muted);font-size:11px;font-style:normal}.improvement-list p{margin:0;font-size:13px}@media (width<=1100px){.metric-row{grid-template-columns:repeat(2,1fr)}.two-col,.log-layout,.communication-layout{grid-template-columns:1fr}.document-grid{grid-template-columns:repeat(2,1fr)}.gantt-detail{grid-template-columns:repeat(3,1fr)}.detail-note{grid-column:1/-1}.task-creator{grid-template-columns:repeat(2,1fr)}.type-config-list{grid-template-columns:1fr}.log-history{max-height:none;position:static}}@media (width<=760px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;padding:14px;position:static}.brand,.side-note{display:none}.sidebar nav{padding:0;display:flex;overflow:auto}.sidebar nav button{white-space:nowrap}.workspace{padding:18px 14px}.topbar{align-items:flex-start;gap:14px}.top-actions{flex-wrap:wrap;justify-content:flex-end}.save-state,.project-context{display:none}.metric-row,.project-strip,.document-grid,.form-grid,.form-grid.four,.form-grid.three{grid-template-columns:1fr}.decision-banner{align-items:flex-start;gap:12px}.schedule-head{display:none}.schedule-table article{grid-template-columns:1fr;gap:8px}.improvement-box{flex-direction:column}.improvement-list article{grid-template-columns:1fr}.topbar h1{font-size:21px}.progress-editor{grid-template-columns:1fr}.material-editor>div{border:1px solid var(--line);border-radius:7px;grid-template-columns:1fr;padding:10px}.material-head{display:none}.photo-grid{grid-template-columns:repeat(2,1fr)}.gantt-summary{flex-wrap:wrap}.gantt-summary b{width:100%;margin-left:0}.board-legends{gap:10px}.weekday-row span{padding:7px 2px}.gantt-week{min-height:135px}.gantt-bar.plan em{display:none}.gantt-detail{grid-template-columns:1fr}.gantt-detail>*{grid-column:1!important}.calendar-actions{flex-wrap:wrap;justify-content:space-between;width:100%}.section-header{flex-wrap:wrap;align-items:flex-start;gap:12px}.document-actions{flex-wrap:wrap;width:100%}.document-actions>*{text-align:center;flex:1}.task-creator{grid-template-columns:1fr}.type-config-item{grid-template-columns:42px 1fr auto}.type-config-item span{display:none}.custom-type-form{grid-template-columns:42px 1fr}.custom-type-form button{grid-column:1/-1}.weather-icon{font-size:17px}.weather-copy small{display:none}.gate-modal{align-items:end;padding:0}.gate-dialog{border-radius:14px 14px 0 0;max-height:94vh}.gate-form-row,.communication-fields{grid-template-columns:1fr}.gate-dialog>header,.gate-dialog form{padding-left:16px;padding-right:16px}.gate-evidence,.gate-criteria,.current-gate-status,.review-request,.permission-note{margin-left:16px;margin-right:16px}.current-gate-status{flex-wrap:wrap}.current-gate-status small{width:100%;margin-left:0}.gate-history{padding-left:16px;padding-right:16px}.review-request dl>div{grid-template-columns:1fr;gap:4px}.review-request>footer{flex-direction:column-reverse}.review-request>footer button{width:100%}.compose-title{display:block}.compose-title em{text-align:left;max-width:none;margin-top:8px;display:block}.saved-attachments{grid-template-columns:1fr}.log-editor-state{align-items:flex-start}.history-primary-actions{grid-template-columns:1fr}.workflow-track{grid-template-columns:1fr;padding:8px}.workflow-track button:not(:last-child):after{display:none}.workflow-track button{padding:7px 9px}.workflow-decision{flex-direction:column;align-items:flex-start}.workflow-decision button{width:100%}.phase-toolbar{flex-direction:column;align-items:flex-start}.gate-time-grid{grid-template-columns:1fr}.gate-detail-times{grid-template-columns:repeat(2,1fr);margin-left:16px;margin-right:16px}.progress-modal{place-items:end center;padding:0}.progress-dialog{border-radius:14px 14px 0 0;max-height:96vh}.progress-dialog>header,.progress-dialog-body,.progress-dialog>footer{padding-left:16px;padding-right:16px}.progress-date-grid,.progress-meta-grid,.actual-date-panel>div{grid-template-columns:1fr}.duration-card{min-height:78px}.progress-file-list article{grid-template-columns:42px minmax(0,1fr) auto}.progress-file-list article a{display:none}}@media (width<=900px){.priority-creator{grid-template-columns:repeat(2,minmax(0,1fr))}.priority-description,.priority-files{grid-column:1/-1}.quadrant>div{grid-template-columns:1fr}}@media (width<=760px){.board-view-switch{flex-wrap:wrap;align-items:flex-start}.board-view-switch p{width:100%;margin-left:0}.category-kanban{margin-left:-14px;margin-right:-14px;padding-left:14px}.priority-toolbar{flex-direction:column;align-items:flex-start}.priority-creator,.quadrant-grid{grid-template-columns:1fr}.priority-creator>*{grid-column:1!important}.quadrant{min-height:220px}.board-view-switch>div{max-width:100%;overflow-x:auto}.project-gantt>header{flex-direction:column;align-items:flex-start}.project-gantt-header,.project-gantt-row{grid-template-columns:240px minmax(0,1fr)}.project-gantt-background{left:240px}.project-gantt-table{min-width:calc(240px + var(--gantt-width,1410px))!important}.project-gantt-fixed,.project-gantt-task{width:240px}.project-gantt-scroll{max-height:72vh}.progress-item-row{grid-template-columns:minmax(110px,1fr) 68px auto}.progress-item-row>input[type=range]{grid-area:2/1/auto/-1}.progress-name-input{grid-column:1}.percent-input{grid-column:2}.remove-progress{grid-column:3}}.kanban-column-title,.kanban-column-actions{align-items:center;gap:7px;display:flex}.kanban-column-actions{flex-direction:column;align-items:flex-end;gap:3px}.kanban-column-actions button{color:var(--green);background:0 0;border:0;padding:2px 0;font-size:10px;font-weight:700}.kanban-task-card>header{justify-content:space-between}.kanban-task-card>header>div{align-items:center;gap:7px;display:flex}.kanban-task-card>header .kanban-delete{width:auto;height:auto;color:var(--red);opacity:.75;border:0;padding:2px 4px;display:block}.progress-dialog>footer{justify-content:space-between}.progress-dialog>footer>div{gap:9px;display:flex}.progress-dialog>footer .progress-delete{color:var(--red);border-color:#edc7c4}.kanban-task-card .fixed-node-lock{color:#587080;background:#e7edf1;border-radius:5px;padding:2px 5px;font-size:8px;font-style:normal;font-weight:700}.progress-link-note{border-bottom:1px solid var(--line);background:#f8fbf9;justify-content:space-between;align-items:center;gap:12px;display:flex;margin:0!important;padding:8px 12px!important}.progress-link-note strong,.progress-link-note span{display:block}.progress-link-note strong{color:var(--green);font-size:11px}.progress-link-note span{color:var(--muted);text-align:right;font-size:10px}.progress-editor{grid-template-columns:1fr}.progress-item-row{grid-template-columns:150px 190px minmax(100px,1fr) 68px auto}.progress-link-select{border:1px solid var(--line);min-width:0;color:var(--ink);background:#fff;border-radius:6px;padding:6px 8px;font-size:11px}.gantt-bar.actual{justify-content:space-between;gap:7px}.gantt-bar.actual>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.gantt-bar.actual>em{color:#55756b;flex:none;font-size:9px;font-style:normal}.gantt-bar.actual-track{height:20px;line-height:18px}.actual-sync-guide{background:#f0f7f4;border:1px solid #c7ddd3;border-radius:9px;justify-content:space-between;align-items:center;gap:18px;padding:10px 13px;display:flex}.actual-sync-guide strong,.actual-sync-guide span{display:block}.actual-sync-guide strong{color:var(--green);font-size:11px}.actual-sync-guide span{color:#51655d;margin-top:3px;font-size:10px}.actual-sync-guide em{color:#6c7c75;text-align:right;max-width:410px;font-size:10px;font-style:normal}.gantt-bar.log{cursor:pointer;font-family:inherit}.log-view-dialog{width:min(900px,100%)}.log-view-summary{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.log-view-summary>div{background:#f7fafc;border:1px solid #dce4eb;border-radius:8px;padding:12px}.log-view-summary span,.log-view-summary strong{display:block}.log-view-summary span{color:var(--muted);font-size:10px}.log-view-summary strong{color:#173968;margin-top:4px;font-size:13px}.log-view-section{background:#fff;border:1px solid #dce4eb;border-radius:9px;padding:14px}.log-view-section h3{color:#173968;margin:0 0 8px;font-size:13px}.log-view-section p{color:#425466;white-space:pre-wrap;margin:0;font-size:11px;line-height:1.75}.log-view-two-columns{grid-template-columns:1fr 1fr;gap:12px;display:grid}.log-view-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.log-view-progress>div{color:#425466;background:#f2f6f9;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:11px;display:flex}.log-view-progress strong{color:#b77d07}.log-view-materials{gap:5px;display:grid}.log-view-materials>div{color:#536575;border-bottom:1px solid #edf1f4;grid-template-columns:1fr 1.4fr .7fr 1fr;gap:8px;padding:7px 9px;font-size:10px;display:grid}.log-view-materials>div:last-child{border-bottom:0}.log-view-materials strong{color:#273c50}.log-view-photos{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.log-view-photos figure{background:#f7fafc;border:1px solid #dce4eb;border-radius:8px;margin:0;overflow:hidden}.log-view-photos img{object-fit:cover;width:100%;height:130px;display:block}.log-view-photos figcaption{color:#536575;text-align:center;padding:6px;font-size:10px}@media (width<=760px){.progress-link-note,.actual-sync-guide{flex-direction:column;align-items:flex-start}.progress-link-note span,.actual-sync-guide em{text-align:left}.progress-item-row{grid-template-columns:minmax(110px,1fr) 68px auto}.progress-name-input,.progress-link-select{grid-column:1/-1}.progress-item-row>input[type=range]{grid-area:auto/1/auto/-1}.percent-input{grid-column:1}.remove-progress{grid-column:3}.app-shell.sidebar-auto{grid-template-columns:1fr}.sidebar,.app-shell.sidebar-auto:not(.sidebar-expanded) .sidebar,.app-shell.sidebar-auto.sidebar-expanded .sidebar{width:100%;padding:14px}.sidebar-mode-toggle{display:none!important}.app-shell.sidebar-auto:not(.sidebar-expanded) .sidebar nav button{text-align:left;width:auto;height:auto;padding:9px 11px;display:block}.app-shell.sidebar-auto:not(.sidebar-expanded) .sidebar nav button span{display:inline}.app-shell.sidebar-auto:not(.sidebar-expanded) .sidebar nav button:before{display:none}.sidebar-nav-divider,.app-shell.sidebar-auto:not(.sidebar-expanded) .sidebar-nav-divider{flex:0 0 1px;align-self:stretch;width:1px;height:auto;margin:4px 8px}.sidebar nav a{white-space:nowrap}.app-shell.sidebar-auto:not(.sidebar-expanded) .sidebar nav a{text-align:left;width:auto;height:auto;padding:9px 11px;display:block}.app-shell.sidebar-auto:not(.sidebar-expanded) .sidebar nav a span{display:inline}.app-shell.sidebar-auto:not(.sidebar-expanded) .sidebar nav a:before{display:none}.log-view-summary,.log-view-progress,.log-view-two-columns{grid-template-columns:1fr}.log-view-materials>div{grid-template-columns:1fr 1fr}.log-view-photos{grid-template-columns:repeat(2,minmax(0,1fr))}}.progress-link-note>div{min-width:0}.progress-link-note>div span{text-align:left;margin-top:2px}.progress-link-note button{color:var(--green);background:#fff;border:1px solid #a8c6b9;border-radius:7px;flex:none;padding:7px 10px;font-size:10px;font-weight:700}.work-category-manager{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.work-category-intro{border-bottom:1px solid var(--line);background:#f3f8f5;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.work-category-intro strong,.work-category-intro span{display:block}.work-category-intro strong{font-size:14px}.work-category-intro span{color:var(--muted);margin-top:5px;font-size:11px}.work-category-intro b{color:var(--green);white-space:nowrap;background:#e0efe8;border-radius:20px;padding:6px 10px;font-size:11px}.work-category-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding:12px 20px;display:grid}.work-category-list article{border-bottom:1px solid #edf1ef;grid-template-columns:28px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px 0;display:grid}.work-category-list article>i{width:24px;height:24px;color:var(--green);background:#edf4f1;border-radius:50%;place-items:center;font-size:10px;font-style:normal;font-weight:700;display:grid}.work-category-list input{border:1px solid var(--line);background:#fbfcfb;border-radius:7px;width:100%;min-width:0;padding:8px 9px;font-size:11px}.category-order{gap:4px;display:flex}.category-order button,.category-delete{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:6px;padding:6px 7px;font-size:9px}.category-order button:disabled{opacity:.35}.category-delete{color:var(--red);border-color:#e7c6c3}.work-category-add{grid-template-columns:1fr auto;align-items:end;gap:10px;padding:16px 20px 20px;display:grid}.work-category-add label{color:var(--muted);gap:6px;font-size:10px;display:grid}.work-category-add input{border:1px solid var(--line);background:#fbfcfb;border-radius:7px;padding:10px}.work-category-add button{height:38px;padding:0 18px}.auth-loading{color:#d7e7f2;background:#071f36;place-items:center;min-height:100vh;font-size:14px;display:grid}.login-page{background:radial-gradient(circle at 72% 20%,#2c689752,#0000 30%),linear-gradient(145deg,#061b2f,#0b3355 60%,#071e34);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fffffffa;border:1px solid #a1c6e038;border-radius:16px;width:min(430px,100%);overflow:hidden;box-shadow:0 28px 70px #00000057}.login-card>header{color:#fff;background:#082744;align-items:center;gap:12px;padding:20px 24px;display:flex}.login-mark{color:#162534;background:#d7aa3c;border-radius:10px;place-items:center;width:40px;height:40px;font-size:18px;font-weight:800;display:grid}.login-card>header strong,.login-card>header small{display:block}.login-card>header strong{font-size:16px}.login-card>header small{color:#a8c2d5;margin-top:4px;font-size:10px}.login-intro{padding:24px 26px 12px}.login-intro h1{margin:0;font-size:23px}.login-intro p{color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.7}.login-card form{gap:14px;padding:12px 26px 24px;display:grid}.login-card form label{color:#53697c;gap:6px;font-size:11px;display:grid}.login-card form input{background:#f9fbfd;border:1px solid #cddae4;border-radius:8px;outline:0;padding:12px}.login-card form input:focus{border-color:#3978a7;box-shadow:0 0 0 3px #2b69971f}.login-card form button{color:#fff;background:#174f7d;border:0;border-radius:8px;padding:12px;font-weight:700}.login-card form button:disabled{opacity:.6}.login-error{color:#a43d38;background:#fcebea;border-radius:7px;margin:0;padding:9px 11px;font-size:10px}.login-card>footer{color:#6c7e8c;background:#f5f8fa;border-top:1px solid #e1e8ee;justify-content:space-between;padding:12px 26px;font-size:9px;display:flex}.login-card>footer em{font-style:normal}.user-menu{align-items:center;gap:8px;padding-left:2px;display:flex}.user-menu>div:nth-child(2) strong,.user-menu>div:nth-child(2) span{display:block}.user-menu>div:nth-child(2) strong{font-size:10px}.user-menu>div:nth-child(2) span{color:var(--muted);margin-top:2px;font-size:8px}.user-menu button{color:#52697b;background:#fff;border:1px solid #d2dce4;border-radius:5px;padding:5px 6px;font-size:8px}.account-settings,.backup-settings,.security-readonly{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.account-settings>header,.backup-settings>header{border-bottom:1px solid var(--line);background:#f1f6fa;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.account-settings>header strong,.account-settings>header span,.backup-settings>header strong,.backup-settings>header span{display:block}.account-settings>header strong,.backup-settings>header strong{font-size:14px}.account-settings>header span,.backup-settings>header span{color:var(--muted);margin-top:4px;font-size:10px}.account-settings>header em,.backup-settings>header em{color:#315f9f;font-size:10px;font-style:normal}.account-create{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr 1.25fr 1.2fr auto;align-items:end;gap:9px;padding:14px 18px;display:grid}.account-create label{color:var(--muted);gap:5px;font-size:9px;display:grid}.account-create input,.account-create select{border:1px solid var(--line);background:#fbfcfd;border-radius:6px;min-width:0;padding:8px}.account-create button,.backup-actions button,.backup-actions a{color:#fff;background:#174f7d;border:1px solid #174f7d;border-radius:6px;padding:9px 11px;font-size:9px;font-weight:700;text-decoration:none}.account-list{display:grid}.account-list article{border-top:1px solid #edf1f4;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px;padding:10px 18px;display:grid}.account-list article:first-child{border-top:0}.account-list strong,.account-list span{display:block}.account-list strong{font-size:11px}.account-list span{color:var(--muted);margin-top:3px;font-size:9px}.account-list em{color:#176c55;background:#e5f3ed;border-radius:12px;padding:4px 7px;font-size:8px;font-style:normal}.account-list em.disabled{color:#7d858b;background:#f0f1f2}.account-list button{color:#536979;background:#fff;border:1px solid #d2dce4;border-radius:5px;padding:5px 7px;font-size:8px}.backup-actions{gap:9px;padding:14px 18px;display:flex}.backup-actions .secondary{color:#496273;background:#fff;border-color:#c7d4de}.security-notice{color:#24567d;background:#edf5fb;border-radius:7px;margin:0 18px 12px;padding:9px 11px;font-size:10px}.backup-list{padding:0 18px 14px;display:grid}.backup-list article{border-top:1px solid #edf1f4;grid-template-columns:180px minmax(0,1fr) auto;gap:12px;padding:8px 0;font-size:9px;display:grid}.backup-list span{color:var(--muted)}.backup-list code{color:#527188}.security-readonly{padding:18px}.security-readonly strong{font-size:14px}.security-readonly p{color:var(--muted);margin:6px 0 0;font-size:10px}@media (width<=900px){.account-create{grid-template-columns:repeat(2,1fr)}.account-create button{grid-column:1/-1}.user-menu>div:nth-child(2){display:none}}@media (width<=760px){.login-page{padding:0}.login-card{border:0;border-radius:0;min-height:100vh}.user-menu button{display:none}.account-list article{grid-template-columns:1fr auto}.account-list article button{grid-row:2}.backup-actions{flex-direction:column}.backup-list article{grid-template-columns:1fr}.account-settings>header,.backup-settings>header{flex-direction:column;align-items:flex-start;gap:8px}.login-page{background-position:64%;min-height:100svh;display:block;overflow-x:hidden}.login-page-brand{display:none}.login-card{width:100%;min-height:100svh;box-shadow:none;background:#fffffff7}.login-card>header{min-height:104px;padding:calc(18px + env(safe-area-inset-top)) 24px 18px}.login-card>header>div strong{white-space:normal;font-size:15px}.login-card>header>div small{white-space:normal;font-size:9px;line-height:1.5}.login-intro{padding:30px 28px 12px}.login-intro h1{font-size:27px;line-height:1.25}.login-card form{padding:16px 28px 28px}.login-card form input,.login-card form button{min-height:48px}.login-card>footer{padding:14px 28px calc(14px + env(safe-area-inset-bottom));gap:12px;line-height:1.5}}@media (width<=420px){.login-intro,.login-card form{padding-inline:22px}.login-card>footer{flex-direction:column;align-items:flex-start;padding-inline:22px}}@media (width<=760px){.work-category-list{grid-template-columns:1fr;padding:10px 14px}.work-category-list article{grid-template-columns:26px minmax(0,1fr) auto}.category-order{grid-column:2}.category-delete{grid-area:1/3}.work-category-add{grid-template-columns:1fr;padding:14px}.work-category-intro{align-items:flex-start;padding:15px}.progress-link-note button{width:100%}}.report-rule-chip{text-align:right;background:#fff9ec;border:1px solid #d8c18e;border-radius:8px;padding:9px 12px}.report-rule-chip strong,.report-rule-chip span{display:block}.report-rule-chip strong{color:#805916;font-size:11px}.report-rule-chip span{color:#9a7a43;margin-top:3px;font-size:9px}.report-type-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.report-type-tabs button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:10px;padding:13px 15px}.report-type-tabs strong,.report-type-tabs span{display:block}.report-type-tabs strong{font-size:14px}.report-type-tabs span{color:var(--muted);margin-top:5px;font-size:10px}.report-type-tabs button.active strong{color:var(--green)}.report-compose-layout{grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);align-items:start;gap:14px;display:grid}.report-form-panel,.report-preview,.report-history{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.report-form-head{border-bottom:1px solid var(--line);background:#f8faf9;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.report-form-head span{color:var(--green);font-size:10px}.report-form-head h3{margin:4px 0 0;font-size:17px}.report-form-head button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:6px;padding:6px 9px;font-size:10px}.report-meta-grid{grid-template-columns:1fr 1fr 1.25fr;gap:10px;padding:14px 18px;display:grid}.report-meta-grid label,.report-field-list label{color:var(--muted);gap:6px;font-size:10px;display:grid}.report-meta-grid input,.report-meta-grid select{border:1px solid var(--line);background:#fbfcfb;border-radius:7px;width:100%;padding:9px}.report-field-list{gap:12px;padding:2px 18px 18px;display:grid}.report-field-list label>span{align-items:center;gap:8px;display:flex}.report-field-list label i{width:20px;height:20px;color:var(--green);background:#e7f2ed;border-radius:50%;place-items:center;font-size:9px;font-style:normal;display:grid}.report-field-list label strong{color:var(--ink);font-size:11px}.report-field-list textarea{border:1px solid var(--line);resize:vertical;background:#fbfcfb;border-radius:7px;min-height:78px;padding:10px;line-height:1.65}.report-form-actions{border-top:1px solid var(--line);background:#fafbfa;justify-content:flex-end;gap:9px;padding:13px 18px 16px;display:flex}.report-form-actions button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:9px 14px;font-size:11px;font-weight:700}.report-form-actions .primary{border-color:var(--green);background:var(--green);color:#fff}.report-preview{position:sticky;top:18px}.report-preview header{border-bottom:1px solid var(--line);background:#f2f7f4;justify-content:space-between;align-items:center;padding:14px 15px;display:flex}.report-preview header strong,.report-preview header span{display:block}.report-preview header strong{font-size:13px}.report-preview header span{color:var(--muted);margin-top:3px;font-size:9px}.report-preview header button{border:1px solid var(--green);color:var(--green);background:#fff;border-radius:6px;padding:7px 10px;font-size:10px;font-weight:700}.report-preview textarea{color:#26312d;resize:vertical;background:#fff;border:0;outline:0;width:100%;height:520px;padding:16px;font-family:Microsoft YaHei,sans-serif;font-size:11px;line-height:1.8;display:block}.report-preview>p{color:var(--green);background:#edf7f2;border-top:1px solid #cce1d8;margin:0;padding:9px 14px;font-size:10px}.report-history>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.report-history>header h3{margin:0;font-size:16px}.report-history>header span{color:var(--muted);margin-top:4px;font-size:10px;display:block}.report-history>header>div:last-child{gap:7px;display:flex}.report-history select,.report-history input{border:1px solid var(--line);background:#fbfcfb;border-radius:7px;padding:8px 9px;font-size:10px}.report-history input{width:220px}.report-history-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;display:grid}.report-history-list article{border:1px solid var(--line);background:#fff;border-radius:9px;overflow:hidden}.report-history-main{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:13px;display:grid}.report-kind{color:#315f9f;background:#e8f1ff;border-radius:6px;align-self:start;padding:5px 7px;font-size:9px;font-weight:700}.report-kind.weekly{color:#9a5b18;background:#fff1de}.report-kind.monthly{color:var(--green);background:#e7f3ee}.report-history-main h4{margin:0;font-size:12px}.report-history-main p{color:#53635d;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:5px 0;font-size:10px;line-height:1.55;display:-webkit-box;overflow:hidden}.report-history-main small{color:var(--muted);font-size:9px}.report-history-main>em{color:var(--muted);white-space:nowrap;background:#f1f2f1;border-radius:20px;padding:4px 7px;font-size:9px;font-style:normal}.report-history-main>em.sent{color:var(--green);background:#e3f2eb}.report-history-list article>footer{background:#fafbfa;border-top:1px solid #edf0ee;justify-content:flex-end;gap:6px;padding:8px 12px;display:flex}.report-history-list article>footer button{color:var(--green);background:0 0;border:0;padding:5px 7px;font-size:9px}.report-history-list article>footer .danger{color:var(--red)}@media (width<=980px){.report-compose-layout{grid-template-columns:1fr}.report-preview{position:static}.report-preview textarea{height:360px}.report-history-list{grid-template-columns:1fr}}@media (width<=760px){.report-type-tabs,.report-meta-grid{grid-template-columns:1fr}.report-history>header{flex-direction:column;align-items:flex-start}.report-history>header>div:last-child{flex-direction:column;width:100%}.report-history select,.report-history input{width:100%}.report-rule-chip{text-align:left;width:100%}.report-form-actions{flex-direction:column}.report-form-actions button{width:100%}}.report-history-main>em.late{background:var(--red-soft);color:var(--red)}.report-scope-display{background:#f6faf8;border:1px solid #d9e5df;border-radius:8px;grid-template-columns:minmax(250px,.9fr) minmax(260px,1.1fr);gap:12px;margin:0 18px 15px;padding:12px;display:grid}.scope-visible-toggle{align-items:center;gap:9px!important;display:flex!important}.scope-visible-toggle input{width:16px;height:16px;accent-color:var(--green)}.scope-visible-toggle span,.scope-visible-toggle strong,.scope-visible-toggle small{display:block}.scope-visible-toggle strong{color:var(--ink);font-size:10px}.scope-visible-toggle small{color:var(--muted);margin-top:3px;font-size:9px}.report-scope-display>label:last-child{color:var(--muted);gap:6px;font-size:10px;display:grid}.report-scope-display>label:last-child input{border:1px solid var(--line);background:#fff;border-radius:7px;width:100%;padding:8px 9px}.log-header-actions{align-items:center;gap:8px;display:flex}.log-header-actions .template-link{font-size:10px}.log-reminder-banner{background:#fff7e7;border:1px solid #e7c688;border-radius:9px;justify-content:space-between;align-items:center;gap:16px;padding:12px 15px;display:flex}.log-reminder-banner strong,.log-reminder-banner span{display:block}.log-reminder-banner strong{color:#8d5d13;font-size:11px}.log-reminder-banner span{color:#725e38;margin-top:3px;font-size:10px}.log-reminder-banner button{color:#855b18;background:#fff;border:1px solid #d9b66f;border-radius:6px;padding:6px 9px;font-size:9px}.log-reminder-settings{background:#fff;border:1px solid #cbdcd4;border-radius:11px;overflow:hidden}.log-reminder-settings>header{border-bottom:1px solid var(--line);background:#f2f8f5;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.log-reminder-settings>header strong,.log-reminder-settings>header span{display:block}.log-reminder-settings>header strong{font-size:13px}.log-reminder-settings>header span{color:var(--muted);margin-top:4px;font-size:10px}.log-reminder-settings>header label{color:var(--green);white-space:nowrap;align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.log-reminder-settings>header input{accent-color:var(--green)}.reminder-config-grid{grid-template-columns:180px minmax(220px,1fr) 230px auto;align-items:end;gap:12px;padding:15px 16px;display:grid}.reminder-config-grid>label,.reminder-config-grid form label,.reminder-offsets{color:var(--muted);gap:6px;font-size:10px;display:grid}.reminder-config-grid input{border:1px solid var(--line);background:#fbfcfb;border-radius:7px;width:100%;padding:8px 9px}.reminder-offsets>div{flex-wrap:wrap;align-items:center;gap:5px;min-height:34px;display:flex}.reminder-offsets button{color:var(--green);background:#edf6f2;border:1px solid #b9d1c6;border-radius:20px;padding:6px 8px;font-size:9px}.reminder-config-grid form label>span{grid-template-columns:1fr auto;display:grid}.reminder-config-grid form button,.notification-permission{border:1px solid var(--green);color:var(--green);background:#fff;border-radius:0 7px 7px 0;padding:8px 10px;font-size:9px;font-weight:700}.notification-permission{border-radius:7px;height:34px}.log-reminder-settings>p{color:var(--muted);border-top:1px solid #edf1ef;margin:0;padding:9px 16px;font-size:9px}.log-reminder-settings>p:before{content:"提示：";color:#8d5d13;font-weight:700}@media (width<=980px){.reminder-config-grid{grid-template-columns:1fr 1fr}.notification-permission{width:100%}}@media (width<=760px){.log-header-actions{flex-wrap:wrap;width:100%}.log-header-actions>*{text-align:center;flex:1}.log-reminder-banner,.log-reminder-settings>header{flex-direction:column;align-items:flex-start}.reminder-config-grid{grid-template-columns:1fr}.log-reminder-banner button{width:100%}.report-scope-display{grid-template-columns:1fr;margin-left:14px;margin-right:14px}}.topbar h1,.section-header h2,.panel-title h2,.report-form-head h3{color:var(--blue-dark)}.topbar{border-bottom:1px solid #e6edf4;padding-bottom:17px}.top-actions select,.form-grid input,.form-grid select,.report-meta-grid input,.report-meta-grid select,.report-field-list textarea,.gate-dialog input,.gate-dialog select,.gate-dialog textarea{border-color:#d4dfe9;box-shadow:0 1px 2px #0f335208}input:focus,select:focus,textarea:focus{outline:none;border-color:#4d83ad!important;box-shadow:0 0 0 3px #245f8e1a!important}button{transition:border-color .16s,background .16s,color .16s,box-shadow .16s,transform .16s}button:not(:disabled):active{transform:translateY(1px)}.metric-row article,.project-strip article,.panel,.document-card,.log-form,.log-history,.report-form-panel,.report-preview,.report-history,.work-category-manager,.log-reminder-settings,.workflow-gate,.phase-toolbar,.operations-handover{border-color:#dbe4ed;box-shadow:0 5px 18px #1136540b}.metric-row article,.project-strip article,.panel,.document-card,.report-form-panel,.report-preview,.report-history{background:#fffffffa}.metric-row article:hover,.project-strip article:hover,.document-card:hover{border-color:#b9cede;box-shadow:0 9px 24px #123d5f14}.decision-banner.blocked{background:linear-gradient(135deg,#fff5f3,#fcebea);border-color:#edcbc6}.decision-banner.clear{background:linear-gradient(135deg,#f5faff,#eaf2f9);border-color:#c5d9e8}.decision-banner.clear span,.decision-banner.clear button{color:var(--blue)}.decision-banner.clear button{border-color:#a9c5da}.progress-line,.metric-row article{overflow:hidden}.progress-line i,.metric-row i{background:linear-gradient(90deg,#174f7d,#3a7fae)}.panel-title,.log-history>header,.report-preview header,.report-form-head,.workflow-track{border-color:#e2e9f0}.template-link,.add-review-item,.progress-link-note button,.report-preview header button{color:var(--blue)!important;background:#fff!important;border-color:#94b5cf!important}.template-link:hover,.add-review-item:hover,.progress-link-note button:hover,.report-preview header button:hover{border-color:var(--blue)!important;background:var(--blue-soft)!important}.primary,.upload-button,.calendar-actions>button:last-child,.report-form-actions .primary{box-shadow:0 4px 10px #13487029;border-color:var(--blue)!important;color:#fff!important;background:linear-gradient(#1b5a8b,#154970)!important}.primary:hover,.upload-button:hover,.calendar-actions>button:last-child:hover,.report-form-actions .primary:hover{box-shadow:0 6px 14px #13487038;background:linear-gradient(#226897,#123f64)!important}.report-type-tabs button.active{box-shadow:inset 3px 0 var(--blue);background:linear-gradient(135deg,#f4f9fd,#eaf2f9);border-color:#7fa8c7}.report-scope-display,.progress-link-note,.actual-sync-guide{background:#f7fafc;border-color:#d4e1eb}.report-history-main>em.sent,.gate-status.passed{color:#174f7d;background:#e7f1f8}.weekday-row,.schedule-head,.material-head{color:#35546d;background:#edf3f8}.gantt-week,.month-calendar,.schedule-table,.category-kanban{border-color:#d8e2eb}.weather-card{background:#edf5fb}::selection{color:#0b2d4d;background:#cde1f1}.portfolio-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;display:grid}.portfolio-metrics article{background:#fff;border:1px solid #d8e3ed;border-radius:10px;padding:15px 16px;box-shadow:0 5px 18px #1136540a}.portfolio-metrics span,.portfolio-metrics small{color:var(--muted);font-size:10px;display:block}.portfolio-metrics strong{color:var(--blue-dark);margin:7px 0 4px;font-size:24px;display:block}.portfolio-metrics strong em{color:var(--muted);margin-left:4px;font-size:10px;font-style:normal;font-weight:500}.portfolio-report{background:#fff;border:1px solid #cfdde8;border-radius:11px;overflow:hidden;box-shadow:0 7px 22px #123a590e}.portfolio-report>header{background:#eef4f9;border-bottom:1px solid #d5e1ea;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.portfolio-report>header strong,.portfolio-report>header span{display:block}.portfolio-report>header strong{color:#163f63;font-size:13px}.portfolio-report>header span,.portfolio-report>header b{color:#607a8e;margin-top:3px;font-size:9px;font-weight:500}.portfolio-table-scroll{overflow:auto}.portfolio-report table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1720px}.portfolio-report th{z-index:2;color:#fff;text-align:center;background:#3f72bd;border-right:1px solid #ffffff85;padding:10px 7px;font-size:10px;line-height:1.45;position:sticky;top:0}.portfolio-report th:nth-child(8),.portfolio-report th:nth-child(9){width:92px}.portfolio-report th:nth-child(10){width:160px}.portfolio-report td{color:#263b4b;vertical-align:middle;border-bottom:1px solid #d8e0e8;border-right:1px solid #d8e0e8;padding:10px 8px;font-size:10px;line-height:1.5}.portfolio-report tbody tr:nth-child(2n) td{background:#f2f6fc}.portfolio-report tbody tr:hover td{background:#edf5fb}.portfolio-report td:last-child,.portfolio-report th:last-child{border-right:0}.portfolio-report tbody tr:last-child td{border-bottom:0}.row-number,.capacity-cell{text-align:center;font-weight:700}.project-name-cell button{color:#123f66;text-align:left;background:0 0;border:0;width:100%;padding:0;font-weight:700;display:block}.project-name-cell button:hover{text-decoration:underline}.project-name-cell small{color:#718391;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:8px;display:block;overflow:hidden}.stage-progress-cell>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.stage-progress-cell strong,.stage-progress-cell span{font-size:9px}.stage-progress-cell>i{background:#e5ebf0;border-radius:8px;height:6px;margin-top:6px;display:block;overflow:hidden}.stage-progress-cell>i b{border-radius:8px;height:100%;display:block}.current-progress-cell p{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.current-progress-cell small{color:#6c8293;margin-top:4px;font-size:8px;display:block}.priority-cell span{color:#8d3c37;gap:5px;margin:3px 0;display:flex}.priority-cell span i{background:#fcebea;border-radius:50%;flex:none;place-items:center;width:15px;height:15px;font-size:8px;font-style:normal;display:grid}.priority-cell em{color:#84929c;font-size:9px;font-style:normal}.table-action{color:#174f7d;background:#fff;border:1px solid #9ab9d0;border-radius:6px;padding:6px 8px;font-size:9px;font-weight:700}.table-action:hover{background:#edf5fb}.project-admin-list,.permission-matrix,.project-change-history{background:#fff;border:1px solid #d7e2eb;border-radius:11px;overflow:hidden;box-shadow:0 6px 20px #123a590b}.project-admin-list>header,.permission-matrix>header,.project-change-history>header{background:#f2f6f9;border-bottom:1px solid #dce5ed;justify-content:space-between;align-items:center;gap:12px;padding:12px 15px;display:flex}.project-admin-list>header strong,.permission-matrix>header strong,.project-change-history>header strong{color:#173f62;font-size:13px}.project-admin-list>header span,.permission-matrix>header span,.project-change-history>header span{color:var(--muted);margin-left:8px;font-size:9px}.project-admin-list>article{border-bottom:1px solid #e4eaf0;grid-template-columns:minmax(300px,1.3fr) minmax(450px,1.4fr) auto;align-items:center;gap:18px;padding:13px 15px;display:grid}.project-admin-list>article:last-child{border-bottom:0}.project-admin-list>article.selected{background:#fbfdff;box-shadow:inset 4px 0 #3f72bd}.project-admin-title{align-items:center;gap:10px;min-width:0;display:flex}.project-admin-title>i{color:#174f7d;background:#e7f0f8;border-radius:8px;flex:none;place-items:center;width:32px;height:32px;font-size:13px;font-style:normal;font-weight:800;display:grid}.project-admin-title strong,.project-admin-title span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.project-admin-title strong{color:#183a57;font-size:12px}.project-admin-title span{color:var(--muted);margin-top:4px;font-size:9px}.project-admin-list dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;display:grid}.project-admin-list dl>div{border-left:2px solid #e4ebf1;padding-left:8px}.project-admin-list dt{color:var(--muted);font-size:8px}.project-admin-list dd{color:#263f52;margin:3px 0 0;font-size:10px}.project-admin-list footer{gap:7px;display:flex}.project-admin-list footer button{color:#315b7d;background:#fff;border:1px solid #cbd9e4;border-radius:6px;padding:7px 9px;font-size:9px;font-weight:700}.project-admin-list footer .primary{padding:7px 10px}.project-admin-bottom{grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);gap:14px;display:grid}.permission-matrix>header div strong,.permission-matrix>header div span,.project-change-history>header div strong,.project-change-history>header div span{margin-left:0;display:block}.permission-matrix>header em{color:#174f7d;background:#e8f1f8;border-radius:12px;padding:4px 7px;font-size:9px;font-style:normal}.permission-matrix>div>article{border-bottom:1px solid #e7edf2;grid-template-columns:120px 1fr 92px;align-items:center;gap:10px;padding:9px 13px;display:grid}.permission-matrix>div>article:last-child{border-bottom:0}.permission-matrix article strong{font-size:10px}.permission-matrix article span{color:#607484;font-size:9px}.permission-matrix article em{color:#84929c;text-align:right;font-size:9px;font-style:normal}.permission-matrix article em.can-review{color:#a05c16;font-weight:700}.project-change-history>header select{background:#fff;border:1px solid #ccd9e4;border-radius:6px;max-width:180px;padding:6px 8px;font-size:9px}.project-change-history>div{max-height:360px;overflow:auto}.project-change-history article{border-bottom:1px solid #e7edf2;padding:11px 13px}.project-change-history article:last-child{border-bottom:0}.project-change-history article>div{justify-content:space-between;gap:10px;display:flex}.project-change-history article strong{color:#254762;font-size:10px}.project-change-history article time,.project-change-history article em{color:#7b8d9a;font-size:8px;font-style:normal}.project-change-history article p{color:#334d61;margin:5px 0;font-size:10px}.project-change-history article small{color:#5e7282;background:#f3f6f8;border-radius:5px;margin-top:3px;padding:5px 7px;font-size:8px;display:block}.project-change-history article em{margin-top:5px;display:block}.project-editor-dialog{width:min(780px,100%)}.project-editor-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.project-editor-grid .wide{grid-column:1/-1}.project-editor-grid textarea{min-height:74px}@media (width<=1200px){.portfolio-metrics{grid-template-columns:repeat(2,1fr)}.project-admin-list>article{grid-template-columns:1fr}.project-admin-list dl{grid-template-columns:repeat(4,1fr)}.project-admin-list footer{justify-content:flex-end}.project-admin-bottom{grid-template-columns:1fr}}@media (width<=760px){.portfolio-metrics{grid-template-columns:1fr 1fr}.portfolio-report>header{flex-direction:column;align-items:flex-start}.project-admin-list dl{grid-template-columns:1fr 1fr}.permission-matrix>div>article{grid-template-columns:90px 1fr}.permission-matrix article em{text-align:left;grid-column:2}.project-editor-grid{grid-template-columns:1fr}.project-editor-grid .wide{grid-column:auto}}.single-project-dashboard{gap:14px}.project-command-hero{background:linear-gradient(135deg,#fff 0,#f3f8fc 100%);border:1px solid #cddce8;border-radius:12px;grid-template-columns:minmax(0,1.5fr) minmax(270px,.7fr) auto;align-items:center;gap:18px;padding:19px 21px;display:grid;box-shadow:0 8px 26px #123a590f}.project-command-title span,.project-command-state span{color:#60788b;font-size:10px}.project-command-title h2{color:#0d3558;margin:6px 0 5px;font-size:19px;line-height:1.45}.project-command-title p{color:#65798a;margin:0;font-size:10px}.project-command-state{background:#eef8f4;border-left:3px solid #168a70;border-radius:7px;padding:11px 13px}.project-command-state strong,.project-command-state small{display:block}.project-command-state strong{color:#116e5a;margin:4px 0;font-size:15px}.project-command-state small{color:#58736a;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:9px;line-height:1.5;display:-webkit-box;overflow:hidden}.project-command-actions{gap:7px;display:grid}.project-command-actions button{color:#205577;background:#fff;border:1px solid #a8bfd1;border-radius:7px;padding:9px 11px;font-size:10px;font-weight:700}.project-fact-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.project-fact-grid article{background:#fff;border:1px solid #d8e3ec;border-radius:9px;padding:13px 14px}.project-fact-grid span,.project-fact-grid small{color:#708290;font-size:8px;display:block}.project-fact-grid strong{color:#203f57;margin:6px 0 4px;font-size:13px;display:block}.project-dashboard-main,.project-dashboard-bottom,.project-dashboard-records{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:13px;display:grid}.stage-completion-panel,.plan-health-panel,.actual-construction-panel,.project-focus-panel,.dashboard-log-status,.dashboard-material-status{background:#fff;border:1px solid #d7e2eb;border-radius:11px;overflow:hidden;box-shadow:0 6px 20px #123a590b}.stage-completion-panel>header,.plan-health-panel>header,.actual-construction-panel>header,.project-focus-panel>header,.dashboard-log-status>header,.dashboard-material-status>header{background:#f3f7fa;border-bottom:1px solid #dde6ed;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;display:flex}.stage-completion-panel header span,.plan-health-panel header span,.actual-construction-panel header span,.project-focus-panel header span,.dashboard-log-status header span,.dashboard-material-status header span{color:#6c8090;font-size:8px}.stage-completion-panel header h3,.plan-health-panel header h3,.actual-construction-panel header h3,.project-focus-panel header h3,.dashboard-log-status header h3,.dashboard-material-status header h3{color:#173f61;margin:4px 0 0;font-size:13px}.stage-completion-panel>header>strong{color:#174f7d;font-size:24px}.plan-health-panel>header>em,.actual-construction-panel>header>em,.project-focus-panel>header>em,.dashboard-material-status>header>em{color:#245b83;background:#e8f1f8;border-radius:13px;padding:5px 8px;font-size:8px;font-style:normal}.plan-health-panel.missing>header>em{color:#a45d21;background:#fff0e5}.stage-progress-large{background:#e7edf2;border-radius:10px;height:9px;margin:16px 15px 12px;overflow:hidden}.stage-progress-large i{border-radius:10px;height:100%;display:block}.gate-counts{grid-template-columns:repeat(4,1fr);gap:8px;padding:0 15px 14px;display:grid}.gate-counts article{text-align:center;background:#f5f8fa;border-radius:7px;padding:9px}.gate-counts strong,.gate-counts span{display:block}.gate-counts strong{color:#27475f;font-size:15px}.gate-counts span{color:#778995;margin-top:2px;font-size:8px}.stage-lifecycle{background:#fafcfd;border-top:1px solid #e3e9ee;border-bottom:1px solid #e3e9ee;grid-template-columns:repeat(5,1fr);gap:0;padding:13px 15px;display:grid}.stage-lifecycle>div{align-items:center;gap:5px;min-width:0;display:flex;position:relative}.stage-lifecycle>div:not(:last-child):after{content:"";background:#cdd8e0;width:16px;height:1px;position:absolute;right:2px}.stage-lifecycle i{color:#718491;background:#fff;border:1px solid #bccbd6;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:8px;font-style:normal;display:grid}.stage-lifecycle strong,.stage-lifecycle small{display:block}.stage-lifecycle strong{color:#637786;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.stage-lifecycle small{color:#8a99a4;margin-top:2px;font-size:7px}.stage-lifecycle .complete i{color:#14705b;background:#e5f3ef;border-color:#82b7a9}.stage-lifecycle .current i{color:#fff;background:#174f7d;border-color:#174f7d}.stage-lifecycle .current strong{color:#174f7d}.stage-lifecycle .future{opacity:.48}.stage-completion-panel>footer,.plan-health-panel>footer,.actual-construction-panel>footer,.dashboard-log-status>footer,.dashboard-material-status>footer{justify-content:space-between;align-items:center;gap:12px;padding:11px 15px;display:flex}.stage-completion-panel>footer span{color:#6f8190;font-size:8px}.stage-completion-panel>footer button,.plan-health-panel>footer button,.actual-construction-panel>footer button,.dashboard-log-status>footer button,.dashboard-material-status>footer button{color:#174f7d;background:#fff;border:1px solid #a5bfd2;border-radius:6px;padding:7px 10px;font-size:9px;font-weight:700}.plan-date-track{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:18px 15px 12px;display:grid}.plan-date-track span,.plan-date-track strong{display:block}.plan-date-track span{color:#7a8c98;font-size:8px}.plan-date-track strong{color:#27475f;margin-top:3px;font-size:11px}.plan-date-track>div:last-child{text-align:right}.plan-date-track>i{background:#e4eaf0;border-radius:8px;height:7px;display:block;overflow:hidden}.plan-date-track>i b{background:linear-gradient(90deg,#3f72bd,#168a70);border-radius:8px;height:100%;display:block}.plan-stat-grid{grid-template-columns:repeat(4,1fr);gap:7px;padding:0 15px 13px;display:grid}.plan-stat-grid article{border:1px solid #e0e7ed;border-radius:7px;padding:9px}.plan-stat-grid span,.plan-stat-grid strong{display:block}.plan-stat-grid span{color:#718491;font-size:8px}.plan-stat-grid strong{color:#23445c;margin-top:5px;font-size:12px}.plan-stat-grid article.overdue{background:#fff7f6;border-color:#efcbc7}.plan-stat-grid article.overdue strong{color:#b7443e}.plan-health-note{background:#eef5fb;border-left:3px solid #3f72bd;border-radius:6px;margin:0 15px;padding:11px 12px}.plan-health-note strong,.plan-health-note span{display:block}.plan-health-note strong{color:#244e6d;font-size:9px}.plan-health-note span{color:#6a8090;margin-top:4px;font-size:8px}.actual-construction-panel>header>em{white-space:nowrap}.actual-summary{padding:14px 15px}.actual-summary strong,.actual-summary small{display:block}.actual-summary strong{color:#26465d;font-size:11px;line-height:1.65}.actual-summary small{color:#718591;margin-top:4px;font-size:8px}.actual-progress-items{grid-template-columns:1fr 1fr;gap:8px;padding:0 15px 13px;display:grid}.actual-progress-items article{border:1px solid #e0e7ec;border-radius:7px;padding:9px}.actual-progress-items article>div{justify-content:space-between;gap:8px;display:flex}.actual-progress-items strong,.actual-progress-items span{font-size:8px}.actual-progress-items span{color:#168a70}.actual-progress-items>article>i{background:#e6eeeb;border-radius:6px;height:5px;margin-top:6px;display:block;overflow:hidden}.actual-progress-items>article>i b{background:#168a70;border-radius:6px;height:100%;display:block}.actual-empty{margin:0 15px 12px;padding:12px}.project-focus-panel>div>article{border-bottom:1px solid #e4eaf0;grid-template-columns:22px 1fr auto;align-items:center;gap:9px;padding:12px 15px;display:grid}.project-focus-panel>div>article>i{color:#b7443e;background:#fcebea;border-radius:50%;place-items:center;width:22px;height:22px;font-size:8px;font-style:normal;display:grid}.project-focus-panel article p{color:#314c60;margin:0;font-size:10px;line-height:1.5}.project-focus-panel article>em{color:#a55a18;font-size:8px;font-style:normal}.project-focus-panel .next-action{background:#f7fafc}.project-focus-panel .next-action>i{color:#174f7d;background:#e7f1f8}.project-focus-panel .next-action p strong{color:#174f7d;margin-bottom:2px;font-size:8px;display:block}.project-focus-panel>div>.empty{margin:12px}.dashboard-log-status>header>em{border-radius:13px;padding:5px 8px;font-size:8px;font-style:normal}.dashboard-log-status>header>em.submitted{color:#14705b;background:#e5f3ef}.dashboard-log-status>header>em.pending{color:#a45d21;background:#fff0e5}.log-status-metrics{grid-template-columns:repeat(4,1fr);gap:7px;padding:13px 15px;display:grid}.log-status-metrics article,.material-overview-metrics article{border:1px solid #e0e7ed;border-radius:7px;padding:9px}.log-status-metrics span,.log-status-metrics strong,.material-overview-metrics span,.material-overview-metrics strong,.material-overview-metrics small{display:block}.log-status-metrics span,.material-overview-metrics span,.material-overview-metrics small{color:#718491;font-size:8px}.log-status-metrics strong,.material-overview-metrics strong{color:#23445c;margin-top:4px;font-size:12px}.recent-log-calendar{grid-template-columns:repeat(7,1fr);gap:5px;padding:0 15px 13px;display:grid}.recent-log-calendar>div{text-align:center;background:#f8fafb;border:1px solid #e1e7ec;border-radius:6px;padding:7px 2px}.recent-log-calendar span,.recent-log-calendar i,.recent-log-calendar small{display:block}.recent-log-calendar span{color:#6e8291;font-size:7px}.recent-log-calendar i{color:#8a9aa5;background:#edf1f4;border-radius:50%;width:18px;height:18px;margin:4px auto;font-size:8px;font-style:normal;line-height:18px}.recent-log-calendar small{color:#8b9aa4;font-size:7px}.recent-log-calendar>div.submitted{background:#f1f8f6;border-color:#b9d8cf}.recent-log-calendar>div.submitted i{color:#fff;background:#168a70}.latest-log-preview{background:#f1f8f6;border-left:3px solid #168a70;border-radius:6px;margin:0 15px;padding:10px 11px}.latest-log-preview span,.latest-log-preview small{color:#678077;font-size:8px}.latest-log-preview p{color:#315349;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:4px 0;font-size:9px;line-height:1.55;display:-webkit-box;overflow:hidden}.material-overview-metrics{grid-template-columns:1fr 1fr;gap:8px;padding:13px 15px;display:grid}.material-status-table{border:1px solid #dde5ec;border-radius:7px;margin:0 15px;overflow:hidden}.material-status-head,.material-status-table>article{grid-template-columns:1fr 1.3fr .75fr .85fr 1fr;align-items:center;gap:6px;padding:7px 8px;display:grid}.material-status-head{color:#567084;background:#edf3f8;font-size:7px}.material-status-table>article{border-top:1px solid #e5ebf0;font-size:8px}.material-status-table>article strong{color:#29475c}.material-status-table>article span,.material-status-table>article time,.material-status-table>article em{color:#6d8190;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-style:normal;overflow:hidden}.material-status-table>.empty{border:0;border-radius:0}.material-plan-preview{background:#f6f8fa;border-radius:7px;margin:12px 15px 0;padding:9px 10px}.material-plan-preview>span{color:#647a8b;margin-bottom:4px;font-size:8px;display:block}.material-plan-preview article{border-top:1px solid #e3e9ee;grid-template-columns:1fr auto 36px;gap:8px;padding:5px 0;display:grid}.material-plan-preview article strong,.material-plan-preview article small,.material-plan-preview article em{font-size:8px}.material-plan-preview article small{color:#718491}.material-plan-preview article em{color:#174f7d;text-align:right;font-style:normal}.dashboard-material-status>footer{justify-content:flex-end}@media (width<=1200px){.project-command-hero{grid-template-columns:1fr 300px}.project-command-actions{grid-column:1/-1;justify-content:flex-end;display:flex}.project-fact-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.project-dashboard-main,.project-dashboard-bottom,.project-dashboard-records,.project-command-hero{grid-template-columns:1fr}.project-command-actions{grid-column:auto}.stage-lifecycle{grid-template-columns:repeat(5,minmax(105px,1fr));overflow-x:auto}}@media (width<=760px){.project-fact-grid,.plan-stat-grid,.gate-counts,.log-status-metrics{grid-template-columns:1fr 1fr}.actual-progress-items{grid-template-columns:1fr}.material-status-table{overflow:auto}.material-status-head,.material-status-table>article{min-width:560px}}.portfolio-report table{min-width:1960px}.portfolio-report th:first-child{width:48px}.portfolio-report th:nth-child(2){width:82px}.portfolio-report th:nth-child(3){width:190px}.portfolio-report th:nth-child(4){width:84px}.portfolio-report th:nth-child(5){width:88px}.portfolio-report th:nth-child(6){width:140px}.portfolio-report th:nth-child(7){width:84px}.portfolio-report th:nth-child(8){width:95px}.portfolio-report th:nth-child(9),.portfolio-report th:nth-child(10){width:92px}.portfolio-report th:nth-child(11){width:155px}.portfolio-report th:nth-child(12){width:160px}.portfolio-report th:nth-child(13){width:245px}.portfolio-report th:nth-child(14){width:220px}.portfolio-report th:nth-child(15){width:66px}.dc-capacity em{color:#9b6a23;font-size:8px;font-style:normal;font-weight:500}.procedure-status-cell>div{justify-content:space-between;align-items:center;gap:7px;display:flex}.procedure-status-cell strong,.procedure-status-cell span{font-size:8px}.procedure-status-cell>i{background:#e6ebef;border-radius:7px;height:6px;margin-top:5px;display:block;overflow:hidden}.procedure-status-cell>i b{background:#cc8b22;border-radius:7px;height:100%;display:block}.procedure-status-cell>small{color:#728591;margin-top:4px;font-size:7px;display:block}.procedure-status-cell.ready strong{color:#168a70}.procedure-status-cell.ready>i b{background:#168a70}.procedure-status-cell.construction strong{color:#3f72bd}.procedure-status-cell.construction>i b{background:#3f72bd}.procedure-tracking-board{background:#fff;border:1px solid #d3e0e9;border-radius:11px;overflow:hidden;box-shadow:0 7px 22px #123a590d}.procedure-tracking-board>header{background:#eef4f9;border-bottom:1px solid #dbe5ec;justify-content:space-between;align-items:center;gap:14px;padding:13px 15px;display:flex}.procedure-tracking-board>header strong,.procedure-tracking-board>header span{display:block}.procedure-tracking-board>header strong{color:#173f61;font-size:13px}.procedure-tracking-board>header span{color:#647b8c;margin-top:3px;font-size:8px}.procedure-tracking-board>header>div:last-child{gap:6px;display:flex}.procedure-tracking-board>header em{color:#a45d21;background:#fff0e5;border-radius:13px;padding:5px 8px;font-size:8px;font-style:normal}.procedure-tracking-board>header em.ready{color:#14705b;background:#e5f3ef}.procedure-columns{grid-template-columns:1fr 1fr;gap:0;display:grid}.procedure-columns>section+section{border-left:1px solid #dce5ec}.procedure-columns>section>header{background:#fafcfd;border-bottom:1px solid #e1e8ee;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.procedure-columns>section>header span,.procedure-columns>section>header strong{display:block}.procedure-columns>section>header span{color:#8a5b20;font-size:8px}.procedure-columns>section>header strong{color:#3d5364;margin-top:3px;font-size:10px}.procedure-ready-column>header span{color:#14705b!important}.procedure-columns>section>header b{color:#a45d21;background:#fff0e5;border-radius:50%;place-items:center;width:27px;height:27px;font-size:10px;display:grid}.procedure-ready-column>header b{color:#14705b!important;background:#e5f3ef!important}.procedure-pending-column>div,.procedure-ready-column>div{padding:12px}.procedure-pending-column article{background:#fff;border:1px solid #e2e8ed;border-radius:8px;margin-bottom:8px;padding:11px}.procedure-pending-column article:last-child{margin-bottom:0}.procedure-pending-column article>div,.procedure-pending-column article>footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.procedure-pending-column article strong{color:#2a465b;font-size:10px}.procedure-pending-column article span{color:#6f8290;font-size:8px}.procedure-pending-column article>i{background:#e8ecef;border-radius:7px;height:6px;margin:7px 0;display:block;overflow:hidden}.procedure-pending-column article>i b{background:#cc8b22;border-radius:7px;height:100%;display:block}.procedure-pending-column article p{color:#7e5540;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 8px;font-size:8px;line-height:1.55;display:-webkit-box;overflow:hidden}.procedure-pending-column article>footer{border-top:1px solid #ebeff2;padding-top:7px}.procedure-pending-column article>footer em{color:#b7443e;font-size:8px;font-style:normal}.procedure-ready-column article{background:#f7fbfa;border:1px solid #d7e7e1;border-radius:8px;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;margin-bottom:8px;padding:11px;display:grid}.procedure-ready-column article:last-child{margin-bottom:0}.procedure-ready-column article>i{color:#fff;background:#168a70;border-radius:50%;place-items:center;width:27px;height:27px;font-size:10px;font-style:normal;display:grid}.procedure-ready-column article strong,.procedure-ready-column article span,.procedure-ready-column article small{display:block}.procedure-ready-column article strong{color:#245044;font-size:10px}.procedure-ready-column article span,.procedure-ready-column article small{color:#688078;margin-top:3px;font-size:8px}.procedure-ready-column article>em{color:#14705b;background:#dff0eb;border-radius:12px;padding:4px 7px;font-size:8px;font-style:normal}.procedure-columns .empty{background:#f8fafb;border:0}@media (width<=900px){.procedure-columns{grid-template-columns:1fr}.procedure-columns>section+section{border-top:1px solid #dce5ec;border-left:0}}.portfolio-table-scroll{overflow-x:visible}.portfolio-report table.portfolio-compact-table{table-layout:fixed;width:100%;min-width:0}.portfolio-compact-table col.c-index{width:3%}.portfolio-compact-table col.c-project{width:15%}.portfolio-compact-table col.c-capacity{width:8%}.portfolio-compact-table col.c-company{width:12%}.portfolio-compact-table col.c-people{width:11%}.portfolio-compact-table col.c-dates{width:9%}.portfolio-compact-table col.c-stage{width:15%}.portfolio-compact-table col.c-progress{width:13%}.portfolio-compact-table col.c-priority{width:10%}.portfolio-compact-table col.c-action{width:4%}.portfolio-compact-table th{padding:9px 5px;width:auto!important}.portfolio-compact-table td{overflow-wrap:anywhere;word-break:break-word;padding:8px 6px}.portfolio-compact-table .project-name-cell small{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.project-name-line{align-items:center;gap:6px;display:flex}.project-name-line>button{min-width:0}.project-grid-connected{color:#17725e;white-space:nowrap;background:#dff2e9;border-radius:8px;flex:none;padding:2px 5px;font-style:normal;font-weight:700;box-shadow:inset 0 0 0 1px #17725e1f;font-size:7px!important}.compact-capacity strong,.compact-capacity span,.compact-company strong,.compact-company span,.compact-people strong,.compact-people span,.compact-people small{display:block}.compact-capacity strong{color:#184c77}.compact-capacity span{color:#327a68;margin-top:4px}.compact-capacity small{color:#758795;margin-left:2px;font-size:7px;font-weight:500;display:inline}.compact-company strong{font-size:9px}.compact-company span{color:#6d8190;margin-top:5px;font-size:8px;line-height:1.4}.compact-people strong,.compact-people span{font-size:8px}.compact-people span,.compact-people small{color:#6b7e8c;margin-top:3px}.compact-people small{font-size:7px}.compact-dates span{align-items:flex-start;gap:4px;margin:3px 0;font-size:8px;display:flex}.compact-dates b{color:#275d8a;background:#e7eff7;border-radius:4px;flex:0 0 14px;place-items:center;height:14px;font-size:7px;display:grid}.compact-stage .stage-progress-cell{border-top:1px dashed #d8e1e8;margin-top:7px;padding-top:6px}.compact-stage .procedure-status-cell>small{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.portfolio-metrics .clickable-metric{padding:0;overflow:hidden}.portfolio-metrics .clickable-metric button{text-align:left;background:0 0;border:0;width:100%;height:100%;padding:15px 16px;display:block}.portfolio-metrics .clickable-metric:hover{border-color:#89afd0;transform:translateY(-1px);box-shadow:0 9px 24px #184d761a}.portfolio-metrics .clickable-metric.ready{background:#f8fcfb}.portfolio-metrics .clickable-metric.ready strong{color:#168a70}.portfolio-metrics .clickable-metric.support{background:#fffaf5}.procedure-status-button{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block}.procedure-status-button:hover .procedure-status-cell small{color:#174f7d}.procedure-status-cell>span{justify-content:space-between;align-items:center;gap:7px;display:flex}.procedure-status-cell>span strong,.procedure-status-cell>span em{font-size:8px;font-style:normal}.procedure-status-cell.processing>i b{background:#cc8b22}.procedure-status-cell.blocked>i b{background:#c9564f}.portfolio-filter-bar{background:#fff;border:1px solid #d0deea;border-radius:10px;overflow:hidden;box-shadow:0 5px 18px #11365409}.portfolio-filter-bar>header{background:#f1f6fa;border-bottom:1px solid #dde6ed;justify-content:space-between;align-items:center;padding:9px 12px;display:flex}.portfolio-filter-bar>header strong,.portfolio-filter-bar>header span{display:block}.portfolio-filter-bar>header strong{color:#173f61;font-size:11px}.portfolio-filter-bar>header span{color:#728696;margin-top:2px;font-size:8px}.portfolio-filter-bar>header button{color:#174f7d;background:#fff;border:1px solid #93b4cc;border-radius:6px;padding:6px 9px;font-size:8px;font-weight:700}.portfolio-filter-grid{grid-template-columns:minmax(210px,1.5fr) repeat(6,minmax(125px,1fr));gap:8px;padding:10px 12px;display:grid}.portfolio-filter-grid label{color:#61798b;font-size:8px}.portfolio-filter-grid input,.portfolio-filter-grid select{color:#29475d;background:#fbfcfd;border:1px solid #cad8e2;border-radius:6px;width:100%;height:32px;margin-top:4px;padding:0 8px;font-size:8px;display:block}.portfolio-filter-grid input:focus,.portfolio-filter-grid select:focus{border-color:#568db7;outline:2px solid #3f72bd1a}.stage-progress-button{text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px dashed #d8e1e8;width:100%;margin-top:7px;padding:6px 0 0;display:block}.compact-stage .stage-progress-button .stage-progress-cell{border:0;margin:0;padding:0;display:block}.stage-progress-button .stage-progress-cell>span{justify-content:space-between;align-items:center;gap:8px;display:flex}.stage-progress-button .stage-progress-cell strong,.stage-progress-button .stage-progress-cell em{font-size:9px;font-style:normal}.stage-progress-button .stage-progress-cell>i{background:#e5ebf0;border-radius:8px;height:6px;margin-top:6px;display:block;overflow:hidden}.stage-progress-button .stage-progress-cell>i b{border-radius:8px;height:100%;display:block}.stage-progress-button:hover{border-top-color:#7ca9ca}.stage-progress-button:hover .stage-progress-cell>i{box-shadow:0 0 0 2px #168a701f}.project-management-page.editor-only{display:contents}.project-management-page.editor-only>:not(.gate-modal){display:none}.procedure-panel-overlay{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#071c2dad;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.procedure-panel-dialog{background:#f6f9fc;border:1px solid #c9d9e6;border-radius:16px;width:min(1500px,96vw);height:min(900px,94vh);position:relative;overflow:auto;box-shadow:0 30px 80px #03132059}.procedure-panel-close{z-index:8;float:right;color:#173f61;background:#fff;border:1px solid #cbd9e3;border-radius:50%;width:34px;height:34px;margin:14px 14px 0 0;font-size:21px;line-height:1;position:sticky;top:14px}.procedure-portfolio-panel{padding:27px}.procedure-portfolio-panel>header{border-bottom:1px solid #d9e4ec;justify-content:space-between;align-items:center;padding:0 46px 18px 0;display:flex}.procedure-portfolio-panel>header span,.procedure-portfolio-panel>header p{color:#667e91;font-size:10px}.procedure-portfolio-panel>header h2{color:#143d60;margin:4px 0;font-size:24px}.procedure-portfolio-panel>header p{margin:0}.procedure-portfolio-panel>header b{color:#174f7d;background:#e7f0f8;border-radius:10px;place-items:center;min-width:64px;height:48px;font-size:20px;display:grid}.procedure-portfolio-panel>nav{gap:8px;padding:14px 0;display:flex}.procedure-portfolio-panel>nav button{color:#536d80;background:#fff;border:1px solid #cad9e5;border-radius:8px;align-items:center;gap:8px;padding:8px 13px;font-weight:700;display:flex}.procedure-portfolio-panel>nav button.active{color:#fff;background:#1b5d8d;border-color:#216699}.procedure-portfolio-panel>nav em{background:#5a7d9724;border-radius:11px;place-items:center;min-width:20px;height:20px;font-size:9px;font-style:normal;display:grid}.procedure-project-list{gap:10px;display:grid}.procedure-project-list>article{background:#fff;border:1px solid #d6e1e9;border-radius:10px;grid-template-columns:minmax(230px,1.25fr) minmax(190px,.8fr) minmax(220px,1fr) minmax(240px,1.1fr) auto;align-items:center;gap:16px;padding:14px 15px;display:grid}.procedure-project-heading strong,.procedure-project-heading span{display:block}.procedure-project-heading strong{color:#193f5d;font-size:13px}.procedure-project-heading span{color:#718696;margin-top:4px;font-size:9px}.procedure-project-heading em{color:#a56020;background:#fff0df;border-radius:10px;margin-top:6px;padding:3px 7px;font-size:8px;font-style:normal;display:inline-block}.procedure-project-heading em.ready{color:#14705b;background:#e3f2ed}.procedure-project-heading em.construction{color:#315f9d;background:#e5eefb}.procedure-project-progress{grid-template-columns:1fr auto;align-items:center;gap:5px 8px;display:grid}.procedure-project-progress i{background:#e6ebef;border-radius:6px;height:8px;overflow:hidden}.procedure-project-progress i b{background:#cc8b22;border-radius:6px;height:100%;display:block}.procedure-project-progress strong{color:#a35f21;font-size:12px}.procedure-project-progress span{color:#718696;grid-column:1/-1;font-size:8px}.procedure-project-current span,.procedure-project-support span{color:#728797;font-size:8px}.procedure-project-current p,.procedure-project-support p{color:#324d60;margin:4px 0 0;font-size:10px;line-height:1.45}.procedure-project-current small{color:#7c8d99;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:8px;display:-webkit-box;overflow:hidden}.procedure-project-support p{color:#8c4e3d}.procedure-project-list>article>button{color:#174f7d;background:#fff;border:1px solid #8eb0c9;border-radius:7px;padding:8px 11px;font-size:9px;font-weight:700}.procedure-project-list>article>button:hover{background:#edf5fb}.procedure-editor{padding:24px 28px 32px}.procedure-editor-title{border-bottom:1px solid #d5e1e9;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:0 45px 18px 0;display:grid}.procedure-editor-title>button:first-child{color:#315f7e;background:#fff;border:1px solid #c7d7e2;border-radius:7px;padding:7px 10px}.procedure-editor-title span,.procedure-editor-title p{color:#6c8292;font-size:9px}.procedure-editor-title h2{color:#163e5e;margin:3px 0;font-size:21px}.procedure-editor-title p{margin:0}.procedure-editor-summary{grid-template-columns:repeat(4,1fr);gap:10px;margin:15px 0;display:grid}.procedure-editor-summary article{background:#fff;border:1px solid #d7e2ea;border-radius:9px;padding:12px 14px}.procedure-editor-summary span,.procedure-editor-summary small{color:#728696;font-size:8px;display:block}.procedure-editor-summary strong{color:#174f7d;margin:5px 0;font-size:20px;display:block}.procedure-editor-summary i{background:#e5ebef;border-radius:6px;height:6px;display:block;overflow:hidden}.procedure-editor-summary i b{background:#20836e;border-radius:6px;height:100%;display:block}.procedure-save-notice{color:#176c59;background:#e5f3ef;border-radius:7px;padding:9px 12px;font-size:10px}.procedure-step-list{gap:11px;display:grid}.procedure-step-card{background:#fff;border:1px solid #d4e0e8;border-left:4px solid #a8b8c4;border-radius:10px;overflow:hidden}.procedure-step-card.progress{border-left-color:#cc8b22}.procedure-step-card.blocked{border-left-color:#cc514b}.procedure-step-card.completed{border-left-color:#168a70}.procedure-step-card>header{background:#f8fafc;border-bottom:1px solid #e1e8ed;grid-template-columns:28px 1fr auto auto;align-items:center;gap:9px;padding:10px 12px;display:grid}.procedure-step-card>header>i{color:#315d7e;background:#e7eef4;border-radius:50%;place-items:center;width:25px;height:25px;font-size:9px;font-style:normal;display:grid}.procedure-step-card>header input{color:#23445c;background:0 0;border:1px solid #0000;padding:5px 7px;font-size:12px;font-weight:700}.procedure-step-card>header input:focus{background:#fff;border-color:#9cb9ce}.procedure-step-card>header em{color:#64798a;background:#edf1f4;border-radius:11px;padding:4px 8px;font-size:8px;font-style:normal}.procedure-step-card.completed>header em{color:#14705b;background:#e1f1ec}.procedure-step-card.blocked>header em{color:#a53d38;background:#fce8e6}.procedure-step-card>header button{color:#a74b45;background:0 0;border:0;font-size:8px}.procedure-step-main{grid-template-columns:repeat(6,1fr);gap:9px;padding:11px 12px;display:grid}.procedure-step-main label,.procedure-step-notes label{color:#61798b;gap:4px;font-size:8px;display:grid}.procedure-step-main input,.procedure-step-main select,.procedure-step-notes textarea{color:#263f52;background:#fff;border:1px solid #cedae3;border-radius:6px;width:100%;padding:7px 8px;font-size:9px}.procedure-percent-input{grid-template-columns:1fr auto;align-items:center;display:grid}.procedure-percent-input input{border-radius:6px 0 0 6px}.procedure-percent-input b{background:#f3f6f8;border:1px solid #cedae3;border-left:0;border-radius:0 6px 6px 0;align-self:stretch;place-items:center;padding:0 8px;display:grid}.procedure-step-notes{grid-template-columns:1.2fr 1fr 1fr;gap:9px;padding:0 12px 11px;display:grid}.procedure-step-notes textarea{resize:vertical;min-height:64px}.procedure-step-card>footer{color:#778996;background:#fbfcfd;border-top:1px solid #e6ecef;align-items:flex-start;gap:20px;padding:8px 12px;font-size:8px;display:flex}.procedure-step-card>footer details{margin-left:auto}.procedure-step-card>footer summary{cursor:pointer;color:#245d87}.procedure-step-card>footer details p{margin:5px 0}.procedure-step-card>footer details time{color:#82919c;margin-right:8px}.procedure-add-step{color:#195b88;background:#f7fbfe;border:1px dashed #8eb0c8;border-radius:8px;width:100%;margin-top:11px;padding:10px;font-weight:700}@media (width<=1350px){.portfolio-metrics-integrated{grid-template-columns:repeat(4,1fr)}.procedure-project-list>article{grid-template-columns:1.2fr .8fr 1fr auto}.procedure-project-support{grid-column:1/4}.procedure-step-main{grid-template-columns:repeat(3,1fr)}.portfolio-filter-grid{grid-template-columns:repeat(4,1fr)}.portfolio-filter-grid .portfolio-search-field{grid-column:span 2}}@media (width<=820px){.procedure-panel-overlay{padding:7px}.procedure-panel-dialog{border-radius:10px;width:100%;height:98vh}.procedure-portfolio-panel,.procedure-editor{padding:16px}.procedure-project-list>article{grid-template-columns:1fr}.procedure-project-support{grid-column:auto}.procedure-editor-title{grid-template-columns:1fr;padding-right:38px}.procedure-editor-summary,.procedure-step-main,.procedure-step-notes{grid-template-columns:1fr 1fr}.procedure-step-notes label:last-child{grid-column:1/-1}.portfolio-filter-grid{grid-template-columns:1fr 1fr}.portfolio-filter-grid .portfolio-search-field{grid-column:1/-1}}@media (width<=1180px){.portfolio-compact-table col.c-company,.portfolio-compact-table col.c-people{width:10%}.portfolio-compact-table col.c-progress{width:15%}.portfolio-compact-table col.c-priority{width:11%}.portfolio-compact-table td{font-size:9px}}.report-management-nav{background:#eef4f8;border:1px solid #d4e0e9;border-radius:10px;grid-template-columns:repeat(4,1fr);gap:8px;padding:7px;display:grid}.report-management-nav button{color:#536d80;text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;padding:9px 11px}.report-management-nav button strong,.report-management-nav button span{display:block}.report-management-nav button strong{font-size:11px}.report-management-nav button span{margin-top:3px;font-size:8px}.report-management-nav button.active{color:#174f7d;background:#fff;border-color:#aac4d8;box-shadow:0 3px 10px #174f7d14}.report-status-summary{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.report-status-summary article{background:#fff;border:1px solid #d7e2eb;border-radius:9px;padding:13px 14px}.report-status-summary span,.report-status-summary small{color:#728695;font-size:8px;display:block}.report-status-summary strong{color:#174f7d;margin:5px 0;font-size:20px;display:block}.member-report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.member-report-card{background:#fff;border:1px solid #d7e2eb;border-radius:10px;overflow:hidden;box-shadow:0 5px 16px #123a590a}.member-report-card>header{background:#f5f8fa;border-bottom:1px solid #e1e8ee;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:12px 13px;display:grid}.member-report-card>header>i{color:#fff;background:#174f7d;border-radius:9px;place-items:center;width:34px;height:34px;font-size:10px;font-style:normal;display:grid}.member-report-card>header strong,.member-report-card>header span{display:block}.member-report-card>header strong{color:#213f56;font-size:11px}.member-report-card>header span{color:#718491;margin-top:3px;font-size:8px}.member-report-card>header em{border-radius:12px;padding:4px 7px;font-size:8px;font-style:normal}.member-report-card>header em.sent{color:#14705b;background:#e3f2ed}.member-report-card>header em.pending{color:#9a5a1d;background:#fff0e5}.member-report-counts{background:#e2e8ed;grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.member-report-counts span{color:#718491;text-align:center;background:#fff;padding:8px;font-size:8px}.member-report-counts b{color:#25465e;margin-bottom:2px;font-size:13px;display:block}.member-latest-report{min-height:86px;padding:11px 13px}.member-latest-report>span{color:#668093;font-size:8px}.member-latest-report p{color:#304c60;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:5px 0 0;font-size:9px;line-height:1.55;display:-webkit-box;overflow:hidden}.member-latest-report .empty{border:0;margin:0}.member-report-card>footer{border-top:1px solid #e5eaef;justify-content:space-between;align-items:center;gap:8px;padding:9px 13px;display:flex}.member-report-card>footer span{color:#7a8b97;font-size:7px}.member-report-card>footer button{color:#174f7d;background:#fff;border:1px solid #9dbbd0;border-radius:6px;padding:6px 8px;font-size:8px;font-weight:700}.member-report-card>footer button:disabled{opacity:.4}.report-calendar-panel{background:#fff;border:1px solid #d2dfe9;border-radius:10px;overflow:hidden}.report-calendar-panel>header{background:#f1f6fa;border-bottom:1px solid #dce5ec;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.report-calendar-panel>header strong,.report-calendar-panel>header span{display:block}.report-calendar-panel>header strong{color:#173f61;font-size:12px}.report-calendar-panel>header span{color:#6c8090;margin-top:3px;font-size:8px}.report-calendar-panel>header>div:last-child{align-items:center;gap:7px;display:flex}.report-calendar-panel>header button,.report-calendar-panel>header select{color:#31566f;background:#fff;border:1px solid #b8cad8;border-radius:6px;padding:6px 8px;font-size:8px}.report-calendar-panel>header b{color:#173f61;text-align:center;min-width:82px;font-size:11px}.report-calendar-legend{border-bottom:1px solid #e1e7ed;align-items:center;gap:8px;padding:9px 12px;display:flex}.report-calendar-legend span{color:#fff;border-radius:10px;padding:4px 7px;font-size:8px}.report-calendar-legend .daily{background:#3f72bd}.report-calendar-legend .weekly{background:#168a70}.report-calendar-legend .monthly{background:#8059b3}.report-calendar-legend em{color:#7b8d99;margin-left:auto;font-size:8px;font-style:normal}.report-calendar-weekdays,.report-calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.report-calendar-weekdays span{color:#547086;text-align:center;background:#edf3f7;border-right:1px solid #dce4ea;padding:7px;font-size:8px}.report-calendar-grid>article{background:#fff;border-top:1px solid #e0e7ed;border-right:1px solid #e0e7ed;min-height:105px;padding:6px}.report-calendar-grid>article:nth-child(7n){border-right:0}.report-calendar-grid>article.other-month{opacity:.55;background:#f7f9fa}.report-calendar-grid>article.today{box-shadow:inset 0 3px #d7a623}.report-calendar-grid time{color:#324e62;font-size:8px;font-weight:700;display:block}.report-calendar-grid article>div{gap:3px;margin-top:5px;display:grid}.report-calendar-grid button{color:#fff;text-align:left;border:0;border-radius:4px;justify-content:space-between;align-items:center;gap:4px;padding:4px 5px;display:flex}.report-calendar-grid button.daily{background:#3f72bd}.report-calendar-grid button.weekly{background:#168a70}.report-calendar-grid button.monthly{background:#8059b3}.report-calendar-grid button strong,.report-calendar-grid button span{text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.reminder-default-note{background:#f0f8f5;border:1px solid #bcd8cf;border-radius:9px;align-items:center;gap:10px;padding:12px 14px;display:flex}.reminder-default-note>i{color:#fff;background:#168a70;border-radius:50%;place-items:center;width:34px;height:34px;font-style:normal;display:grid}.reminder-default-note strong,.reminder-default-note span{display:block}.reminder-default-note strong{color:#1b5548;font-size:11px}.reminder-default-note span{color:#627b72;margin-top:3px;font-size:8px}.reminder-add-form{background:#fff;border:1px solid #d6e1e9;border-radius:9px;grid-template-columns:1fr 1.5fr 1fr .9fr .9fr 1fr auto;align-items:end;gap:8px;padding:12px;display:grid}.reminder-add-form label{color:#657b8b;font-size:8px}.reminder-add-form input,.reminder-add-form select{background:#fff;border:1px solid #cbd8e1;border-radius:6px;width:100%;margin-top:4px;padding:7px;font-size:8px}.reminder-add-form button{color:#fff;background:#174f7d;border:0;border-radius:6px;padding:8px 10px;font-size:9px;font-weight:700}.reminder-account-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.reminder-account-list>article{background:#fff;border:1px solid #d6e1e9;border-radius:9px;overflow:hidden}.reminder-account-list>article>header{background:#f5f8fa;border-bottom:1px solid #e1e8ed;padding:10px 12px}.reminder-account-list>article>header strong,.reminder-account-list>article>header span{display:block}.reminder-account-list>article>header strong{font-size:10px}.reminder-account-list>article>header span{color:#718491;margin-top:3px;font-size:8px}.reminder-account-list>article>div>div{border-top:1px solid #edf0f3;grid-template-columns:1fr 82px auto;align-items:center;gap:8px;padding:9px 11px;display:grid}.reminder-account-list>article>div>div:first-child{border-top:0}.reminder-account-list label{align-items:center;gap:7px;display:flex}.reminder-account-list label span strong,.reminder-account-list label span small{display:block}.reminder-account-list label span strong{font-size:9px}.reminder-account-list label span small{color:#768995;margin-top:2px;font-size:7px}.reminder-account-list input[type=time]{border:1px solid #ccd8e1;border-radius:5px;padding:5px;font-size:8px}.reminder-account-list button{color:#a8433d;background:#fff;border:1px solid #e1bbb7;border-radius:5px;padding:5px 7px;font-size:8px}.reminder-account-list .disabled{opacity:.48}@media (width<=1100px){.member-report-grid{grid-template-columns:repeat(2,1fr)}.reminder-add-form{grid-template-columns:repeat(3,1fr)}.reminder-account-list{grid-template-columns:1fr}}.portfolio-header-actions{gap:8px;display:flex}.portfolio-header-actions button,.system-settings-page>.section-header>button{color:#174f7d;background:#fff;border:1px solid #9eb9ce;border-radius:7px;padding:8px 10px;font-size:9px;font-weight:700}.portfolio-cell-note{color:#738795;margin-top:4px;font-size:8px;display:block}.portfolio-field-settings{background:#fff;border:1px solid #d4e0e9;border-radius:10px;overflow:hidden}.portfolio-field-settings>header{background:#f1f6fa;border-bottom:1px solid #dde6ed;justify-content:space-between;align-items:center;padding:13px 15px;display:flex}.portfolio-field-settings>header strong,.portfolio-field-settings>header span{display:block}.portfolio-field-settings>header strong{color:#173f61;font-size:12px}.portfolio-field-settings>header span{color:#6a8090;margin-top:3px;font-size:8px}.portfolio-field-settings>header em{color:#245b83;background:#e6f1f8;border-radius:12px;padding:5px 8px;font-size:8px;font-style:normal}.field-settings-layout{grid-template-columns:minmax(0,1fr) 280px;display:grid}.field-settings-layout>section{padding:13px}.field-settings-layout>aside{background:#fafcfd;border-left:1px solid #dde5ec;padding:13px}.field-settings-layout>section>header,.field-settings-layout>aside>header{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.field-settings-layout header strong{font-size:10px}.field-settings-layout header span{color:#758793;font-size:8px}.visible-field-list{gap:6px;display:grid}.visible-field-list article{background:#fff;border:1px solid #dbe4eb;border-radius:7px;grid-template-columns:22px 22px minmax(160px,1fr) 120px auto;align-items:end;gap:8px;padding:8px 9px;display:grid}.visible-field-list article>i{color:#8797a2;cursor:grab;align-self:center;font-style:normal}.visible-field-list article>b{color:#275d85;background:#e7f0f7;border-radius:50%;align-self:center;place-items:center;width:20px;height:20px;font-size:8px;display:grid}.visible-field-list label{color:#6b8090;font-size:7px;position:relative}.visible-field-list input{border:1px solid #cdd9e2;border-radius:5px;width:100%;margin-top:3px;padding:6px;font-size:8px}.visible-field-list label small{color:#82919b;position:absolute;bottom:7px;right:7px}.visible-field-list button{color:#a74640;background:#fff;border:1px solid #e1bdb9;border-radius:5px;padding:7px 8px;font-size:8px}.field-settings-layout>aside article{border-bottom:1px solid #e2e8ed;justify-content:space-between;align-items:center;gap:8px;padding:9px;display:flex}.field-settings-layout>aside article strong,.field-settings-layout>aside article span{display:block}.field-settings-layout>aside article strong{font-size:9px}.field-settings-layout>aside article span{color:#81909a;margin-top:2px;font-size:7px}.field-settings-layout>aside article button{color:#174f7d;background:#fff;border:1px solid #9cbccf;border-radius:5px;padding:5px 7px;font-size:8px}.settings-export-note{background:#f2f7fb;border:1px solid #cbdce8;border-radius:9px;align-items:center;gap:11px;padding:12px 14px;display:flex}.settings-export-note>i{color:#fff;background:#b7443e;border-radius:8px;place-items:center;width:38px;height:38px;font-size:9px;font-style:normal;font-weight:700;display:grid}.settings-export-note strong,.settings-export-note span{display:block}.settings-export-note strong{color:#25475f;font-size:10px}.settings-export-note span{color:#708491;margin-top:3px;font-size:8px}@media (width<=1000px){.field-settings-layout{grid-template-columns:1fr}.field-settings-layout>aside{border-top:1px solid #dde5ec;border-left:0}.visible-field-list article{grid-template-columns:22px 22px 1fr 100px}.visible-field-list article>button{grid-column:3/-1}}.login-page{background-image:linear-gradient(90deg,#ffffff1a,#e8f6ff0a),url(/assets/login-photovoltaic-platform-bg-light.png);background-position:50%;background-size:cover;position:relative}.login-page:before{content:"";background:linear-gradient(#ffffff0a,#dceffa1f);position:absolute;inset:0}.login-card{z-index:1;background:#fffffff2;border-color:#4f7e9e3d;position:relative;box-shadow:0 28px 70px #1c4c6c38,0 0 0 1px #ffffff80}.login-page-brand{z-index:2;position:absolute;top:clamp(28px,5vh,62px);left:clamp(30px,4vw,78px)}.login-page-brand .login-joint-logo-frame{width:270px;height:74px}.login-page-brand .login-joint-logo{width:324px;top:-52px;left:-27px}.login-partner-mark{color:#f0c956;letter-spacing:.08em;border:1px solid #ffffff4d;border-radius:8px;margin-left:auto;padding:7px 8px;font-size:11px;font-weight:800}.portfolio-report-tools{align-items:center;gap:10px;display:flex}.portfolio-report-tools button{color:#174f7d;background:#fff;border:1px solid #8caec8;border-radius:6px;padding:6px 9px;font-size:8px;font-weight:700}.portfolio-column-filter{position:relative}.portfolio-column-filter-trigger{color:#fff;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:5px;padding:0;font-weight:700;display:flex}.portfolio-column-filter-trigger i{opacity:.8;font-size:8px;font-style:normal}.portfolio-column-filter.open .portfolio-column-filter-trigger{color:#ffe28b}.portfolio-column-filter-menu{z-index:30;color:#314c61;text-align:left;background:#fff;border:1px solid #b6c8d8;border-radius:8px;gap:5px;width:210px;max-height:310px;padding:10px;display:grid;position:absolute;top:calc(100% + 10px);left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 14px 35px #08233947}.portfolio-column-filter-menu:before{content:"";background:#fff;border-top:1px solid #b6c8d8;border-left:1px solid #b6c8d8;width:10px;height:10px;position:absolute;top:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.portfolio-column-filter-menu label{color:#597083;gap:4px;padding:3px;font-size:8px;display:grid}.portfolio-column-filter-menu input,.portfolio-column-filter-menu select{color:#27465d;background:#fbfcfd;border:1px solid #cbd8e2;border-radius:5px;width:100%;height:30px;padding:0 7px;font-size:9px}.portfolio-column-filter-menu>button{color:#244e6d;text-align:left;background:#f1f6fa;border:0;border-radius:5px;padding:7px 8px;font-size:9px}.portfolio-column-filter-menu>button:hover{background:#dfeaf3}.portfolio-compact-table th:nth-last-child(-n+2) .portfolio-column-filter-menu{left:auto;right:0;transform:none}.portfolio-compact-table th:nth-last-child(-n+2) .portfolio-column-filter-menu:before{left:auto;right:18px}.portfolio-filter-empty{text-align:center;padding:28px}.portfolio-filter-empty strong,.portfolio-filter-empty span{display:block}.portfolio-filter-empty strong{color:#466174;font-size:11px}.portfolio-filter-empty span{color:#7b8e9c;margin-top:5px;font-size:9px}.portfolio-report th:has(.portfolio-column-filter.open){z-index:40}.login-platform-mark{color:#0b2d4d;background:#d7aa3d;border-radius:9px;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:17px;font-weight:800;display:grid;box-shadow:0 6px 18px #00000029}.login-joint-logo-frame{width:202px;height:55px;display:block;position:relative;overflow:hidden}.login-joint-logo{width:242px;max-width:none;height:auto;display:block;position:absolute;top:-39px;left:-20px}.login-card>header>div{min-width:0}.login-card>header>div strong,.login-card>header>div small{white-space:nowrap}@media print{@page{size:A4 landscape;margin:8mm}html.print-portfolio body *{visibility:hidden!important}html.print-portfolio .portfolio-report,html.print-portfolio .portfolio-report *{visibility:visible!important}html.print-portfolio .portfolio-report{width:100%;box-shadow:none;border:0;position:absolute;inset:0}html.print-portfolio .portfolio-report>header{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#eef4f9!important}html.print-portfolio .portfolio-report table{font-size:7pt}html.print-portfolio .portfolio-report th{-webkit-print-color-adjust:exact;print-color-adjust:exact;position:static;color:#fff!important;background:#3f72bd!important}html.print-portfolio .portfolio-report td{padding:4px;font-size:7pt}html.print-portfolio .portfolio-report tbody tr:nth-child(2n) td{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f2f6fc!important}html.print-portfolio .portfolio-report .table-action,html.print-portfolio .portfolio-compact-table col.c-action,html.print-portfolio .portfolio-compact-table th:last-child,html.print-portfolio .portfolio-compact-table td:last-child{display:none}}.gate-manage-toolbar{background:#f4f8fb;border:1px solid #d8e4ec;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin:16px 22px 0;padding:10px 12px;display:flex}.gate-manage-toolbar strong,.gate-manage-toolbar span{display:block}.gate-manage-toolbar strong{color:#183f60;font-size:11px}.gate-manage-toolbar span{color:#6c7f8d;margin-top:3px;font-size:9px}.gate-manage-toolbar>div:last-child{gap:7px;display:flex}.gate-manage-toolbar button{color:#244f70;background:#fff;border:1px solid #9fb7ca;border-radius:6px;padding:7px 10px;font-size:9px;font-weight:700}.gate-manage-toolbar button.danger{color:#a33e34;border-color:#dfb3ae}.gate-edit-form{background:#fbfdff;border:1px solid #b9cfe0;border-radius:9px;margin:12px 22px 0!important;padding:15px!important}.gate-edit-form textarea{min-height:68px}.gate-edit-form footer{margin:0 -15px -15px!important}.member-report-switch{background:#fbfcfd;border-bottom:1px solid #e4eaf0;grid-template-columns:repeat(3,1fr);gap:6px;padding:9px 12px;display:grid}.member-report-switch button{color:#637b8c;background:#fff;border:1px solid #cfdae3;border-radius:6px;padding:6px;font-size:8px;font-weight:700}.member-report-switch button.submitted:after{content:"";background:#168a70;border-radius:50%;width:5px;height:5px;margin-left:4px;display:inline-block}.member-report-switch button.active{color:#174f7d;background:#eaf2fc;border-color:#3f72bd}.member-report-fulltext{color:#304c60;white-space:pre-wrap;overflow-wrap:anywhere;background:#f7fafc;border:1px solid #e0e8ee;border-radius:7px;margin:8px 0 0;padding:9px 10px;font-family:Microsoft YaHei,sans-serif;font-size:9px;line-height:1.65}.member-report-empty{color:#8a9aa5;place-items:center;min-height:64px;font-size:9px;display:grid}.report-day-detail{background:#f7fafc;border-top:1px solid #cbd9e4}.report-day-detail>header{border-bottom:1px solid #d7e2ea;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.report-day-detail>header strong,.report-day-detail>header span{display:block}.report-day-detail>header strong{color:#173f61;font-size:12px}.report-day-detail>header span{color:#718491;margin-top:3px;font-size:8px}.report-day-detail>header button{color:#31566f;background:#fff;border:1px solid #b7c9d7;border-radius:6px;padding:6px 9px;font-size:8px}.report-day-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;display:grid}.report-day-columns>section{background:#fff;border:1px solid #d6e0e8;border-radius:8px;overflow:hidden}.report-day-columns>section>header{color:#fff;justify-content:space-between;align-items:center;padding:9px 10px;display:flex}.report-day-columns>section.daily>header{background:#3f72bd}.report-day-columns>section.weekly>header{background:#168a70}.report-day-columns>section.monthly>header{background:#8059b3}.report-day-columns>section>header strong,.report-day-columns>section>header span{font-size:9px}.report-day-columns>section>div{gap:8px;padding:8px;display:grid}.report-day-columns article{background:#fbfcfd;border:1px solid #e0e7ed;border-radius:7px;padding:9px}.report-day-columns article>div{justify-content:space-between;align-items:center;display:flex}.report-day-columns article>div strong{font-size:9px}.report-day-columns article time{color:#7b8d99;font-size:7px}.report-day-columns pre,.previous-personal-report pre{color:#334e61;white-space:pre-wrap;background:#f3f6f8;border-radius:6px;margin:8px 0;padding:9px;font-family:Microsoft YaHei,sans-serif;font-size:8px;line-height:1.65;overflow:auto}.report-day-columns pre{max-height:220px}.report-day-columns article>button{color:#174f7d;background:#fff;border:1px solid #b6c9d8;border-radius:5px;width:100%;padding:6px;font-size:8px;font-weight:700}.previous-personal-report{background:#fff;border:1px solid #d5e0e8;border-radius:10px;overflow:hidden}.previous-personal-report>header{background:#f2f7fa;border-bottom:1px solid #dfe7ed;justify-content:space-between;align-items:center;gap:12px;padding:12px 15px;display:flex}.previous-personal-report>header h3{color:#173f61;margin:0;font-size:12px}.previous-personal-report>header span{color:#718491;margin-top:3px;font-size:8px;display:block}.previous-personal-report>header button{color:#174f7d;background:#fff;border:1px solid #3f72bd;border-radius:6px;padding:7px 10px;font-size:8px;font-weight:700}.previous-personal-report>div{padding:12px 15px}.previous-report-meta{justify-content:space-between;align-items:center;display:flex}.previous-report-meta strong{font-size:10px}.previous-report-meta span{color:#758895;font-size:8px}.previous-personal-report pre{max-height:280px;margin-bottom:0}@media (width<=1100px){.report-day-columns{grid-template-columns:1fr}.report-day-columns pre{max-height:180px}}.backup-capacity-grid{background:#f8fafc;border-bottom:1px solid #e0e8ee;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 18px;display:grid}.backup-capacity-grid article{background:#fff;border:1px solid #d8e3eb;border-radius:9px;padding:12px}.backup-capacity-grid span,.backup-capacity-grid strong,.backup-capacity-grid small{display:block}.backup-capacity-grid span{color:#63798a;font-size:9px}.backup-capacity-grid strong{color:#174f7d;margin-top:6px;font-size:18px}.backup-capacity-grid small{color:#7b8e9c;margin-top:5px;font-size:8px;line-height:1.5}.backup-retention-form{border-bottom:1px solid #e0e8ee;grid-template-columns:minmax(0,1fr) 120px auto;align-items:center;gap:10px;padding:12px 18px;display:grid}.backup-retention-form strong,.backup-retention-form span{display:block}.backup-retention-form strong{color:#26485f;font-size:10px}.backup-retention-form span{color:#738694;margin-top:4px;font-size:8px}.backup-retention-form label{background:#fff;border:1px solid #c9d7e1;border-radius:6px;align-items:center;display:flex;overflow:hidden}.backup-retention-form input{border:0;outline:0;width:100%;min-width:0;padding:8px}.backup-retention-form label b{color:#6a7f8e;padding:0 9px;font-size:9px}.backup-retention-form button{color:#fff;background:#174f7d;border:1px solid #174f7d;border-radius:6px;padding:9px 12px;font-size:9px;font-weight:700}.backup-history{border:1px solid #d7e2ea;border-radius:9px;margin:0 18px 16px;overflow:hidden}.backup-history>header{background:#f1f6f9;border-bottom:1px solid #dce5ec;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.backup-history>header strong{color:#25465d;font-size:10px}.backup-history>header span{color:#748794;font-size:8px}.backup-history-head,.backup-history>article{border-bottom:1px solid #e5ebef;grid-template-columns:180px 140px 70px 100px minmax(120px,1fr) 95px;align-items:center;gap:10px;padding:8px 12px;display:grid}.backup-history-head{color:#6d8190;background:#fafcfd;font-size:8px;font-weight:700}.backup-history>article:last-child{border-bottom:0}.backup-history>article time,.backup-history>article span,.backup-history>article b,.backup-history>article strong,.backup-history>article code{font-size:9px}.backup-history>article time{color:#344f61}.backup-history>article span{color:#617887}.backup-history>article b{color:#315f9f}.backup-history>article strong{color:#24475f}.backup-history>article code{color:#708696;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.backup-history>article>button{color:#875c18;background:#fff9ea;border:1px solid #c38b2b;border-radius:5px;padding:6px 8px;font-size:8px;font-weight:700}.backup-history-empty{color:#81919c;text-align:center;padding:24px;font-size:9px}@media (width<=1100px){.backup-capacity-grid{grid-template-columns:repeat(2,1fr)}.backup-history{overflow:auto}.backup-history-head,.backup-history>article{min-width:720px}}@media (width<=700px){.backup-capacity-grid,.backup-retention-form{grid-template-columns:1fr}.backup-history-head,.backup-history>article{grid-template-columns:145px 120px 55px 80px 120px 90px}}.account-list .account-access-row{padding:0;display:block}.account-row-summary{grid-template-columns:minmax(0,1fr) auto auto auto auto;align-items:center;gap:8px;padding:10px 18px;display:grid}.account-access-panel{background:#f7fafc;border-top:1px solid #dce6ee;grid-template-columns:1.35fr .65fr;gap:16px;padding:15px 18px;display:grid}.account-access-panel section{background:#fff;border:1px solid #d8e3eb;border-radius:9px;padding:13px}.account-access-panel header strong,.account-access-panel header span{display:block}.account-access-panel header strong{color:#173f61;font-size:11px}.account-access-panel header span{color:#728593;margin-top:4px;font-size:8px}.module-permission-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:11px;display:grid}.project-permission-grid{gap:7px;margin-top:11px;display:grid}.module-permission-grid label,.project-permission-grid label{background:#fbfcfd;border:1px solid #dce5eb;border-radius:6px;align-items:center;gap:7px;padding:8px;display:flex}.module-permission-grid label.locked,.project-permission-grid label.locked{opacity:.58}.module-permission-grid input,.project-permission-grid input{accent-color:#174f7d}.module-permission-grid span,.project-permission-grid span{color:#345268;margin:0;font-size:9px}.account-access-panel section>p{color:#788a96;margin:10px 0 0;font-size:8px;line-height:1.6}.project-archive-readonly{background:#f4f8fb;border:1px solid #cfdde7;border-radius:9px;align-items:center;gap:12px;padding:12px 15px;display:flex}.project-archive-readonly strong{color:#234e6c;font-size:11px}.project-archive-readonly span{color:#6c8190;font-size:9px}.project-delete-button{color:#a54038!important;border-color:#ddb5b1!important}.table-readonly{color:#7d8e9a;font-size:8px}@media (width<=900px){.account-access-panel{grid-template-columns:1fr}.module-permission-grid{grid-template-columns:repeat(2,1fr)}.account-row-summary{grid-template-columns:1fr auto}.login-page-brand{transform-origin:0 0;top:22px;left:24px;transform:scale(.8)}}.manager-quick-filter{flex-wrap:wrap;gap:5px;padding:3px;display:flex}.portfolio-column-filter-menu .manager-quick-filter button{color:#36566d;background:#fff;border:1px solid #cbd9e3;border-radius:5px;padding:6px 8px;font-size:8px}.portfolio-column-filter-menu .manager-quick-filter button.active{color:#fff;background:#174f7d;border-color:#174f7d}.construction-project-dialog{background:#fff;border-radius:14px;width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 24px 70px #00000040}.construction-project-dialog>header{border-bottom:1px solid var(--line);background:#f1f6fa;justify-content:space-between;align-items:flex-start;padding:20px 22px;display:flex}.construction-project-dialog>header span{color:#56758d;font-size:9px}.construction-project-dialog>header h2{margin:4px 0;font-size:20px}.construction-project-dialog>header p{color:#708492;margin:0;font-size:10px}.construction-project-dialog>header>button{color:#294b62;background:#fff;border:0;border-radius:50%;width:32px;height:32px;font-size:20px}.construction-project-dialog>div{gap:9px;padding:14px;display:grid}.construction-project-dialog>div>button{color:var(--ink);text-align:left;background:#fff;border:1px solid #d9e3ea;border-radius:9px;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.2fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.construction-project-dialog>div>button:hover{background:#f7fbfe;border-color:#77a3c3}.construction-project-dialog strong,.construction-project-dialog small{display:block}.construction-project-dialog strong{font-size:12px}.construction-project-dialog small{color:#718491;margin-top:4px;font-size:9px}.construction-project-dialog em{color:#3f5d70;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-style:normal;overflow:hidden}.construction-project-dialog b{color:#174f7d;white-space:nowrap;font-size:9px}.message-center-trigger{color:#0c4779;white-space:nowrap;background:#fff;border:1px solid #bdd0e4;border-radius:8px;padding:9px 13px;font-weight:700;position:relative}.message-center-trigger b{color:#fff;text-align:center;background:#d94848;border-radius:10px;min-width:19px;height:19px;padding:0 5px;font-size:11px;line-height:19px;position:absolute;top:-8px;right:-7px}.project-readonly-banner{color:#6e5212;background:#fff9e9;border:1px solid #e3c986;border-left:4px solid #d39a20;border-radius:8px;align-items:center;gap:12px;margin:0 0 12px;padding:10px 14px;display:flex}.project-readonly-banner span{color:#7b6b47;font-size:12px}.message-center-trigger{align-items:center;gap:6px;display:flex}.message-center-trigger>i{color:#175d8b;background:#e7f1f8;border-radius:5px;place-items:center;width:22px;height:18px;font-size:12px;font-style:normal;display:grid}.message-center-trigger>em{color:#b6403a;background:#fcebea;border-radius:8px;padding:2px 5px;font-size:8px;font-style:normal}.user-menu-profile{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0}.user-menu-profile:hover{background:#f1f6fa;border-radius:8px}.user-menu-profile>i{color:#6d8292;font-size:12px;font-style:normal}.account-logout-button{color:#a33f39;background:#fff;border:1px solid #dfaaa6;border-radius:6px;width:100%;margin-top:10px;padding:8px;font-weight:700}.user-menu-profile .avatar{overflow:hidden}.user-menu-profile .avatar img{object-fit:cover;width:100%;height:100%}.quick-user-menu{position:relative}.quick-avatar-input{display:none}.quick-user-popover{z-index:80;background:#fff;border:1px solid #cbd9e4;border-radius:10px;width:178px;padding:7px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 35px #13324e33}.quick-user-popover header{border-bottom:1px solid #e2e9ee;gap:2px;padding:8px 9px 9px;display:grid}.quick-user-popover header strong{color:#163f60;font-size:11px}.quick-user-popover header span{color:#748797;font-size:9px}.quick-user-popover>button{color:#294b63;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;width:100%;padding:8px 9px;font-family:inherit;font-size:10px;display:block}.quick-user-popover>button:hover{color:#145b88;background:#edf5fa}.quick-user-popover>button.logout{color:#b24843;border-top:1px solid #edf1f4;border-radius:0;margin-top:4px}.message-center-overlay{z-index:1200;background:#02182e7a;justify-content:flex-end;display:flex;position:fixed;inset:0}.message-center{background:#f7f9fc;flex-direction:column;width:min(980px,92vw);height:100%;display:flex;box-shadow:-16px 0 45px #05223e40}.message-center>header{color:#fff;background:#082f52;justify-content:space-between;align-items:center;padding:22px 26px;display:flex}.message-center>header span{opacity:.75;font-size:12px}.message-center>header h2{margin:4px 0 0}.message-center>header>div:last-child{gap:10px;display:flex}.message-center>header button{color:#fff;background:0 0;border:1px solid #ffffff59;border-radius:8px;padding:9px 13px}.message-center>header button:last-child{padding:2px 10px;font-size:24px}.message-center>nav{background:#fff;border-bottom:1px solid #d9e2ec;padding:12px 20px 0;display:flex}.message-center>nav button{color:#5e7184;background:0 0;border:0;border-bottom:3px solid #0000;padding:11px 18px}.message-center>nav button.active{color:#0a4b79;border-color:#176293;font-weight:700}.message-center-body{flex:1;grid-template-columns:330px 1fr;min-height:0;display:grid}.message-center-body>aside{background:#eef3f8;border-right:1px solid #d9e2ec;padding:12px;overflow:auto}.message-center-body>aside>button{text-align:left;color:#183b58;background:#fff;border:1px solid #d6e0e9;border-radius:9px;flex-direction:column;align-items:flex-start;gap:5px;width:100%;margin-bottom:9px;padding:13px;display:flex;position:relative}.message-center-body>aside>button.active{border-color:#1970a7;box-shadow:0 0 0 2px #1970a71a}.message-center-body>aside>button.unread:before{content:"";background:#e34c4c;border-radius:50%;width:7px;height:7px;position:absolute;top:8px;left:6px}.message-center-body>aside>button span,.message-center-body>aside>button small{color:#718394;font-size:11px}.message-center-body>aside>button strong{font-size:14px}.message-center-body>main{background:#fff;padding:24px;overflow:auto}.directive-status{color:#536779;background:#eaf0f5;border-radius:12px;padding:3px 8px;font-size:11px;font-style:normal;display:inline-flex}.directive-status.feedback_submitted{color:#a56800;background:#fff0d5}.directive-status.approved,.directive-status.completed{color:#087155;background:#e1f3eb}.directive-status.rejected{color:#b83030;background:#fde5e5}.directive-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.directive-form label,.directive-detail form label{color:#50677b;flex-direction:column;gap:6px;margin-bottom:13px;font-size:12px;display:flex}.directive-form input,.directive-form select,.directive-form textarea,.directive-detail textarea{background:#fff;border:1px solid #cddae6;border-radius:7px;padding:10px}.directive-form textarea,.directive-detail textarea{resize:vertical;min-height:110px}.directive-checks{gap:22px;padding:8px 0 18px;display:flex}.directive-checks label{flex-direction:row;align-items:center;display:flex}.directive-form footer,.review-actions{justify-content:flex-end;gap:10px;display:flex}.directive-form button,.directive-detail button{background:#fff;border:1px solid #c8d7e5;border-radius:7px;padding:9px 14px}.directive-form button.primary,.directive-detail button.primary{color:#fff;background:#145b8d}.directive-detail button.danger{color:#b42d2d;border-color:#e2aaaa}.directive-heading{border-bottom:1px solid #dfe6ed;margin-bottom:16px;padding-bottom:15px}.directive-heading span{color:#718394;font-size:12px}.directive-heading h3{margin:6px 0 10px;font-size:21px}.directive-detail dl{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px;display:grid}.directive-detail dl div{background:#f3f6f8;border-radius:7px;padding:10px}.directive-detail dt{color:#738596;font-size:11px}.directive-detail dd{margin:3px 0 0;font-weight:700}.directive-detail>article{background:#f6f9fc;border-left:3px solid #3b7dad;margin:12px 0;padding:12px 14px}.directive-detail article p{white-space:pre-wrap;margin:7px 0}.directive-history{border-top:1px solid #dfe6ed;margin-top:24px}.directive-history>div{border-bottom:1px dashed #dfe6ed;padding:10px 0}.directive-history time{float:right;color:#81909c;font-size:11px}.directive-history p{color:#53697b;margin:5px 0}.message-center-placeholder{color:#7a8a98;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%;display:flex}.settings-entry-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;display:grid}.settings-entry-grid>button{text-align:left;color:#173c5a;background:#fff;border:1px solid #cddbe8;border-radius:10px;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:17px;display:grid}.settings-entry-grid>button:hover{border-color:#2a73a8;box-shadow:0 5px 16px #144a7017}.settings-entry-grid i{color:#145b8d;background:#e7f0f8;border-radius:9px;place-items:center;width:42px;height:42px;font-style:normal;font-weight:800;display:grid}.settings-entry-grid span{flex-direction:column;gap:4px;display:flex}.settings-entry-grid small,.settings-entry-grid em{color:#718393;font-size:12px;font-style:normal}.settings-back{display:block;color:#19618f!important;background:0 0!important;border:0!important;padding:0 0 8px!important}.settings-subpage .portfolio-field-settings{margin-top:0}.report-review-panel{border-top:1px dashed #ccd9e5;margin-top:12px;padding-top:10px}.report-review-panel>header{justify-content:space-between;align-items:center;display:flex!important}.report-review-panel>header em{background:#edf2f6;border-radius:10px;padding:3px 8px;font-size:11px;font-style:normal}.report-review-panel>header em.approved{color:#087155;background:#e1f3eb}.report-review-panel>header em.revision_required{color:#a56800;background:#fff0d5}.report-review-panel textarea{border:1px solid #cbd9e5;border-radius:6px;width:100%;min-height:72px;margin:8px 0;padding:8px}.report-review-panel footer{justify-content:flex-end;gap:8px;display:flex}.report-review-panel button{background:#fff;border:1px solid #b9ccdd;border-radius:6px;padding:7px 10px}.report-review-panel button.primary{color:#fff;background:#145b8d}.report-day-columns{align-items:start;overflow-x:auto}.report-day-columns>section{min-width:300px}.report-day-columns{overflow:visible;display:block!important}.report-day-columns>section{min-width:0;margin-bottom:16px}.report-day-columns>section>div{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;display:grid}.report-day-columns>section>div>article{background:#fff;border:1px solid #d8e2eb;border-radius:8px;min-width:0;padding:12px;margin:0!important}.report-day-columns>section>div>article pre{white-space:pre-wrap;background:#f6f8fa;border-radius:6px;max-height:220px;padding:9px;font-size:12px;line-height:1.55;overflow:auto}.report-day-columns .report-review-panel textarea{min-height:58px}.report-day-columns .report-review-panel{font-size:12px}@media (width<=1200px){.report-day-columns>section>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.report-day-columns>section>div{grid-template-columns:1fr}}.portfolio-report table.portfolio-compact-table:has(.node-control-cell){min-width:2940px}.node-control-cell{vertical-align:top;width:760px;min-width:760px}.node-control-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;display:grid}.node-control-grid>button{color:#2c4c63;text-align:left;cursor:pointer;background:#fbfcfd;border:1px solid #d9e3ea;border-radius:6px;grid-template-rows:auto auto;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:3px 5px;min-width:0;padding:6px;display:grid}.node-control-grid>button:hover{background:#f1f7fb;border-color:#6e9fc2}.node-control-grid>button>i{color:#37637f;background:#e7f0f6;border-radius:4px;grid-row:1/3;place-items:center;width:18px;height:18px;font-size:7px;font-style:normal;font-weight:700;display:grid}.node-control-grid>button>span{min-width:0}.node-control-grid>button b,.node-control-grid>button small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.node-control-grid>button b{font-size:8px}.node-control-grid>button small{color:#7b8d99;margin-top:2px;font-size:7px}.node-control-grid>button>em{white-space:nowrap;border-radius:9px;grid-column:2;justify-self:start;padding:3px 5px;font-size:7px;font-style:normal;font-weight:700}.node-control-grid>button>em.safe{color:#177052;background:#dff3e8}.node-control-grid>button>em.ongoing{color:#a45b08;background:#ffe2bd}.node-control-grid>button>em.overdue{color:#b52f29;background:#f9d8d5}.node-control-grid>button>em.disabled{color:#626b72;background:#e4e7e9}@media print{.portfolio-report table.portfolio-compact-table:has(.node-control-cell){min-width:2600px}.node-control-cell{width:700px;min-width:700px}.node-control-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.unscheduled-node-panel{background:#fff;border:1px solid #d3e0e9;border-radius:10px;overflow:hidden}.unscheduled-node-panel>header{background:#f2f7fa;border-bottom:1px solid #dce6ed;justify-content:space-between;align-items:center;padding:11px 14px;display:flex}.unscheduled-node-panel>header strong,.unscheduled-node-panel>header span{display:block}.unscheduled-node-panel>header strong{color:#174f78;font-size:11px}.unscheduled-node-panel>header span{color:#718593;margin-top:3px;font-size:8px}.unscheduled-node-panel>header em{color:#45657a;background:#e2ebf2;border-radius:10px;padding:3px 7px;font-size:8px;font-style:normal}.unscheduled-node-panel>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:10px;display:grid}.unscheduled-node-panel>div>button{color:#294b62;text-align:left;background:#fbfcfd;border:1px solid #dce5eb;border-radius:7px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px;display:grid}.unscheduled-node-panel>div>button:hover{background:#f2f8fb;border-color:#6f9fbe}.unscheduled-node-panel>div>button>i{color:#31617f;background:#e6f0f6;border-radius:5px;place-items:center;width:21px;height:21px;font-size:8px;font-style:normal;font-weight:700;display:grid}.unscheduled-node-panel>div>button strong,.unscheduled-node-panel>div>button small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.unscheduled-node-panel>div>button strong{font-size:9px}.unscheduled-node-panel>div>button small{color:#7b8d99;margin-top:2px;font-size:7px}.unscheduled-node-panel>div>button>b{color:#17608e;white-space:nowrap;font-size:8px}.node-procurement-editor{background:#f7fafc;border:1px solid #d3dde5;border-radius:8px;margin-top:12px;padding:12px}.node-procurement-editor>header strong,.node-procurement-editor>header span{display:block}.node-procurement-editor>header strong{color:#244f6c;font-size:10px}.node-procurement-editor>header span{color:#708493;margin-top:3px;font-size:8px}.node-procurement-editor>div{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.node-procurement-editor label{color:#526c7e;gap:5px;font-size:9px;display:grid}.node-procurement-editor input{background:#fff;border:1px solid #cad8e2;border-radius:6px;padding:8px}@media (width<=1100px){.unscheduled-node-panel>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.unscheduled-node-panel>div,.node-procurement-editor>div{grid-template-columns:1fr}}.fixed-control-node-note{color:#6f8290;align-self:center;font-size:9px}.actual-date-panel input:disabled{color:#8b9499;cursor:not-allowed;background:#e8ebec;border-color:#d8dddf}.portfolio-node-dialog>header p{color:#6e8190;margin:5px 0 0;font-size:10px}.portfolio-node-dialog>footer{justify-content:space-between;align-items:center}.portfolio-node-dialog>footer>div{gap:9px;display:flex}.portfolio-node-plan-section{background:#f8fafc;border:1px solid #d4e0e8;border-radius:9px;padding:13px}.portfolio-node-plan-section>header{margin-bottom:10px}.portfolio-node-plan-section>header strong,.portfolio-node-plan-section>header span{display:block}.portfolio-node-plan-section>header strong{color:#1f5377;font-size:11px}.portfolio-node-plan-section>header span{color:#718493;margin-top:3px;font-size:9px}.node-editor-readonly,.node-editor-validation{border-radius:7px;margin:0;padding:10px 12px;font-size:10px}.node-editor-readonly{color:#5e707c;background:#edf2f5}.node-editor-validation{color:#a05d10;background:#fff0df}.portfolio-node-dialog input:disabled,.portfolio-node-dialog select:disabled{color:#8b9499;cursor:not-allowed;background:#e8ebec;border-color:#d8dddf}.node-control-grid>button b.node-material-purchased{color:#168a70}.node-control-grid>button b.node-material-ongoing{color:#b8790d}.node-control-grid>button b.node-material-pending{color:#bd3b35}.node-control-grid>button b.node-material-disabled{color:#8c969d}.node-control-grid>button>em.purchased{color:#147255;background:#dff3e8}.node-aggregate-progress{border-top:1px dashed #d8e1e8;margin-top:7px;padding-top:6px}.node-aggregate-progress>span{justify-content:space-between;gap:7px;display:flex}.node-aggregate-progress strong,.node-aggregate-progress em{font-size:9px;font-style:normal}.node-aggregate-progress>i{background:#e5ebf0;border-radius:7px;height:6px;margin-top:5px;display:block;overflow:hidden}.node-aggregate-progress>i b{border-radius:7px;height:100%;display:block}.portfolio-node-dialog .actual-date-panel>div{grid-template-columns:1fr 1fr 1fr}@media (width<=760px){.portfolio-node-dialog .actual-date-panel>div{grid-template-columns:1fr}}.portfolio-table-scroll{scrollbar-width:auto;scrollbar-color:#4f82aa #dfe9f0;overflow:auto visible}.portfolio-table-scroll::-webkit-scrollbar{height:15px}.portfolio-table-scroll::-webkit-scrollbar-track{background:#dfe9f0;border-top:1px solid #cad8e2}.portfolio-table-scroll::-webkit-scrollbar-thumb{background:#4f82aa;border:3px solid #dfe9f0;border-radius:9px}.portfolio-table-scroll::-webkit-scrollbar-thumb:hover{background:#2e6d9b}.portfolio-compact-table .portfolio-index-header,.portfolio-compact-table .row-number{width:48px;min-width:48px;max-width:48px;position:sticky;left:0}.portfolio-compact-table .portfolio-project-header,.portfolio-compact-table .project-name-cell{width:210px;min-width:210px;max-width:210px;position:sticky;left:48px}.portfolio-compact-table .project-name-cell small{white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:unset;display:block;overflow:visible}.portfolio-compact-table .portfolio-index-header,.portfolio-compact-table .portfolio-project-header{z-index:12;background:#3f72bd}.portfolio-compact-table .row-number,.portfolio-compact-table .project-name-cell{z-index:7;background:#fff}.portfolio-compact-table .portfolio-project-header,.portfolio-compact-table .project-name-cell{box-shadow:7px 0 9px -8px #113654bf}.portfolio-report tbody tr:nth-child(2n) :is(.row-number,.project-name-cell){background:#f2f6fc}.portfolio-report tbody tr:hover :is(.row-number,.project-name-cell){background:#edf5fb}@media print{.portfolio-compact-table .portfolio-index-header,.portfolio-compact-table .portfolio-project-header,.portfolio-compact-table .row-number,.portfolio-compact-table .project-name-cell{box-shadow:none;position:static}}.portfolio-fixed-bottom-scroll{z-index:220;scrollbar-width:auto;scrollbar-color:#316f9d #dfe9f0;background:#dfe9f0;border-top:1px solid #bdcfdb;height:18px;display:none;position:fixed;bottom:0;overflow:auto hidden;box-shadow:0 -3px 10px #14405e29}.portfolio-fixed-bottom-scroll.visible{display:block}.portfolio-fixed-bottom-scroll>div{height:1px}.portfolio-fixed-bottom-scroll::-webkit-scrollbar{height:17px}.portfolio-fixed-bottom-scroll::-webkit-scrollbar-track{background:#dfe9f0}.portfolio-fixed-bottom-scroll::-webkit-scrollbar-thumb{background:#316f9d;border:3px solid #dfe9f0;border-radius:9px}.portfolio-fixed-bottom-scroll::-webkit-scrollbar-thumb:hover{background:#195b89}@media print{.portfolio-fixed-bottom-scroll{display:none!important}}.gantt-header-actions{align-items:center;gap:10px;display:flex}.project-gantt>header .gantt-header-actions>span{color:#547086;font-size:10px}.gantt-header-actions>button{color:#fff;white-space:nowrap;background:#2f68a5;border:1px solid #2f68a5;border-radius:7px;padding:8px 12px;font-size:9px;font-weight:700}.gantt-header-actions>button:hover{background:#245786}@media (width<=700px){.project-gantt>header{flex-direction:column;align-items:flex-start}.gantt-header-actions{justify-content:space-between;width:100%}}.improvement-permission-settings{background:#fff;border:1px solid #d4e0ea;border-radius:10px;padding:16px}.improvement-permission-settings>header{margin-bottom:10px}.improvement-permission-settings>header span{color:#718393;margin-top:3px;font-size:12px;display:block}.improvement-permission-settings>div{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;display:grid}.improvement-permission-settings label{border:1px solid #e0e7ed;border-radius:7px;align-items:center;gap:9px;padding:10px;display:flex}.improvement-permission-settings label span{flex-direction:column;display:flex}.improvement-permission-settings small{color:#718393}.improvement-workbench{grid-template-columns:minmax(420px,1.4fr) 1fr;gap:14px;display:grid}.improvement-box{grid-template-columns:1fr auto;gap:10px;display:grid}.improvement-box>div{grid-column:1/-1;gap:8px;display:flex}.improvement-box select{border:1px solid #cbd9e4;border-radius:7px;padding:8px}.improvement-box textarea{min-height:92px}.improvement-summary{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.improvement-summary button{background:#fff;border:1px solid #d7e1e9;border-radius:8px;flex-direction:column;gap:5px;padding:10px;display:flex}.improvement-summary span{font-size:11px}.improvement-summary strong{color:#174d75;font-size:20px}.improvement-summary button.active{box-shadow:0 0 0 2px #2f78ac}.improvement-filter{background:#fff;border:1px solid #d8e2eb;border-radius:8px;align-items:end;gap:12px;padding:11px;display:flex}.improvement-filter label{flex-direction:column;gap:4px;font-size:11px;display:flex}.improvement-filter select{border:1px solid #cbd9e4;border-radius:6px;padding:7px}.improvement-filter>span{color:#6e8090;margin-left:auto;font-size:12px}.improvement-groups{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:14px;display:grid}.improvement-groups>section{background:#f4f7fa;border:1px solid #d8e2eb;border-radius:10px;padding:10px}.improvement-groups>section>header{justify-content:space-between;padding:4px 5px 10px;display:flex}.improvement-groups>section>div{gap:9px;display:grid}.improvement-card{background:#fff;border-left:4px solid #a1afbb;border-radius:7px;padding:12px;box-shadow:0 2px 6px #1436500d}.improvement-card.status-待议{border-left-color:#d29a24}.improvement-card.status-已采纳,.improvement-card.status-已纳入改进{border-left-color:#16896f}.improvement-card.status-已驳回{border-left-color:#d15050}.improvement-card.status-已完成{border-left-color:#3976bd}.improvement-card>header,.improvement-card>footer{justify-content:space-between;align-items:center;display:flex}.improvement-card>header span,.improvement-card>header em,.improvement-card>footer{color:#718393;font-size:11px}.improvement-card>header em{background:#edf1f4;border-radius:9px;padding:3px 7px;font-style:normal}.improvement-card p{white-space:pre-wrap;color:#263f52;line-height:1.55}.improvement-card footer>div{gap:6px;display:flex}.improvement-card footer select,.improvement-card footer button{background:#fff;border:1px solid #cad8e4;border-radius:5px;padding:5px}.improvement-card details{border-top:1px dashed #d6e0e8;margin-top:9px;padding-top:8px}.improvement-card details small{color:#738492;padding:3px 0;display:block}@media (width<=1000px){.improvement-workbench{grid-template-columns:1fr}.improvement-summary{grid-template-columns:repeat(3,1fr)}}.portfolio-column-filter-menu .portfolio-filter-apply{color:#fff;text-align:center;background:#145b8d;border-color:#145b8d;justify-content:center;width:100%;margin-top:7px;font-weight:700;position:sticky;bottom:0}.portfolio-column-filter-menu .portfolio-filter-apply:hover{background:#0e4b77}.report-management-nav button.compose-highlight{color:#fff;background:linear-gradient(135deg,#168a70,#0d755d);border-color:#168a70;box-shadow:0 5px 14px #11846038}.report-management-nav button.compose-highlight span{color:#d9f4ea}.report-management-nav button.compose-highlight:hover,.report-management-nav button.compose-highlight.active{color:#fff;background:linear-gradient(135deg,#0f7b62,#08644f);border-color:#087052;transform:translateY(-1px);box-shadow:0 7px 18px #1184604d}.scope-field-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.compact-scope-toggle{color:#536d80;white-space:nowrap;align-items:center;gap:5px;margin:0;font-size:9px;display:inline-flex!important}.compact-scope-toggle input{margin:0;width:auto!important}.report-review-panel>header>div{align-items:center;gap:7px;display:flex}.report-review-panel button.report-review-toggle{color:#fff;background:#168866;border-color:#168866;padding:5px 10px;font-weight:700}.report-review-panel .report-review-meta{color:#315e52;background:#edf8f4;border-radius:6px;align-items:center;gap:16px;margin:8px 0 4px;padding:7px 9px;font-size:12px;display:flex}.report-review-panel .report-review-meta span{gap:3px;display:inline-flex}@media (width<=760px){.report-review-panel .report-review-meta{flex-direction:column;align-items:flex-start;gap:3px}}.directive-manage-actions{border-bottom:1px dashed #dbe4eb;justify-content:flex-end;gap:8px;margin:14px 0;padding-bottom:12px;display:flex}.improvement-summary{grid-template-columns:repeat(6,1fr)}.improvement-decision{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.resource-entry{padding:15px 18px}.resource-entry>div{align-items:center;display:flex;border:0!important;gap:22px!important;padding:0!important}.resource-entry h2,.resource-entry p{margin:0}.resource-entry p{margin-top:4px}.resource-entry-counts{gap:18px;margin-left:auto;display:flex}.resource-entry-counts span{white-space:nowrap}.resource-entry-counts strong{color:#104f7e;margin-right:3px;font-size:18px}.resource-entry button,.resource-back{color:#155a87;background:#fff;border:1px solid #17618f;border-radius:7px;padding:8px 12px;font-weight:700}.resource-summary{background:#fff;border:1px solid #d5e0e9;border-radius:9px;grid-template-columns:repeat(5,minmax(100px,1fr));display:grid;overflow:hidden}.resource-summary>*{text-align:left;background:#fff;border:0;border-right:1px solid #e0e7ed;align-items:baseline;gap:7px;padding:13px 16px;display:flex}.resource-summary button.active{color:#145b8d;background:#eaf4fb}.resource-summary strong{font-size:20px}.resource-summary span{color:#6a7f90;font-size:11px}.resource-list-panel{background:#fff;border:1px solid #d5e0e9;border-radius:9px;overflow:hidden}.resource-list-panel>header{background:#f2f6f9;justify-content:space-between;align-items:center;padding:12px 15px;display:flex}.resource-list-panel>header div{gap:8px;display:flex}.resource-list-panel>header span{color:#718494;font-size:11px}.resource-list-panel>header input{border:1px solid #cbd9e5;border-radius:6px;width:260px;padding:8px 10px}.resource-list-head,.resource-list-panel>article{grid-template-columns:minmax(300px,1fr) 80px 90px 155px 170px;align-items:center;gap:12px;padding:10px 15px;display:grid}.resource-list-head{color:#567086;background:#e9f0f6;font-size:10px}.resource-list-panel>article{border-top:1px solid #e0e7ed;font-size:11px}.resource-name{align-items:center;gap:9px;min-width:0;display:flex}.resource-name i{color:#175c8c;background:#e7f0f7;border-radius:6px;place-items:center;width:28px;height:28px;font-style:normal;display:grid}.resource-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.resource-actions{justify-content:flex-end;gap:6px;display:flex}.resource-actions a,.resource-actions button{color:#155a87;background:#fff;border:1px solid #c5d5e2;border-radius:5px;padding:5px 8px;text-decoration:none}.resource-actions button{color:#b23838}.improvement-detail-list{background:#fff;border:1px solid #d5e0e9;border-radius:9px;overflow:hidden}.improvement-list-head,.improvement-detail-list>article{grid-template-columns:minmax(360px,1fr) 105px 90px 130px 390px;align-items:center;gap:10px;padding:10px 12px;display:grid}.improvement-list-head{color:#526b80;background:#e9f0f6;font-size:10px}.improvement-detail-list>article{border-top:1px solid #e0e7ed;border-left:4px solid #9fb0bd;font-size:11px}.improvement-detail-list>article.status-已完成{border-left-color:#3976bd}.improvement-detail-list>article.status-已采纳,.improvement-detail-list>article.status-已纳入改进{border-left-color:#16896f}.improvement-list-content{min-width:0}.improvement-list-content>span{color:#708394;font-size:9px;display:block}.improvement-list-content>strong{margin-top:3px;font-size:12px;line-height:1.45;display:block}.improvement-list-content details small{color:#718393;display:block}.improvement-detail-list em{font-style:normal}.improvement-detail-list>article>span small{color:#718393;margin-top:3px;display:block}.improvement-list-actions{justify-content:flex-end;gap:5px;display:flex}.improvement-list-actions select,.improvement-list-actions button{background:#fff;border:1px solid #c8d7e3;border-radius:5px;min-width:0;padding:6px}.improvement-list-actions button.primary{color:#fff;background:#145b8d}@media (width<=1100px){.resource-list-head,.resource-list-panel>article{grid-template-columns:minmax(240px,1fr) 70px 80px 130px 155px}.improvement-list-head,.improvement-detail-list>article{grid-template-columns:minmax(280px,1fr) 90px 80px 110px 330px}}.stage-completion-panel>header{background:linear-gradient(115deg,#235f9d,#3d7fbd);border-left:0}.plan-health-panel>header{background:linear-gradient(115deg,#514a96,#7168b8);border-left:0}.actual-construction-panel>header{background:linear-gradient(115deg,#0c735e,#22957b);border-left:0}.project-focus-panel>header{background:linear-gradient(115deg,#b97818,#dc9e36);border-left:0}.dashboard-log-status>header{background:linear-gradient(115deg,#126d8d,#2d90ae);border-left:0}.dashboard-material-status>header{background:linear-gradient(115deg,#68478f,#8662ad);border-left:0}.stage-completion-panel>header span,.stage-completion-panel>header h3,.stage-completion-panel>header>strong,.plan-health-panel>header span,.plan-health-panel>header h3,.actual-construction-panel>header span,.actual-construction-panel>header h3,.project-focus-panel>header span,.project-focus-panel>header h3,.dashboard-log-status>header span,.dashboard-log-status>header h3,.dashboard-material-status>header span,.dashboard-material-status>header h3{color:#fff!important}.stage-completion-panel>header span,.plan-health-panel>header span,.actual-construction-panel>header span,.project-focus-panel>header span,.dashboard-log-status>header span,.dashboard-material-status>header span{opacity:.78}.plan-health-panel>header>em,.actual-construction-panel>header>em,.project-focus-panel>header>em,.dashboard-log-status>header>em,.dashboard-material-status>header>em{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #ffffff42;color:#fff!important;background:#ffffff29!important}.dashboard-clickable{cursor:pointer;transition:transform .16s,box-shadow .16s}.dashboard-clickable:hover{transform:translateY(-1px);box-shadow:0 10px 26px #1139581c}.recent-log-calendar>button{text-align:center;background:#f8fafb;border:1px solid #e1e7ec;border-radius:6px;padding:7px 2px}.recent-log-calendar>button span,.recent-log-calendar>button i,.recent-log-calendar>button small{display:block}.recent-log-calendar>button span{color:#6e8291;font-size:7px}.recent-log-calendar>button i{color:#8a9aa5;background:#edf1f4;border-radius:50%;width:18px;height:18px;margin:4px auto;font-size:8px;font-style:normal;line-height:18px}.recent-log-calendar>button small{color:#8b9aa4;font-size:7px}.recent-log-calendar>button.submitted{cursor:pointer;background:#eff9f5;border-color:#7bbcab}.recent-log-calendar>button.submitted i{color:#fff;background:#168a70}.recent-log-calendar>button:disabled{cursor:default}.submission-mode-badge{color:#405f9d;background:#e9eefb;border-radius:12px;padding:4px 8px;font-size:9px;font-style:normal}.gate-reminder-summary{background:#fffaf0;border:1px solid #ead9b3;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:12px 22px 0;padding:11px 13px;display:flex}.gate-reminder-summary span,.gate-reminder-summary strong,.gate-reminder-summary small{display:block}.gate-reminder-summary span,.gate-reminder-summary small{color:#7d6b47;font-size:9px}.gate-reminder-summary strong{color:#a26217;margin:3px 0;font-size:14px}.gate-reminder-summary button{color:#9b611b;background:#fff;border:1px solid #d39a38;border-radius:6px;padding:8px 11px;font-size:10px;font-weight:700}.review-waiting-note{color:#7b612f;background:#fff7e7;border-radius:6px;margin:0 16px 16px;padding:10px;font-size:10px}.communication-fields.four{grid-template-columns:repeat(2,minmax(0,1fr))}.communication-fields select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fbfcfb;border-radius:7px;padding:10px}.communication-recent{background:#fff;border:1px solid #d5e0e9;border-radius:11px;overflow:hidden}.communication-recent>header{background:#eff5f9;border-bottom:1px solid #dce5ec;justify-content:space-between;align-items:center;padding:13px 14px;display:flex}.communication-recent>header h3,.communication-recent>header span{margin:0;display:block}.communication-recent>header h3{color:#173f61;font-size:13px}.communication-recent>header span{color:#728695;margin-top:3px;font-size:8px}.communication-recent>header b{color:#1a668f;font-size:11px}.communication-recent>div{max-height:440px;padding:8px;overflow-y:auto}.communication-recent>div>button{color:#233f54;text-align:left;background:#fff;border:0;border-bottom:1px solid #e0e7ed;width:100%;padding:11px;display:block}.communication-recent>div>button:hover{background:#f4f9fc}.communication-recent button>span{gap:6px;display:flex}.communication-recent button>span b,.communication-recent button>span em{border-radius:10px;padding:3px 6px;font-size:8px;font-style:normal}.communication-recent button>span b{color:#13705a;background:#e6f2ee}.communication-recent button>span em{color:#315e85;background:#eaf1f8}.communication-recent button>strong{margin-top:7px;font-size:10px;display:block}.communication-recent button p{color:#5f7382;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:5px 0;font-size:9px;line-height:1.5;display:-webkit-box;overflow:hidden}.communication-recent button time{color:#84939e;font-size:8px}.communication-ledger{background:#fff;border:1px solid #d4e0e9;border-radius:11px;overflow:hidden}.communication-ledger>header{background:#eaf2f8;justify-content:space-between;align-items:center;padding:13px 15px;display:flex}.communication-ledger h3,.communication-ledger p{margin:0}.communication-ledger h3{color:#173f61;font-size:13px}.communication-ledger p{color:#728695;margin-top:3px;font-size:8px}.communication-ledger>header>strong{color:#175e8d;font-size:10px}.communication-table{overflow-x:auto}.communication-table-head,.communication-table-row{grid-template-columns:45px 95px 95px minmax(300px,1fr) 145px 60px 75px;align-items:center;gap:9px;min-width:930px;padding:9px 12px;display:grid}.communication-table-head{color:#fff;background:#315f9f;font-size:9px;font-weight:700}.communication-table-row{color:#29465b;text-align:left;background:#fff;border:0;border-top:1px solid #e0e7ed;width:100%}.communication-table-row:hover{background:#f2f8fc}.communication-table-row>span:nth-child(4){min-width:0}.communication-table-row b,.communication-table-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.communication-table-row b{font-size:10px}.communication-table-row small{color:#708493;margin-top:3px;font-size:8px}.communication-table-row>strong{font-size:10px}.communication-table-row>em{color:#456780;background:#edf2f7;border-radius:9px;justify-self:start;padding:3px 6px;font-size:8px;font-style:normal}.communication-table-row time,.communication-table-row>span{font-size:9px}.communication-table-row>i{color:#17618f;font-size:9px;font-style:normal;font-weight:700}.communication-detail-modal{background:#fff;border-radius:14px;width:min(820px,100vw - 32px);max-height:88vh;overflow:auto;box-shadow:0 24px 70px #00000047}.communication-detail-modal>header{background:#edf5fa;border-bottom:1px solid #dce5ec;justify-content:space-between;gap:15px;padding:18px 20px;display:flex}.communication-detail-modal>header span,.communication-detail-modal>header time{color:#627c90;font-size:9px}.communication-detail-modal>header h2{margin:5px 0;font-size:19px}.communication-detail-modal>header>button{background:#fff;border:0;border-radius:50%;width:32px;height:32px;font-size:20px}.communication-detail-modal>article{padding:20px}.communication-detail-modal>article>p{white-space:pre-wrap;margin:0;line-height:1.8}.communication-detail-modal .saved-attachments{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}.communication-detail-modal>footer{border-top:1px solid #e0e7ed;justify-content:flex-end;align-items:center;gap:9px;padding:13px 20px;display:flex}.communication-detail-modal>footer>span{color:#718493;margin-right:auto;font-size:9px}.communication-detail-modal>footer button{background:#fff;border:1px solid #bfd0dd;border-radius:6px;padding:8px 12px}.communication-detail-modal>footer button.primary{color:#fff;background:#17618f;border-color:#17618f}@media (width<=760px){.communication-fields.four,.communication-detail-modal .saved-attachments{grid-template-columns:1fr}.gate-reminder-summary{margin-left:16px;margin-right:16px}}.audit-security-note{background:#eef8f4;border-left:4px solid #168a70;border-radius:8px;justify-content:space-between;gap:16px;padding:13px 16px;display:flex}.audit-security-note strong{color:#116b58}.audit-security-note span{color:#587569;font-size:10px}.audit-filters{background:#fff;border:1px solid #d5e0e9;border-radius:9px;grid-template-columns:150px 190px minmax(260px,1fr) auto auto;align-items:end;gap:9px;padding:13px;display:grid}.audit-filters label{color:#5f7585;gap:5px;font-size:9px;display:grid}.audit-filters input,.audit-filters select{border:1px solid #c9d8e3;border-radius:6px;width:100%;padding:8px}.audit-filters button{color:#fff;background:#17618f;border:1px solid #17618f;border-radius:6px;padding:8px 12px}.audit-filters button.secondary{color:#17618f;background:#fff}.audit-list{background:#fff;border:1px solid #d4e0e9;border-radius:9px;overflow-x:auto}.audit-list-head,.audit-list>article{grid-template-columns:150px 120px 70px 150px minmax(260px,1fr) 100px 130px;align-items:center;gap:10px;min-width:1050px;padding:9px 12px;display:grid}.audit-list-head{color:#fff;background:#315f9f;font-size:9px;font-weight:700}.audit-list>article{border-top:1px solid #e0e7ed;font-size:9px}.audit-list article small{color:#778a98;margin-top:3px;font-size:8px;display:block}.audit-list article>strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.audit-action{color:#4f687a;background:#edf2f6;border-radius:9px;justify-self:start;padding:3px 6px;font-style:normal}.audit-action.delete{color:#a9433d;background:#fde9e7}.audit-action.restore{color:#14705b;background:#e5f3ee}.audit-list article>div:last-child{align-items:center;gap:6px;display:flex}.audit-list article button{color:#155e8c;background:#fff;border:1px solid #b8cfde;border-radius:5px;padding:5px 7px}.audit-list details{position:relative}.audit-list details pre{z-index:5;white-space:pre-wrap;background:#fff;border:1px solid #cbd9e4;border-radius:7px;width:480px;max-height:320px;padding:10px;font-size:9px;position:absolute;right:0;overflow:auto;box-shadow:0 12px 30px #11344f29}@media (width<=900px){.audit-filters{grid-template-columns:1fr 1fr}.audit-filters .wide{grid-column:1/-1}.audit-security-note{display:block}.audit-security-note span{margin-top:5px;display:block}}.account-row-summary{grid-template-columns:minmax(230px,1fr) minmax(360px,1.3fr) auto auto auto auto auto}.account-identity{align-items:center;gap:10px;min-width:0;display:flex}.account-identity img,.account-identity>i{object-fit:cover;border-radius:50%;flex:none;width:38px;height:38px}.account-identity>i{color:#fff;background:#174f7d;place-items:center;font-style:normal;font-weight:800;display:grid}.account-identity>span strong,.account-identity>span small{display:block}.account-identity>span small{color:#718493;margin-top:3px;font-size:9px}.account-login-meta{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.account-login-meta>span{color:#718493;font-size:8px}.account-login-meta b{color:#29475c;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:9px;display:block;overflow:hidden}.account-access-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.account-role-select,.avatar-upload{color:#607687;gap:5px;margin-top:10px;font-size:9px;display:grid}.account-role-select input,.account-role-select select,.avatar-upload input,.own-password-form input{background:#fff;border:1px solid #cbd9e4;border-radius:6px;width:100%;padding:8px}.own-password-form{border-top:1px dashed #d5e0e8;gap:7px;margin-top:12px;padding-top:10px;display:grid}.own-password-form strong{color:#23485f;font-size:10px}.own-password-form button{color:#fff;background:#17618f;border:1px solid #17618f;border-radius:6px;padding:8px}.super-key-settings{background:#fff9ea;border:1px solid #ebcf91;border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:15px 18px;display:grid}.super-key-settings strong,.super-key-settings span{display:block}.super-key-settings strong{color:#7d5718}.super-key-settings span{color:#826f4c;margin-top:4px;font-size:9px}.super-key-settings em{color:#8b641c;background:#fff1c8;border-radius:11px;padding:4px 8px;font-size:9px;font-style:normal}.super-key-settings button{color:#8b5b12;background:#fff;border:1px solid #c88d27;border-radius:6px;padding:8px 11px;font-weight:700}@media (width<=1250px){.account-row-summary{grid-template-columns:minmax(220px,1fr) minmax(300px,1fr) auto auto}.account-row-summary>button:nth-last-child(-n+3){margin-top:3px}.account-access-panel{grid-template-columns:1fr 1fr}}@media (width<=760px){.account-row-summary,.account-login-meta,.account-access-panel,.super-key-settings{grid-template-columns:1fr}}.account-list-heading{background:#eaf2f8;border-bottom:1px solid #dbe5ed;justify-content:space-between;align-items:center;padding:10px 18px;display:flex}.account-list-heading strong{color:#163f61;font-size:12px}.account-list-heading span{color:#6d8190;font-size:9px}.account-access-row{padding:0!important}.account-row-summary{width:100%;padding:11px 18px}.account-row-summary>em{text-align:center;min-width:48px}.account-row-summary>button{white-space:nowrap;min-width:66px;height:30px}.account-row-summary>button.project-delete-button{color:#a53d38;border-color:#e0aaa6}.security-notice-global{margin-top:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.account-settings-title{position:relative}.account-settings-title strong{align-items:center;gap:7px;display:flex!important}.role-help-trigger{place-items:center;width:20px;height:20px;font-weight:800;color:#175d8b!important;background:#fff!important;border:1px solid #8eacc2!important;border-radius:50%!important;padding:0!important;font-size:11px!important;display:grid!important}.role-rule-popover{z-index:30;background:#fff;border:1px solid #bcd0df;border-radius:10px;width:min(980px,100% - 36px);position:absolute;top:66px;left:18px;overflow:hidden;box-shadow:0 18px 45px #1237532e}.role-rule-popover>header{color:#fff;background:linear-gradient(115deg,#174f7d,#347aa8);justify-content:space-between;align-items:flex-start;padding:13px 15px;display:flex}.role-rule-popover>header strong,.role-rule-popover>header span{display:block}.role-rule-popover>header span{color:#ffffffc2;margin-top:4px;font-size:9px}.role-rule-popover>header button{color:#fff;background:#ffffff1f;border:1px solid #ffffff4d;border-radius:50%;width:28px;height:28px;font-size:17px}.role-rule-head,.role-rule-popover>article{grid-template-columns:115px 1.25fr 1.35fr 1fr;align-items:center;gap:12px;padding:10px 14px;display:grid}.role-rule-head{color:#4e6a7f;background:#eaf2f8;font-size:9px;font-weight:700}.role-rule-popover>article{color:#314b5f;border-top:1px solid #e1e8ee;font-size:9px}.role-rule-popover>article span:first-child{color:#173f60;font-weight:800}.account-row-summary{align-items:center;grid-template-columns:minmax(240px,1fr) minmax(480px,1.8fr) 370px!important;gap:18px!important;display:grid!important}.account-login-meta{grid-template-columns:repeat(3,minmax(120px,1fr));gap:24px;width:100%}.account-row-actions{justify-content:flex-end;align-items:center;gap:7px;width:370px;display:flex}.account-row-actions>em{color:#176c55;text-align:center;background:#e5f3ed;border-radius:12px;min-width:48px;padding:4px 7px;font-size:8px;font-style:normal}.account-row-actions>em.disabled{color:#7d858b;background:#f0f1f2}.account-row-actions>button{color:#536979;white-space:nowrap;background:#fff;border:1px solid #d2dce4;border-radius:5px;min-width:66px;height:30px;padding:5px 7px;font-size:8px}.account-row-actions>.project-delete-button{color:#a53d38;border-color:#e0aaa6}.priority-page .priority-toolbar{background:#f5f8fb;border-color:#d5e1eb}.priority-page .priority-toolbar button.active{background:#174f7d}.quadrant{background:#f7f9fb;border:1px solid #d7e2eb;padding:0;overflow:hidden;box-shadow:0 5px 16px #1238570d}.quadrant>header{color:#fff;min-height:62px;padding:12px 15px}.quadrant>header strong{color:#ffffffc7}.quadrant>header b{color:#fff;background:#ffffff2e}.quadrant.red>header{background:linear-gradient(115deg,#a83f44,#d05c5c)}.quadrant.blue>header{background:linear-gradient(115deg,#315f9f,#5484c1)}.quadrant.orange>header{background:linear-gradient(115deg,#b9761b,#dc9e36)}.quadrant.gray>header{background:linear-gradient(115deg,#526879,#748998)}.quadrant.red,.quadrant.blue,.quadrant.orange,.quadrant.gray{border-top-width:1px}.quadrant>div{padding:11px}.quadrant article{cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 7px #1439550d}.quadrant article:hover{transform:translateY(-1px);box-shadow:0 7px 16px #14395517}.matrix-selects>em{color:#205e8c;background:#e7f1fa;border-radius:8px;padding:4px 7px;font-size:9px;font-style:normal}.priority-company-toggle button{color:#607788;background:#fff;border:1px solid #c8d8e4;border-radius:7px;height:36px}.priority-company-toggle button.active{color:#174f7d;background:#eaf2fa;border-color:#315f9f;font-weight:700}.priority-detail-dialog,.portfolio-priority-dialog{background:#fff;border-radius:14px;width:min(820px,100vw - 32px);max-height:88vh;overflow:auto;box-shadow:0 26px 75px #00000047}.priority-detail-dialog>header,.portfolio-priority-dialog>header{color:#fff;background:linear-gradient(115deg,#174f7d,#3379a7);justify-content:space-between;align-items:flex-start;gap:15px;padding:18px 20px;display:flex}.priority-detail-dialog>header span,.portfolio-priority-dialog>header span,.portfolio-priority-dialog>header p{color:#ffffffbf;font-size:9px}.priority-detail-dialog>header h2,.portfolio-priority-dialog>header h2{margin:4px 0 0;font-size:19px}.portfolio-priority-dialog>header p{margin:5px 0 0}.priority-detail-dialog>header>button,.portfolio-priority-dialog>header>button{color:#fff;background:#ffffff1f;border:1px solid #ffffff47;border-radius:50%;width:32px;height:32px;font-size:20px}.priority-detail-body{padding:18px 20px}.priority-detail-tags,.portfolio-priority-tags{align-items:center;gap:6px;display:flex}.priority-detail-tags em,.portfolio-priority-tags em{color:#a5423d;background:#fde9e7;border-radius:12px;padding:4px 8px;font-size:9px;font-style:normal}.priority-detail-tags em.company,.portfolio-priority-tags em.company{color:#205e8c;background:#e7f1fa}.priority-detail-tags+dl{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.priority-detail-tags+dl>div{background:#f3f6f8;border-radius:7px;padding:10px}.priority-detail-tags dt{color:#738594;font-size:8px}.priority-detail-tags dd{margin:3px 0 0;font-size:10px;font-weight:700}.priority-detail-body>article{border:1px solid #dce5ec;border-radius:8px;margin-top:13px;padding:13px}.priority-detail-body>article p{white-space:pre-wrap;line-height:1.7}.priority-detail-files{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.priority-detail-files a{color:#175d8b;border:1px solid #c8d8e4;border-radius:6px;padding:7px 9px;text-decoration:none}.priority-resolution{color:#567083;gap:6px;margin-top:14px;font-size:10px;display:grid}.priority-resolution textarea{resize:vertical;border:1px solid #c9d8e3;border-radius:7px;min-height:110px;padding:10px}.priority-readonly-note{color:#6f818e;background:#f2f5f7;border-radius:7px;padding:10px}.priority-detail-dialog>footer{border-top:1px solid #dfe7ed;justify-content:flex-end;gap:8px;padding:13px 20px;display:flex}.priority-detail-dialog>footer button{background:#fff;border:1px solid #c5d5e1;border-radius:6px;padding:8px 12px}.portfolio-metrics article.priority button{background:linear-gradient(135deg,#fff9ef,#fff3de)}.portfolio-priority-dialog{width:min(930px,100vw - 32px)}.portfolio-priority-list{gap:9px;padding:14px;display:grid}.portfolio-priority-list>article{background:#fff;border:1px solid #d8e3eb;border-left:4px solid #c15d51;border-radius:8px;padding:13px 14px}.portfolio-priority-tags span{color:#61798b;margin-left:auto;font-size:9px}.portfolio-priority-list h3{margin:8px 0 4px;font-size:13px}.portfolio-priority-list>article>p{color:#667b8a;margin:0;font-size:10px}.portfolio-priority-list footer{color:#657b8b;border-top:1px solid #e7edf1;align-items:center;gap:16px;margin-top:10px;padding-top:9px;font-size:9px;display:flex}.portfolio-priority-list footer button{color:#175d8a;background:#fff;border:1px solid #a9c2d5;border-radius:6px;margin-left:auto;padding:6px 9px}.portfolio-priority-resolution{background:#f3f7fa;border-radius:7px;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.2fr) auto;align-items:end;gap:9px;margin-top:10px;padding:11px;display:grid}.portfolio-priority-resolution strong,.portfolio-priority-resolution span{display:block}.portfolio-priority-resolution span{color:#667b8b;margin-top:4px;font-size:9px}.portfolio-priority-resolution textarea{resize:vertical;border:1px solid #cbd9e4;border-radius:6px;min-height:64px;padding:8px}.portfolio-priority-resolution button{height:36px}.portfolio-priority-resolution>p{color:#6c7f8d;grid-column:1/-1;margin:0;font-size:10px}.department-page .page-heading{color:#fff;background:linear-gradient(115deg,#174f7d,#3379a7);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.department-page .page-heading span,.department-page .page-heading p{color:#ffffffc7}.department-page .page-heading h2{margin:4px 0;font-size:22px}.primary-action{color:#fff;background:#168064;border:1px solid #176f58;border-radius:7px;padding:9px 14px;font-weight:700}.department-page .page-heading .primary-action{color:#174f7d;background:#fff;border-color:#ffffff80}.department-summary{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.department-summary button{color:#587185;background:#fff;border:1px solid #d4e0e9;border-radius:10px;justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.department-summary button strong{color:#174f7d;font-size:23px}.department-summary button.active{background:#ebf7f2;border-color:#7ab7a5}.department-summary button.review{background:#fff7e7;border-color:#e4c17b}.department-summary button.done{background:#edf4fb;border-color:#8baad1}.department-form{background:#fff;border:1px solid #d4e0e9;border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:16px;display:grid}.department-form label,.cloud-sync-body label{color:#587185;gap:5px;font-size:10px;display:grid}.department-form input,.department-form select,.department-form textarea,.cloud-sync-body input,.cloud-sync-body select{background:#fbfdff;border:1px solid #c9d8e3;border-radius:7px;width:100%;padding:9px}.department-form textarea{resize:vertical;min-height:76px}.department-form .wide{grid-column:span 2}.department-form small{color:#768a98}.department-form footer{grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.department-table-wrap{background:#fff;border:1px solid #cfdee9;border-radius:11px;overflow:auto}.department-table{border-collapse:collapse;width:100%;min-width:1420px}.department-table th{color:#fff;text-align:center;background:#3f72bd;padding:10px 8px;font-size:10px}.department-table td{color:#294356;vertical-align:middle;border-bottom:1px solid #dde6ed;border-right:1px solid #dde6ed;padding:9px 8px;font-size:9px;line-height:1.5}.department-table tbody tr:nth-child(2n){background:#f4f7fb}.department-table tr.completed td{color:#8796a0;background:#f2f4f5;text-decoration:line-through}.department-table tr.completed button,.department-table tr.completed .department-status{text-decoration:none}.department-table td:first-child,.department-table td:nth-child(2),.department-table td:nth-child(8),.department-table td:nth-child(9),.department-table td:nth-child(10){text-align:center}.department-detail-link{color:#174f7d;text-align:left;background:0 0;border:0;max-width:250px;padding:0;font-weight:700}.department-table em{color:#ad433d;background:#fce9e7;border-radius:8px;margin:3px 4px 0 0;padding:2px 5px;font-size:8px;font-style:normal;display:inline-block}.department-table em.urgent{color:#a26813;background:#fff0d8}.department-table td:last-child button{color:#175d8a;background:#fff;border:1px solid #b6cad9;border-radius:5px;margin:2px;padding:5px 7px}.danger-link{color:#bf4942!important;border-color:#e5bbb8!important}.department-status{color:#647b8a;background:#edf2f5;border-radius:10px;padding:3px 7px;display:inline-block}.department-status.submitted{color:#98600f;background:#fff0d8}.department-status.completed{color:#127155;background:#e4f4ed}.department-status.rejected{color:#a9413b;background:#fde9e7}.empty-cell{color:#7a8b97!important;text-align:center!important;padding:45px!important}.modal-backdrop{z-index:1200;background:#0a20317a;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.department-detail{background:#fff;border-radius:13px;width:min(780px,100vw - 32px);max-height:88vh;overflow:auto;box-shadow:0 25px 70px #00000047}.department-detail>header,.cloud-sync-dialog>header{color:#fff;background:linear-gradient(115deg,#174f7d,#3379a7);justify-content:space-between;align-items:flex-start;padding:18px 20px;display:flex}.department-detail>header span,.cloud-sync-dialog>header span,.cloud-sync-dialog>header p{color:#ffffffc2;font-size:9px}.department-detail>header h2,.cloud-sync-dialog>header h2{margin:5px 0 0;font-size:19px}.department-detail>header>button,.cloud-sync-dialog>header>button{color:#fff;background:#ffffff1f;border:1px solid #ffffff52;border-radius:50%;width:32px;height:32px;font-size:20px}.department-detail-body{padding:17px 20px}.department-detail-body dl{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.department-detail-body dl div{background:#f1f5f8;border-radius:7px;padding:10px}.department-detail-body dt{color:#708493;font-size:8px}.department-detail-body dd{margin:4px 0 0;font-size:10px;font-weight:700}.department-detail-body article{border:1px solid #dce5ec;border-radius:8px;margin-top:10px;padding:12px}.department-detail-body article p{white-space:pre-wrap;margin:7px 0 0}.department-files{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.department-files a{color:#175d8a;border:1px solid #bed1df;border-radius:6px;padding:7px 9px;text-decoration:none}.department-review{color:#536c7e;gap:7px;margin-top:12px;display:grid}.department-review textarea{border:1px solid #c7d7e2;border-radius:7px;min-height:86px;padding:9px}.department-review span{justify-content:flex-end;gap:8px;display:flex}.department-detail>footer{border-top:1px solid #dfe7ed;justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.cloud-sync-trigger{color:#174f7d;background:#edf6fc;border:1px solid #86aeca;border-radius:7px;padding:8px 11px;font-weight:700}.cloud-sync-dialog{background:#fff;border-radius:14px;width:min(760px,100vw - 32px);max-height:90vh;overflow:auto;box-shadow:0 28px 80px #0000004d}.cloud-sync-body{gap:13px;padding:18px 20px;display:grid}.cloud-version-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.cloud-version-grid article{background:#f5f8fa;border:1px solid #d5e1e9;border-radius:9px;padding:14px}.cloud-version-grid article span,.cloud-version-grid article small{color:#6a8191;font-size:9px;display:block}.cloud-version-grid article strong{color:#174f7d;margin:7px 0;font-size:15px;display:block}.cloud-version-grid article.online{background:#eef8f4;border-color:#9bcab9}.cloud-version-grid article.offline{background:#fff8ec;border-color:#e7c9a1}.cloud-sync-body label>div{gap:7px;display:flex}.cloud-sync-body label>div button{color:#175d8a;background:#fff;border:1px solid #b9ccda;border-radius:7px;padding:0 11px}.cloud-auth{grid-template-columns:1fr 1fr;gap:10px;display:grid}.cloud-sync-progress{align-items:center;gap:10px;display:flex}.cloud-sync-progress>div{background:#e5ecf1;border-radius:9px;flex:1;height:10px;overflow:hidden}.cloud-sync-progress>div span{background:linear-gradient(90deg,#3f72bd,#168064);border-radius:9px;height:100%;transition:width .2s;display:block}.cloud-sync-progress strong{color:#174f7d;text-align:right;width:42px}.cloud-sync-body>p{color:#176b55;background:#eef7f3;border-radius:7px;margin:0;padding:9px 11px}.cloud-sync-body>p.error{color:#a6463f;background:#fff0ed}.cloud-sync-body aside{color:#536c7d;background:#fff8e9;border-left:4px solid #d39a2e;gap:4px;padding:11px 13px;display:grid}.cloud-sync-body aside span{font-size:9px;line-height:1.6}.cloud-sync-dialog>footer{border-top:1px solid #dfe7ed;justify-content:flex-end;gap:8px;padding:13px 20px;display:flex}@media (width<=760px){.department-summary,.department-form,.cloud-version-grid,.cloud-auth{grid-template-columns:1fr}.department-form .wide{grid-column:auto}.department-page .page-heading{flex-direction:column;align-items:flex-start}.department-detail-body dl{grid-template-columns:1fr 1fr}.cloud-sync-trigger{font-size:0}.cloud-sync-trigger:after{content:"⇅";font-size:15px}}.custom-audience-field{grid-column:2}.communication-fields.four:has(.custom-audience-field){grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=1250px){.account-row-summary{grid-template-columns:minmax(210px,.85fr) minmax(360px,1.4fr) 320px!important;gap:10px!important}.account-row-actions{gap:4px;width:320px}.account-row-actions>button{min-width:58px;padding-left:5px;padding-right:5px}.account-login-meta{gap:10px}}@media (width<=760px){.account-list-heading{flex-direction:column;align-items:flex-start;gap:3px}.account-row-summary{grid-template-columns:1fr!important}.account-login-meta{grid-template-columns:1fr 1fr}.account-row-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.priority-detail-tags+dl,.portfolio-priority-resolution{grid-template-columns:1fr}.priority-detail-dialog,.portfolio-priority-dialog{border-radius:14px 14px 0 0;width:100%;max-height:94vh}.custom-audience-field{grid-column:auto}.portfolio-priority-list footer{flex-direction:column;align-items:flex-start}.portfolio-priority-list footer button{margin-left:0}}.tutorial-page{--tutorial-blue:#175d8b;--tutorial-green:#16866b;--tutorial-amber:#b87818}.tutorial-hero{background:linear-gradient(120deg,#edf6fc 0%,#fff 68%);border:1px solid #c9dbea;border-radius:13px;padding:20px 22px}.tutorial-hero h2{margin-top:5px}.tutorial-hero b{color:#125d8c}.tutorial-hero>em{color:#1e608a;background:#dfeef8;border-radius:20px;padding:7px 10px;font-size:9px;font-style:normal}.tutorial-section{background:#fff;border:1px solid #d5e2ec;border-radius:12px;overflow:hidden;box-shadow:0 5px 16px #133d5b0b}.tutorial-section>header{background:linear-gradient(90deg,#eaf3fa,#f8fbfd);border-bottom:1px solid #dce6ee;align-items:center;gap:11px;padding:14px 16px;display:flex}.tutorial-section>header>span{color:#fff;background:#17618f;border-radius:9px;place-items:center;width:31px;height:31px;font-size:10px;font-weight:800;display:grid}.tutorial-section>header strong,.tutorial-section>header small{display:block}.tutorial-section>header strong{color:#163f60;font-size:13px}.tutorial-section>header small{color:#6a8091;margin-top:3px;font-size:9px}.tutorial-role-grid{grid-template-columns:repeat(4,1fr);gap:10px;padding:14px;display:grid}.tutorial-role-grid article{background:#fbfcfd;border:1px solid #dae4eb;border-top:4px solid #8192a0;border-radius:8px;padding:13px}.tutorial-role-grid article.tone-green{background:#f3faf7;border-top-color:#16866b}.tutorial-role-grid article.tone-amber{background:#fff9ed;border-top-color:#c18424}.tutorial-role-grid article.tone-blue{background:#f2f8fc;border-top-color:#226ca1}.tutorial-role-grid article strong{color:#173f60;font-size:12px}.tutorial-role-grid article p{color:#334d60;margin:8px 0 5px;font-size:10px}.tutorial-role-grid article small{color:#718493;font-size:9px}.tutorial-flow-row{align-items:stretch;gap:24px;padding:19px 18px;display:flex}.tutorial-flow-node{background:#f7fafc;border:1px solid #cfe0eb;border-radius:8px;flex:1;align-items:center;gap:8px;min-width:0;padding:12px;display:flex;position:relative}.tutorial-flow-node>span{color:#155a87;background:#dcecf6;border-radius:50%;flex:none;place-items:center;width:23px;height:23px;font-size:9px;font-weight:800;display:grid}.tutorial-flow-node strong{color:#24485f;font-size:10px}.tutorial-flow-node i{color:#5d829b;font-size:18px;font-style:normal;position:absolute;right:-19px}.tutorial-tips{color:#547086;background:#fbfcfd;border-top:1px dashed #d7e3eb;align-items:center;gap:14px;padding:10px 18px;font-size:9px;display:flex}.tutorial-tips b{color:#175d8b}.tutorial-step-list{background:#dae4eb;grid-template-columns:repeat(5,1fr);gap:1px;display:grid}.tutorial-step-list article{background:#fff;gap:9px;padding:16px 13px;display:flex}.tutorial-step-list article>span{color:#16745d;background:#e7f3ed;border-radius:7px;flex:none;place-items:center;width:25px;height:25px;font-size:10px;font-weight:800;display:grid}.tutorial-step-list strong{color:#25465c;font-size:10px}.tutorial-step-list p{color:#6c7f8d;margin:5px 0 0;font-size:9px;line-height:1.55}.tutorial-approval>header{background:linear-gradient(90deg,#eaf7f2,#fbfdfc)}.tutorial-approval>header>span{background:#16866b}.tutorial-loop{color:#547064;background:#f5faf8;border-top:1px dashed #d6e5dd;gap:10px;padding:10px 18px;font-size:9px;display:flex}.tutorial-loop b{color:#146b56}.lifecycle-flow{gap:18px}.lifecycle-flow .tutorial-flow-node{padding:10px}.tutorial-warning{color:#8b5d18;background:#fff8e9;border-top:1px solid #f0d7a9;margin:0;padding:11px 18px;font-size:9px}.tutorial-security>header{background:linear-gradient(90deg,#fff4df,#fffdf8)}.tutorial-security>header>span{background:#b87818}.security-flow{align-items:center;gap:10px;padding:16px;display:flex}.security-flow article{background:#fffaf0;border:1px solid #ead9b9;border-radius:8px;flex:1;padding:12px}.security-flow article b,.security-flow article span{display:block}.security-flow article b{color:#775018;font-size:10px}.security-flow article span{color:#7b6b52;margin-top:5px;font-size:9px;line-height:1.5}.security-flow>i{color:#b78b43;font-style:normal}.tutorial-quick-reference{color:#fff;background:linear-gradient(105deg,#123f63,#17618f);border-radius:11px;align-items:center;gap:15px;padding:15px 18px;display:flex}.tutorial-quick-reference strong{white-space:nowrap;font-size:13px}.tutorial-quick-reference p{color:#ffffffd1;margin:0;font-size:10px;line-height:1.7}@media (width<=1100px){.tutorial-role-grid,.tutorial-step-list{grid-template-columns:repeat(2,1fr)}.tutorial-flow-row,.security-flow{overflow-x:auto}.tutorial-flow-node,.security-flow article{min-width:155px}.tutorial-tips{flex-direction:column;align-items:flex-start;gap:5px}}@media (width<=760px){.tutorial-role-grid,.tutorial-step-list{grid-template-columns:1fr}.tutorial-hero>em{display:none}.tutorial-quick-reference{flex-direction:column;align-items:flex-start}.tutorial-section>header{align-items:flex-start}}.role-visual,.visual-flow{align-items:stretch;padding:18px;display:flex;overflow-x:auto}.role-visual{gap:12px}.role-visual-item,.visual-flow-item{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.role-visual-item>article,.visual-flow-item>article{text-align:center;background:#f7fafc;border:1px solid #d4e1ea;border-radius:10px;flex:1;place-items:center;gap:6px;min-width:130px;padding:15px 10px;display:grid}.role-visual-item>article i,.visual-flow-item>article i{color:#175d8b;background:#e2eef6;border-radius:50%;place-items:center;width:34px;height:34px;font-size:15px;font-style:normal;font-weight:800;display:grid}.role-visual-item>article strong,.visual-flow-item>article strong{color:#24465d;font-size:11px}.role-visual-item>article small{color:#6c8190;font-size:9px}.role-visual-item>b,.visual-flow-item>b{color:#66869d;flex:none;font-size:24px}.role-tone-0{border-top:4px solid #7e8f9c!important}.role-tone-1{border-top:4px solid #16866b!important}.role-tone-2{border-top:4px solid #bd7b1d!important}.role-tone-3{border-top:4px solid #256c9d!important}.visual-shortcuts{color:#5c7485;background:#f8fbfd;border-top:1px dashed #d7e3eb;justify-content:center;gap:24px;padding:10px 16px;font-size:9px;display:flex}.visual-shortcuts b{color:#175d8b}.daily-visual .visual-flow-item>article{background:#f3faf7}.daily-visual .visual-flow-item>article i{color:#16745d;background:#dff1e9}.approval-visual{padding-bottom:31px;position:relative}.approval-visual .visual-flow{padding-bottom:12px}.feedback-loop{color:#477d69;text-align:center;border-bottom:2px solid #8bb9a8;border-radius:0 0 50% 50%;padding:5px;font-size:9px;position:absolute;bottom:12px;left:25%;right:25%}.lifecycle-visual .visual-flow-item>article{min-width:105px}.gate-rule{color:#845a18;background:#fff8e9;border-top:1px solid #f0d7a9;justify-content:center;align-items:center;gap:10px;padding:10px;font-size:10px;display:flex}.gate-rule b{font-size:16px}.gate-rule i{font-style:normal}.security-visual .visual-flow-item>article{background:#fffaf0;border-color:#ead9b9}.security-visual .visual-flow-item>article i{color:#8b601d;background:#f4e5c8}.tutorial-memory{color:#fff;background:linear-gradient(105deg,#123f63,#17618f);border-radius:11px;justify-content:center;align-items:center;gap:16px;padding:15px 18px;font-size:10px;font-weight:700;display:flex}.tutorial-memory i{color:#91b4ca;font-style:normal}@media (width<=900px){.role-visual-item,.visual-flow-item{min-width:150px}.role-visual,.visual-flow{padding:14px}.visual-shortcuts{flex-direction:column;align-items:flex-start;gap:5px}.tutorial-memory{flex-direction:column;align-items:flex-start;gap:6px}.tutorial-memory i{display:none}}.compact-dates>span{align-items:center;gap:5px;min-height:22px;display:flex}.compact-dates>span>b{color:#1d608f;background:#e8f0f6;border-radius:5px;flex:0 0 17px;place-items:center;height:17px;font-size:8px;display:grid}.compact-dates .grid-deadline>i{white-space:nowrap;align-items:center;gap:5px;font-style:normal;display:flex}.compact-dates .grid-deadline em{border-radius:5px;padding:2px 4px;font-size:7px;font-style:normal;font-weight:700}.compact-dates .grid-deadline.safe>b{color:#17725e;background:#dff2e9}.compact-dates .grid-deadline.safe em{color:#17725e;background:#e8f5ef}.compact-dates .grid-deadline.warning>b{color:#956300;background:#fff0bf}.compact-dates .grid-deadline.warning em{color:#8d6200;background:#fff4d3}.compact-dates .grid-deadline.critical>b{color:#b13831;background:#fbdedb}.compact-dates .grid-deadline.critical em{color:#aa3c36;background:#fce9e7}.compact-dates .grid-deadline.overdue>b{color:#6b3c91;background:#eadcf5}.compact-dates .grid-deadline.overdue em{color:#6b3c91;background:#f0e7f7}.compact-dates .grid-deadline.completed>b{color:#176b62;background:#dcebea}.compact-dates .grid-deadline.completed em{color:#176b62;background:#e6f2f0}.portfolio-metrics .clickable-metric strong em{font-size:9px}.portfolio-metrics .clickable-metric small{line-height:1.45}.compact-dates .grid-overdue-reason{color:#6b3c91;cursor:pointer;background:#eadcf5;border:0;border-radius:5px;flex:0 0 17px;place-items:center;width:17px;height:17px;padding:0;font:700 8px/1 inherit;display:grid;box-shadow:0 0 0 1px #6b3c911f}.compact-dates .grid-overdue-reason:hover,.compact-dates .grid-overdue-reason:focus-visible{color:#fff;outline-offset:1px;background:#6b3c91;outline:2px solid #6b3c9138}.compact-dates .grid-deadline .grid-connected-tag{color:#17725e;background:#dff2e9;box-shadow:inset 0 0 0 1px #17725e1f}.compact-dates .grid-deadline .grid-variance-tag.early{color:#11735b;background:#e2f3ea;box-shadow:inset 0 0 0 1px #11735b1f}.compact-dates .grid-deadline .grid-variance-tag.delayed{color:#956018;background:#fff0d8;box-shadow:inset 0 0 0 1px #9560181f}.people-report-view{background:#edf4f9;border:1px solid #cfdee9;border-radius:12px;gap:14px;padding:13px;display:grid}.report-status-summary{background:linear-gradient(110deg,#dfeef8,#f4f9fc);border:1px solid #c8dbe8;border-radius:10px;padding:10px}.member-report-grid{background:#fff;border:1px solid #dbe5ec;border-radius:10px;padding:12px}.procedure-step-card.completed{background:#f2faf7;border-color:#9fcfbe}.procedure-step-card.completed>header{background:linear-gradient(110deg,#16866b,#35a185)}.procedure-step-card.progress{background:#fff9ed;border-color:#e2bd78}.procedure-step-card.progress>header{background:linear-gradient(110deg,#b87818,#d99b36)}.procedure-step-card.blocked{background:#fff4f2;border-color:#e3aaa5}.procedure-step-card.blocked>header{background:linear-gradient(110deg,#a9433e,#cc625a)}.procedure-step-card:not(.completed):not(.progress):not(.blocked)>header{background:linear-gradient(110deg,#446b8b,#6c8ba3)}.procedure-step-card>header input,.procedure-step-card>header input:focus{color:#fff}.procedure-step-card>header>i{color:#fff;background:#fff3}.procedure-step-card>header em{color:#fff!important;background:#ffffff2e!important}.tutorial-page .tutorial-section:first-of-type>header{background:linear-gradient(115deg,#235f9d,#3d7fbd)}.tutorial-page .tutorial-section:nth-of-type(2)>header{background:linear-gradient(115deg,#514a96,#7168b8)}.tutorial-page .tutorial-section:nth-of-type(3)>header{background:linear-gradient(115deg,#0c735e,#22957b)}.tutorial-page .tutorial-section:nth-of-type(4)>header{background:linear-gradient(115deg,#b97818,#dc9e36)}.tutorial-page .tutorial-section:nth-of-type(5)>header{background:linear-gradient(115deg,#126d8d,#2d90ae)}.tutorial-page .tutorial-section:nth-of-type(6)>header{background:linear-gradient(115deg,#68478f,#8662ad)}.tutorial-page .tutorial-section>header>span{color:#fff;background:#ffffff29;border:1px solid #ffffff47}.tutorial-page .tutorial-section>header strong,.tutorial-page .tutorial-section>header small{color:#fff}.tutorial-page .tutorial-section>header small{opacity:.78}.log-overview-strip{background:#fff;border:1px solid #bed4e8;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px #1443690f}.log-overview-strip>header{color:#fff;background:linear-gradient(100deg,#155382,#327fa8);justify-content:space-between;align-items:center;gap:18px;padding:14px 18px;display:flex}.log-overview-strip>header div{gap:3px;display:grid}.log-overview-strip>header span{opacity:.8;font-size:12px}.log-overview-strip>header strong{font-size:17px}.log-overview-strip>header label{align-items:center;gap:8px;font-size:12px;display:flex}.log-overview-strip>header input{color:#123b61;background:#fff;border:1px solid #ffffff8c;border-radius:7px;min-width:145px;padding:7px 9px}.log-overview-metrics{background:#edf5fb;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px 14px;display:grid}.log-overview-metrics div{background:#fff;border:1px solid #d4e2ee;border-radius:9px;gap:3px;padding:9px 12px;display:grid}.log-overview-metrics span{color:#668095;font-size:11px}.log-overview-metrics b{color:#0a436f;font-size:17px}.log-date-track{scrollbar-width:thin;gap:6px;padding:11px 14px 14px;display:flex;overflow-x:auto}.log-date-track button{color:#8091a0;cursor:pointer;background:#f7f9fb;border:1px solid #d8e2ea;border-radius:8px;flex:0 0 76px;place-items:center;gap:2px;min-height:64px;padding:6px;display:grid}.log-date-track button.recorded{color:#14775d;background:#edf9f5;border-color:#88c7b5}.log-date-track button.active{outline-offset:1px;outline:2px solid #e4a62c}.log-date-track button span{font-size:11px}.log-date-track button b{font-size:15px}.log-date-track button small{font-size:10px}@media (width<=720px){.log-overview-strip>header{flex-direction:column;align-items:flex-start}.log-overview-strip>header label{justify-content:space-between;width:100%}.log-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.portfolio-metrics.portfolio-metrics-integrated{grid-template-columns:repeat(9,minmax(130px,1fr));gap:8px;padding-bottom:3px;overflow-x:auto}.portfolio-metrics.portfolio-metrics-integrated article{min-width:0;padding:13px 14px}.portfolio-metrics.portfolio-metrics-integrated article.clickable-metric{padding:0}.portfolio-metrics.portfolio-metrics-integrated article.clickable-metric>button{border-radius:inherit;padding:13px 14px}.portfolio-metrics.portfolio-metrics-integrated article.priority{background:linear-gradient(135deg,#fffaf1,#fff4e2)}.portfolio-metrics.portfolio-metrics-integrated article.priority>button{background:0 0}.portfolio-metrics.portfolio-metrics-integrated strong{font-size:22px}.portfolio-total-capacity>div{gap:2px;margin:4px 0;display:grid}.portfolio-total-capacity>div strong{white-space:nowrap;align-items:baseline;gap:4px;min-width:0;line-height:1.15;display:flex;margin:0!important;font-size:18px!important}.portfolio-total-capacity>div strong+strong{color:#188a69;font-size:15px!important}.portfolio-total-capacity>div em{flex:none;margin:0;font-size:7px;font-style:normal;font-weight:500}.portfolio-total-capacity>small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.project-focus-actions{align-items:center;gap:7px;display:flex}.project-focus-actions>button{color:#fff;background:#ffffff29;border:1px solid #ffffff8c;border-radius:6px;padding:5px 8px;font-size:8px;font-weight:700}.project-focus-panel>div>article.editable{cursor:pointer}.project-focus-panel>div>article.editable:hover{background:#eef6fb}.project-focus-dialog{background:#fff;border-radius:12px;width:min(680px,100vw - 28px);overflow:hidden;box-shadow:0 22px 70px #051f3647}.project-focus-dialog>header{color:#fff;background:linear-gradient(135deg,#174f7d,#347cad);justify-content:space-between;align-items:center;padding:16px 19px;display:flex}.project-focus-dialog>header span{opacity:.82;font-size:9px}.project-focus-dialog>header h2{margin:4px 0 0;font-size:18px}.project-focus-dialog>header>button{color:#fff;background:#ffffff29;border:0;border-radius:50%;width:32px;height:32px;font-size:20px}.project-focus-form{grid-template-columns:1fr 1fr;gap:12px;padding:18px;display:grid}.project-focus-form label{color:#496275;gap:6px;font-size:9px;display:grid}.project-focus-form .wide{grid-column:1/-1}.project-focus-form input,.project-focus-form select,.project-focus-form textarea{color:#17384f;background:#fff;border:1px solid #cad9e5;border-radius:7px;width:100%;padding:10px 11px}.project-focus-form textarea{resize:vertical;min-height:88px}.project-focus-form .focus-company-check{align-items:center;gap:8px;display:flex}.project-focus-form .focus-company-check input{width:auto}.project-focus-dialog>footer{background:#f7fafc;border-top:1px solid #dde6ed;grid-template-columns:auto 1fr auto auto;gap:8px;padding:13px 18px;display:grid}.project-focus-dialog>footer button{color:#174f7d;background:#fff;border:1px solid #b7cad9;border-radius:7px;padding:9px 13px;font-weight:700}.project-focus-dialog>footer .primary{color:#fff;background:#174f7d;border-color:#174f7d}.project-focus-dialog>footer .danger{color:#b33e37;border-color:#e5aaa5}@media (width<=720px){.portfolio-metrics.portfolio-metrics-integrated{grid-template-columns:repeat(9,140px)}.project-focus-form{grid-template-columns:1fr}.project-focus-form .wide{grid-column:auto}}.app-shell{--ui-font-scale:1;--ui-font-xs:calc(8px * var(--ui-font-scale));--ui-font-sm:calc(9px * var(--ui-font-scale));--ui-font-md:calc(10px * var(--ui-font-scale));--ui-font-lg:calc(12px * var(--ui-font-scale))}.app-shell[data-font-size=small]{--ui-font-scale:.86}.app-shell[data-font-size=compact]{--ui-font-scale:.93}.app-shell[data-font-size=standard]{--ui-font-scale:1}.app-shell[data-font-size=comfortable]{--ui-font-scale:1.08}.app-shell[data-font-size=large]{--ui-font-scale:1.16}.app-shell :where(input,select,textarea,button,label,p){font-size:var(--ui-font-md)}.app-shell :where(small){font-size:var(--ui-font-sm)}.portfolio-report :where(th,td,button,span,strong,small,em){font-size:var(--ui-font-md)}.portfolio-report .project-name-cell small,.portfolio-report .current-progress-cell small,.portfolio-report .procedure-status-cell small{font-size:var(--ui-font-sm)}.font-preference-panel{background:#fff;border:1px solid #cbdbe7;border-radius:11px;overflow:hidden;box-shadow:0 5px 17px #133c5b0a}.font-preference-panel>header{background:linear-gradient(95deg,#eaf3fa,#f8fbfd);border-bottom:1px solid #d8e4ed;justify-content:space-between;align-items:center;gap:15px;padding:12px 15px;display:flex}.font-preference-panel>header strong,.font-preference-panel>header span{display:block}.font-preference-panel>header strong{color:#173f60;font-size:12px}.font-preference-panel>header span{color:#657c8d;margin-top:3px;font-size:9px}.font-preference-panel>header em{color:#24725f;font-size:9px;font-style:normal}.font-preference-panel>div{grid-template-columns:repeat(5,minmax(90px,1fr));gap:8px;padding:12px;display:grid}.font-preference-panel button{color:#536d7e;cursor:pointer;background:#f9fbfc;border:1px solid #cfdae3;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:52px;display:flex}.font-preference-panel button b{color:#174f7d}.font-preference-panel button.active{color:#176d59;background:#edf8f4;border-color:#23816a;box-shadow:inset 0 0 0 1px #23816a}.font-preference-panel button.active b{color:#176d59}@media (width<=720px){.font-preference-panel>header{flex-direction:column;align-items:flex-start}.font-preference-panel>div{grid-template-columns:repeat(5,minmax(72px,1fr));overflow-x:auto}}.report-owner-actions{border-top:1px dashed #d6e1e9;justify-content:flex-end;align-items:center;gap:7px;margin-top:9px;padding-top:8px;display:flex}.report-owner-actions span{color:#567080;margin-right:auto;font-size:9px}.report-owner-actions button{color:#185984;background:#fff;border:1px solid #b9cddd;border-radius:6px;padding:5px 10px;font-weight:700}.report-owner-actions button.danger{color:#b33e37;border-color:#e5aaa5}.report-lock-notice,.report-submitted-notice{border-radius:8px;margin:12px 16px 0;padding:10px 12px;font-size:10px;font-weight:700}.report-lock-notice{color:#176d59;background:#edf8f3;border:1px solid #b7d8ca}.report-submitted-notice{color:#185984;background:#eef6fb;border:1px solid #c7dbea}.report-form-panel fieldset{border:0;min-width:0;margin:0;padding:0}.report-form-panel fieldset:disabled{opacity:.78}.report-form-actions button:disabled{cursor:not-allowed;color:#8998a3!important;box-shadow:none!important;background:#e9edf0!important;border-color:#d6dee4!important}.report-requirement-settings{background:#fff;border:1px solid #cbdbe7;border-radius:11px;overflow:hidden;box-shadow:0 5px 17px #133c5b0a}.report-requirement-settings>header{background:linear-gradient(95deg,#e6f3ee,#f7fbf9);border-bottom:1px solid #d8e4ed;justify-content:space-between;align-items:center;gap:15px;padding:13px 16px;display:flex}.report-requirement-settings>header strong,.report-requirement-settings>header span{display:block}.report-requirement-settings>header strong{color:#185b4c;font-size:12px}.report-requirement-settings>header span{color:#657c75;margin-top:3px;font-size:9px}.report-requirement-settings>header em{color:#24725f;font-size:9px;font-style:normal}.report-requirement-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding:4px 16px 12px;display:grid}.report-requirement-list article{border-bottom:1px solid #e2e9ee;grid-template-columns:minmax(180px,1fr) repeat(3,70px);align-items:center;gap:7px;padding:10px 0;display:grid}.report-requirement-list article>div strong,.report-requirement-list article>div span{display:block}.report-requirement-list article>div strong{color:#173f60;font-size:10px}.report-requirement-list article>div span{color:#718594;margin-top:2px;font-size:8px}.report-requirement-list label{color:#536d7e;background:#f9fbfc;border:1px solid #d3e0e8;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:6px;font-size:9px;display:flex}.report-requirement-list label:has(input:checked){color:#176d59;background:#edf8f4;border-color:#78b9a5}.report-requirement-list input{margin:0}@media (width<=900px){.report-requirement-list{grid-template-columns:1fr}}@media (width<=620px){.report-requirement-list article{grid-template-columns:1fr repeat(3,1fr)}.report-requirement-list article>div{grid-column:1/-1}}.report-calendar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.report-calendar-actions .report-export-button,.report-calendar-actions .report-share-button{border-radius:7px;padding:7px 11px;font-weight:700}.report-calendar-actions .report-export-button{color:#fff;background:#178068;border:1px solid #178068}.report-calendar-actions .report-share-button{color:#205f98;background:#edf5fc;border:1px solid #4279b7}.report-share-notice{color:#176b57;background:#eef8f4;border:1px solid #abd2c4;border-radius:8px;margin:0 0 10px;padding:9px 12px;font-size:9px}.report-calendar-grid>article{padding:0}.report-calendar-grid>article.selected{box-shadow:inset 0 0 0 2px #3f72bd}.report-calendar-grid .report-day-button{color:#29475d;text-align:left;background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:5px;width:100%;height:100%;min-height:104px;padding:7px;display:flex}.report-calendar-grid .report-day-button:hover{background:#f3f7fb}.report-calendar-grid .report-day-button time{font-size:9px}.report-calendar-grid .report-day-button>small{color:#84949f;margin-top:auto;font-size:7px}.report-day-summary{flex-wrap:wrap;gap:3px!important;margin:0!important;display:flex!important}.report-day-summary span{color:#fff;border-radius:4px;padding:3px 5px;font-size:7px}.report-day-summary .daily{background:#3f72bd}.report-day-summary .weekly{background:#168a70}.report-day-summary .monthly{background:#8059b3}.report-export-overlay{z-index:1500;background:#09203385;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.report-export-dialog{background:#fff;border-radius:13px;width:min(720px,100vw - 30px);overflow:hidden;box-shadow:0 26px 80px #03192b52}.report-export-dialog>header{color:#fff;background:linear-gradient(115deg,#174f7d,#327ca9);justify-content:space-between;align-items:flex-start;padding:18px 20px;display:flex}.report-export-dialog>header span,.report-export-dialog>header h2{display:block}.report-export-dialog>header span{opacity:.78;font-size:9px}.report-export-dialog>header h2{margin:5px 0 0;font-size:19px}.report-export-dialog>header button{color:#fff;background:#ffffff21;border:1px solid #ffffff61;border-radius:50%;width:32px;height:32px;font-size:20px}.report-export-controls{grid-template-columns:1fr 1fr;gap:12px;padding:18px 20px;display:grid}.report-export-controls label{color:#536d7f;gap:6px;font-size:9px;display:grid}.report-export-controls input,.report-export-controls select{background:#fbfdff;border:1px solid #c9d8e4;border-radius:7px;width:100%;padding:10px}.report-export-summary{color:#315e52;background:#eef8f4;border-left:4px solid #198269;margin:0 20px 18px;padding:12px 14px}.report-export-summary strong,.report-export-summary span{display:block}.report-export-summary strong{font-size:12px}.report-export-summary span{margin-top:4px;font-size:9px}.report-export-dialog>footer{background:#f8fafc;border-top:1px solid #dfe7ed;justify-content:flex-end;gap:8px;padding:13px 20px;display:flex}.report-export-dialog>footer button{color:#175d8a;background:#fff;border:1px solid #b8ccdb;border-radius:7px;padding:9px 13px;font-weight:700}.report-export-dialog>footer button.primary{color:#fff;background:#178068;border-color:#176d59}.report-export-dialog>footer button:disabled{opacity:.45;cursor:not-allowed}.shared-reports-page{color:#17384f;background:#eef4f8;min-height:100vh;padding:28px}.shared-reports-hero{color:#fff;background:linear-gradient(115deg,#123f63,#2575a4);border-radius:14px;justify-content:space-between;align-items:center;gap:20px;max-width:1360px;margin:0 auto 14px;padding:22px 25px;display:flex;box-shadow:0 12px 35px #123f632e}.shared-reports-hero span{opacity:.76;font-size:9px}.shared-reports-hero h1{margin:6px 0;font-size:24px}.shared-reports-hero p{color:#fffc;margin:0;font-size:10px}.shared-reports-hero em{background:#ffffff1a;border:1px solid #ffffff52;border-radius:20px;padding:8px 12px;font-size:9px;font-style:normal}.shared-reports-toolbar{background:#fff;border:1px solid #ccdae5;border-radius:10px;align-items:center;gap:10px;max-width:1360px;margin:0 auto 14px;padding:11px 13px;display:flex}.shared-reports-toolbar button{color:#536e81;background:#fff;border:1px solid #c9d8e4;border-radius:7px;padding:7px 12px}.shared-reports-toolbar button.active{color:#fff;background:#256da1;border-color:#256da1}.shared-reports-toolbar select{border:1px solid #c9d8e4;border-radius:7px;min-width:160px;margin-left:auto;padding:8px}.shared-report-groups{gap:13px;max-width:1360px;margin:auto;display:grid}.shared-person-group{background:#fff;border:1px solid #cfdee9;border-radius:12px;overflow:hidden;box-shadow:0 6px 20px #123f630d}.shared-person-group>header{background:linear-gradient(90deg,#e7f1f8,#f8fbfd);align-items:center;gap:11px;padding:13px 16px;display:flex}.shared-person-group>header i{color:#fff;background:#17618f;border-radius:9px;place-items:center;width:32px;height:32px;font-size:9px;font-style:normal;font-weight:800;display:grid}.shared-person-group>header h2{color:#173f60;margin:0;font-size:15px}.shared-person-group>header span{color:#718594;margin-top:2px;font-size:8px;display:block}.shared-person-group>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;display:grid}.shared-report-item{background:#fbfcfd;border:1px solid #d9e3ea;border-radius:9px;overflow:hidden}.shared-report-item>header{background:#f4f8fb;border-bottom:1px solid #e1e8ed;align-items:center;gap:9px;padding:10px 12px;display:flex}.shared-report-item>header b{color:#174f7d}.shared-report-item>header span{color:#728593;margin-left:auto;font-size:8px}.shared-report-item>header em{color:#16715b;background:#e4f4ed;border-radius:9px;padding:3px 6px;font-size:8px;font-style:normal}.shared-report-scope{color:#8a621c;background:#fff7e8;margin:0;padding:8px 12px;font-size:8px}.shared-report-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.shared-report-fields>div{border-bottom:1px solid #e4eaee;border-right:1px solid #e4eaee;padding:11px 12px}.shared-report-fields label{color:#557082;font-size:8px}.shared-report-fields p{white-space:pre-wrap;color:#263f50;margin:6px 0 0;font-size:10px;line-height:1.65}.shared-reports-state{color:#6f8493;text-align:center;background:#fff;border:1px dashed #b8cbd9;border-radius:11px;padding:60px}.shared-mobile-calendar{background:#fff;border:1px solid #c9d9e5;border-radius:12px;max-width:1360px;margin:0 auto 12px;display:block;overflow:hidden;box-shadow:0 6px 18px #123f630f}.shared-mobile-calendar>header{color:#173f60;background:#e8f2f8;justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.shared-mobile-calendar>header button,.shared-mobile-calendar>footer button{color:#17618f;background:#fff;border:1px solid #bdd1df;border-radius:7px}.shared-mobile-calendar>header button{width:34px;height:30px;font-size:20px}.shared-mobile-weekdays,.shared-mobile-days{grid-template-columns:repeat(7,1fr);display:grid}.shared-mobile-weekdays span{color:#718594;text-align:center;padding:8px 0;font-size:10px}.shared-mobile-days button{color:#28495f;background:#fff;border-top:1px solid #edf1f4;border-bottom:0;border-left:0;border-right:1px solid #edf1f4;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:50px;display:flex;position:relative}.shared-mobile-days button:nth-child(7n){border-right:0}.shared-mobile-days button.muted{color:#a7b2ba;background:#f7f9fa}.shared-mobile-days button.selected{z-index:1;outline-offset:-2px;color:#0b527d;background:#e3f2f8;outline:2px solid #1b78a8}.shared-mobile-days button.today b{color:#fff;background:#17785f;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.shared-mobile-days button em{color:#16715b;font-size:8px;font-style:normal}.shared-mobile-days button span{color:#bbc4ca;font-size:8px}.shared-mobile-calendar>footer{background:#f8fbfd;border-top:1px solid #dce6ec;align-items:center;gap:8px;padding:10px 12px;display:flex}.shared-mobile-calendar>footer span{color:#718594;font-size:9px}.shared-mobile-calendar>footer button{margin-left:auto;padding:6px 9px}.shared-mobile-history-toggle{color:#0b5889;background:#fff;border:1px solid #8fb6d1;border-radius:10px;justify-content:center;align-items:center;width:100%;max-width:1360px;min-height:42px;margin:0 auto 10px;font-weight:700;display:flex}@media (width<=760px){.shared-mobile-history-toggle{color:#0b5889;background:#fff;border:1px solid #8fb6d1;border-radius:10px;justify-content:center;align-items:center;width:calc(100% - 24px);max-width:1360px;min-height:42px;margin:0 auto 10px;font-weight:700;display:flex}.report-calendar-actions{justify-content:flex-start}.report-export-controls{grid-template-columns:1fr}.shared-reports-page{padding:12px}.shared-reports-hero{flex-direction:column;align-items:flex-start}.shared-mobile-calendar{background:#fff;border:1px solid #c9d9e5;border-radius:12px;max-width:1360px;margin:0 auto 12px;display:block;overflow:hidden;box-shadow:0 6px 18px #123f630f}.shared-mobile-calendar>header{color:#173f60;background:#e8f2f8;justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.shared-mobile-calendar>header button,.shared-mobile-calendar>footer button{color:#17618f;background:#fff;border:1px solid #bdd1df;border-radius:7px}.shared-mobile-calendar>header button{width:34px;height:30px;font-size:20px}.shared-mobile-weekdays,.shared-mobile-days{grid-template-columns:repeat(7,1fr);display:grid}.shared-mobile-weekdays span{color:#718594;text-align:center;padding:8px 0;font-size:10px}.shared-mobile-days button{color:#28495f;background:#fff;border-top:1px solid #edf1f4;border-bottom:0;border-left:0;border-right:1px solid #edf1f4;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:50px;display:flex;position:relative}.shared-mobile-days button:nth-child(7n){border-right:0}.shared-mobile-days button.muted{color:#a7b2ba;background:#f7f9fa}.shared-mobile-days button.selected{z-index:1;outline-offset:-2px;color:#0b527d;background:#e3f2f8;outline:2px solid #1b78a8}.shared-mobile-days button.today b{color:#fff;background:#17785f;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.shared-mobile-days button em{color:#16715b;font-size:8px;font-style:normal}.shared-mobile-days button span{color:#bbc4ca;font-size:8px}.shared-mobile-calendar>footer{background:#f8fbfd;border-top:1px solid #dce6ec;align-items:center;gap:8px;padding:10px 12px;display:flex}.shared-mobile-calendar>footer span{color:#718594;font-size:9px}.shared-mobile-calendar>footer button{margin-left:auto;padding:6px 9px}.shared-reports-toolbar{flex-wrap:wrap;align-items:stretch}.shared-reports-toolbar select{width:100%;margin-left:0}.shared-person-group>div,.shared-report-fields{grid-template-columns:1fr}.shared-report-item>header{flex-wrap:wrap;align-items:flex-start}.shared-report-item>header span{width:100%;margin-left:0}}.report-today-view{background:#f4f8fc;padding:14px}.report-today-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.report-today-summary span{color:#617889;background:#fff;border:1px solid #d5e2ec;border-radius:8px;padding:10px 12px;font-size:9px}.report-today-summary b{color:#174f7d;margin-top:3px;font-size:16px;display:block}.report-today-list{gap:12px;display:grid}.report-today-list>article{background:#fff;border:1px solid #d5e1ec;border-radius:12px;overflow:hidden}.report-today-list>article>header{background:#edf5fb;border-bottom:1px solid #dce7f1;align-items:center;gap:10px;padding:12px 14px;display:flex}.report-today-list>article>header i{color:#fff;background:#17618f;border-radius:9px;place-items:center;width:32px;height:32px;font-size:9px;font-style:normal;font-weight:800;display:grid}.report-today-list>article>header div{gap:2px;display:grid}.report-today-list>article>header strong{color:#173f60;font-size:12px}.report-today-list>article>header span{color:#718594;font-size:8px}.report-today-list>article>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;display:grid}.report-today-list section{background:#fbfcfd;border:1px solid #d9e3ea;border-radius:9px;overflow:hidden}.report-today-list section.daily{border-top:3px solid #3f72bd}.report-today-list section.weekly{border-top:3px solid #168a70}.report-today-list section.monthly{border-top:3px solid #8059b3}.report-today-list section>header{background:#f4f8fb;border-bottom:1px solid #e1e8ed;justify-content:space-between;gap:8px;padding:9px 10px;display:flex}.report-today-list section>header strong{color:#173f60}.report-today-list section>header time{color:#728593;font-size:8px}.report-today-list section pre{white-space:pre-wrap;color:#263f50;max-height:260px;font:inherit;margin:0;padding:11px;line-height:1.65;overflow:auto}.report-today-list section>button{color:#175d8a;background:#fff;border:1px solid #bfd1df;border-radius:6px;width:calc(100% - 20px);margin:0 10px 10px;padding:7px;font-weight:700}.report-today-empty{color:#6f8493;text-align:center;background:#fff;border:1px dashed #b8cbd9;border-radius:10px;padding:60px}.report-more-button{font-weight:700;color:#14568a!important;background:#eaf4ff!important;border-color:#9fc2dc!important}@media (width<=900px){.report-today-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.report-today-list>article>div{grid-template-columns:1fr}}.plan-end-editor{flex-wrap:wrap;align-items:end;gap:7px;display:flex}.plan-end-editor label{color:#6f8190;gap:3px;font-size:8px;display:grid}.plan-end-editor input{color:#23445c;background:#fff;border:1px solid #b9cbd8;border-radius:6px;min-height:30px;padding:5px 7px;font-size:9px}.project-gantt-bar{justify-content:flex-start;justify-self:stretch;width:calc(100% - 4px);min-width:0;overflow:hidden}.project-gantt-bar span{text-overflow:ellipsis;min-width:0;display:block;overflow:hidden}.project-gantt-bar.log{justify-content:center;justify-self:start;width:max(56px,100% - 4px);min-width:56px}.procedure-step-selector{background:#f4f8fb;border:1px solid #cfdee8;border-radius:10px;gap:8px;margin:15px 0;padding:12px 14px;display:grid}.procedure-step-selector>span{color:#536f83;font-size:9px;font-weight:700}.procedure-step-selector>div{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;display:grid}.procedure-step-selector button{color:#34536a;text-align:left;background:#fff;border:1px solid #cbd9e3;border-radius:8px;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"number title""number status";align-items:center;gap:2px 7px;min-width:0;padding:8px 9px;display:grid}.procedure-step-selector button:hover,.procedure-step-selector button.active{background:#e8f4fb;border-color:#2279aa;box-shadow:0 0 0 2px #2279aa1a}.procedure-step-selector button i{color:#175d87;background:#dceaf3;border-radius:50%;grid-area:number;place-items:center;width:23px;height:23px;font-size:9px;font-style:normal;font-weight:800;display:grid}.procedure-step-selector button.active i{color:#fff;background:#17658f}.procedure-step-selector button b{text-overflow:ellipsis;white-space:nowrap;grid-area:title;font-size:9px;overflow:hidden}.procedure-step-selector button em{color:#748795;grid-area:status;font-size:8px;font-style:normal}.progress-summary-cell>section+section{border-top:1px dashed #cad8e2;margin-top:8px;padding-top:8px}.progress-summary-cell section>strong{color:#174f78;justify-content:space-between;align-items:center;gap:6px;font-size:9px;display:flex}.progress-summary-cell .coordination-edit-link{color:#174f78;font:inherit;text-align:left;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-size:9px;font-weight:700;text-decoration:underline;display:inline-block}.progress-summary-cell .coordination-edit-link:hover,.progress-summary-cell .coordination-edit-link:focus-visible{color:#246fbd}.progress-summary-cell section>strong em{color:#258269;font-size:8px;font-style:normal;font-weight:700}.procedure-progress-summary ul{gap:5px;margin:6px 0;padding:0;list-style:none;display:grid}.procedure-progress-summary li{font-size:var(--ui-font-md);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:5px;line-height:1.5;display:grid}.procedure-progress-summary li>i{color:#38566b;width:auto;height:auto;font-size:inherit;font-style:normal;font-weight:700;line-height:inherit;background:0 0;border:0;border-radius:0;display:inline}.procedure-progress-summary li span,.procedure-progress-summary li b{font-size:inherit;line-height:inherit;display:inline}.procedure-progress-summary li b{color:#38566b}.progress-summary-cell p{font-size:var(--ui-font-md);-webkit-line-clamp:unset;margin:5px 0 0;line-height:1.5;display:block;overflow:visible}@media (width<=1200px){.procedure-step-selector>div{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=820px){.procedure-step-selector>div{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-gantt-unscheduled{z-index:2;color:#55758c;cursor:pointer;background:#f4f8fb;border:1px dashed #b5c9d8;border-radius:5px;grid-row:1;place-self:center start;margin-left:4px;padding:4px 8px;font-size:9px}.board-legends .auto-sync-filter.active{color:#275c4a;background:#f0f8f3;border-color:#aacdbd}.board-legends .auto-sync-filter i{background:linear-gradient(90deg,#e4ad32 50%,#168a70 50%)}.project-gantt-row.auto-node-row{min-height:76px}.project-gantt-row.auto-node-row .project-gantt-track,.project-gantt-row.auto-node-row .project-gantt-track>i{height:76px}.project-gantt-row.auto-node-row .project-gantt-bar:not(.paired-actual){align-self:start;height:19px;margin-top:5px}.project-gantt-row.auto-node-row .project-gantt-unscheduled{align-self:start;margin-top:5px}.project-gantt-row.auto-node-row .project-gantt-task .node-auto-date{color:#4f6778;margin-top:2px;font-size:8px;line-height:1.2}.project-gantt-auto-bar{z-index:3;border-radius:4px;grid-row:1;align-self:start;height:17px;margin:0 2px;position:relative;box-shadow:0 1px 3px #142f4629}.project-gantt-auto-bar.construction{margin-top:29px}.project-gantt-auto-bar.material{margin-top:53px}.project-gantt-auto-bar.ongoing{background:#e4ad32}.project-gantt-auto-bar.done{background:#168a70}.project-gantt-auto-bar span{color:#19394b;white-space:nowrap;text-shadow:0 1px #ffffffd9;font-size:9px;font-weight:700;position:absolute;top:1px;left:5px}.project-gantt-auto-bar.done span{color:#fff;text-shadow:0 1px #00000047}@media (width<=760px){.project-gantt-table{min-width:calc(240px + var(--gantt-width,1410px))!important}}.node-control-grid>button .node-status-pair{grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;width:100%;min-width:0;display:grid}.node-control-grid>button .node-status-pair>span{text-align:center;flex-direction:column;align-items:center;min-width:0;display:flex}.node-control-grid>button .node-status-pair .node-status-badge{text-overflow:ellipsis;white-space:nowrap;border-radius:8px;max-width:100%;padding:2px 4px;font-size:7px;font-style:normal;font-weight:700;line-height:1.3;display:block;overflow:hidden}.node-control-grid>button .node-status-pair small{color:#7b8d99;text-align:center;width:100%;margin-top:2px;font-size:7px;line-height:1.1;display:block}.node-control-grid>button .node-status-pair .material-done,.node-control-grid>button .node-status-pair .construction-purchased{color:#147255;background:#dff3e8}.node-control-grid>button .node-status-pair .material-ongoing,.node-control-grid>button .node-status-pair .construction-ongoing{color:#a86c0a;background:#fff0d5}.node-control-grid>button .node-status-pair .material-pending,.node-control-grid>button .node-status-pair .construction-overdue{color:#b53d36;background:#fce2df}.node-control-grid>button .node-status-pair .material-disabled,.node-control-grid>button .node-status-pair .construction-disabled{color:#758087;background:#e9ecee}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.department-action-row{justify-content:flex-end;display:flex}.department-create-dialog{width:min(900px,100vw - 32px)}.department-create-dialog .department-form{border:0;border-radius:0;padding:18px 20px;display:block}.department-create-dialog .department-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:13px;display:grid}.department-create-dialog .department-form-row.full{grid-template-columns:1fr}.department-create-dialog .department-form label{color:#4e687a;gap:6px;font-size:10px;display:grid}.department-create-dialog .department-form input,.department-create-dialog .department-form select,.department-create-dialog .department-form textarea{background:#fbfdff;border:1px solid #c9d8e3;border-radius:7px;width:100%;padding:10px 11px}.department-create-dialog .department-form textarea{resize:vertical;min-height:70px}.department-create-dialog .department-form-row.full:nth-of-type(4) textarea{min-height:88px}.department-attachment-row{color:#4e687a;grid-template-columns:52px auto 1fr;align-items:center;gap:10px;margin-bottom:13px;font-size:10px;display:grid}.department-upload{cursor:pointer;background:#f1f7fb;border:1px solid #9dbbd0;border-radius:7px;align-items:center;gap:6px;width:max-content;padding:8px 12px;color:#175d8a!important;display:flex!important}.department-upload input{clip:rect(0, 0, 0, 0);overflow:hidden;width:1px!important;height:1px!important;position:absolute!important}.department-upload b{font-size:15px}.department-upload strong{font-size:10px}.department-file-names{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.department-file-names span{color:#3c5668;text-overflow:ellipsis;white-space:nowrap;background:#eef3f6;border-radius:5px;max-width:240px;padding:5px 8px;overflow:hidden}.department-file-names em{color:#8999a4;font-style:normal}.department-create-dialog .department-form footer{background:#f8fafc;border-top:1px solid #dfe7ed;justify-content:flex-end;gap:8px;margin:2px -20px -18px;padding:14px 20px;display:flex}.department-completion-dialog{width:min(620px,100vw - 32px)}.department-completion-dialog form{gap:13px;padding:18px 20px;display:grid}.department-completion-dialog form label{color:#4e687a;gap:6px;font-size:10px;display:grid}.department-completion-dialog form input,.department-completion-dialog form textarea{background:#fbfdff;border:1px solid #c9d8e3;border-radius:7px;width:100%;padding:10px 11px}.department-completion-dialog form textarea{resize:vertical;min-height:86px}.department-completion-dialog form footer{background:#f8fafc;border-top:1px solid #dfe7ed;justify-content:flex-end;gap:8px;margin:2px -20px -18px;padding:14px 20px;display:flex}.department-table td:last-child .department-approve-button{color:#fff;background:#176aa1;border-color:#176aa1;font-weight:700}.department-table td:last-child .department-approve-button.disabled,.department-table td:last-child .department-approve-button:disabled{color:#98a5ae;cursor:not-allowed;background:#e8edf0;border-color:#d2dbe1}@media (width<=760px){.department-create-dialog .department-form-row,.department-attachment-row{grid-template-columns:1fr}.department-file-names span{max-width:100%}}.portfolio-metrics-integrated{grid-template-columns:repeat(8,minmax(0,1fr))}.portfolio-metrics .clickable-metric.archived{background:#f5f3fa}.portfolio-metrics .clickable-metric.archived strong{color:#67518e}.archived-project-dialog>header{background:#f5f3fa}.project-archive-actions{align-items:center;gap:9px;display:flex}.project-import-button{color:#174f7d;cursor:pointer;background:#fff;border:1px solid #91abc0;border-radius:7px;justify-content:center;align-items:center;padding:9px 13px;font-size:10px;font-weight:800;display:inline-flex}.project-import-button:hover{background:#f0f7fc}.project-import-button input{display:none}.project-archive-tabs{align-items:center;gap:6px;display:flex}.project-archive-tabs button{color:#536c7f;background:#fff;border:1px solid #c8d6e1;border-radius:7px;padding:7px 12px;font-size:10px;font-weight:800}.project-archive-tabs button.active{color:#fff;background:#174f7d;border-color:#326b9a}.project-admin-list>article.archived{background:#fcfbfe}.project-admin-list>article.archived .project-admin-title>i{color:#67518e;background:#eee9f5}.project-admin-list footer .project-archive-button{color:#8b6518;background:#fffaf0;border-color:#cfb374}.project-admin-list footer .project-restore-button{color:#18755b;background:#f3fbf8;border-color:#78b49e}.project-archive-empty{color:#708492;text-align:center;padding:32px 18px;font-size:11px}@media (width<=1500px){.portfolio-metrics-integrated{grid-template-columns:repeat(4,1fr)}}@media (width<=760px){.portfolio-metrics-integrated{grid-template-columns:1fr 1fr}.project-archive-actions{flex-direction:column;align-items:stretch}.project-admin-list>header{flex-direction:column;align-items:flex-start}.project-archive-tabs{width:100%}.project-archive-tabs button{flex:1}}.company-album-page{color:#edf4f7;background:radial-gradient(circle at 50% 4%,#38546a 0,#182b3b 36%,#08141e 100%);min-height:100vh;font-family:Microsoft YaHei,PingFang SC,sans-serif}.album-loading{color:#fff;text-align:center;background:#0b1a25;place-content:center;gap:16px;min-height:100vh;display:grid}.album-loading button{color:#fff;background:#d31f2f;border:0;border-radius:8px;padding:9px 16px}.album-hero{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#07121be0;border-bottom:1px solid #ffffff1f;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:16px clamp(18px,4vw,64px);display:grid;position:relative}.album-home{color:#fff;align-items:center;gap:10px;text-decoration:none;display:flex}.album-home>i{background:linear-gradient(145deg,#cf1628,#8d0b18);border-radius:10px;place-items:center;width:39px;height:39px;font-style:normal;font-weight:800;display:grid;box-shadow:0 7px 18px #d31f2f47}.album-home span,.album-home strong,.album-home small{display:block}.album-home strong{font-size:14px}.album-home small{color:#9db1c0;margin-top:2px;font-size:10px}.album-hero>div{text-align:center}.album-hero h1{letter-spacing:.08em;margin:0;font-size:clamp(18px,2.1vw,30px);font-weight:700}.album-hero p{color:#aebfca;letter-spacing:.12em;margin:5px 0 0;font-size:11px}.album-hero nav{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.album-hero nav button{color:#eaf2f6;cursor:pointer;background:#ffffff12;border:1px solid #ffffff38;border-radius:7px;padding:8px 11px;font-size:10px}.album-hero nav button:hover,.album-hero nav button.active{background:#b51a28;border-color:#e43745}.album-hero nav button.admin{color:#ffe7a9;border-color:#d6ae50}.album-viewer-shell{padding:18px clamp(8px,3vw,46px) 32px}.album-audio-notice{color:#ffe7a9;background:#403111cc;border:1px solid #d6ae50;border-radius:18px;margin:0 auto 10px;padding:8px 14px;font-size:11px;display:block}.album-viewer{grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:12px;max-width:1280px;margin:auto;display:grid}.album-stage{aspect-ratio:4961/3366;perspective:2200px;isolation:isolate;background:#d8d8d5;border-radius:2px;width:100%;max-height:calc(100vh - 235px);margin:auto;position:relative;overflow:hidden;box-shadow:0 30px 60px #0000006b,0 2px 4px #000000b3}.album-stage:fullscreen{background:#111;border-radius:0;width:100vw;height:100vh;max-height:none}.album-sheet{object-fit:contain;backface-visibility:hidden;width:100%;height:100%;transform-style:preserve-3d;background:#eee;position:absolute;inset:0}.album-under{z-index:1}.album-current{z-index:2}.album-spine{z-index:4;pointer-events:none;background:linear-gradient(90deg,#0000,#0000002e 42%,#ffffff52 50%,#00000021 58%,#0000);width:2.4%;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.effect-paper .album-current.turning-next{transform-origin:0;animation:.78s cubic-bezier(.55,.06,.2,1) forwards album-paper-next}.effect-paper .album-current.turning-prev{transform-origin:100%;animation:.78s cubic-bezier(.55,.06,.2,1) forwards album-paper-prev}.effect-slide .album-current.turning-next{animation:.52s forwards album-slide-next}.effect-slide .album-current.turning-prev{animation:.52s forwards album-slide-prev}.effect-fade .album-current.turning-next,.effect-fade .album-current.turning-prev{animation:.52s forwards album-fade}@keyframes album-paper-next{0%{filter:brightness();transform:rotateY(0)}45%{filter:brightness(.82);box-shadow:-24px 8px 32px #0000006b}to{filter:brightness(.65);transform:rotateY(-180deg)}}@keyframes album-paper-prev{0%{filter:brightness();transform:rotateY(0)}45%{filter:brightness(.82);box-shadow:24px 8px 32px #0000006b}to{filter:brightness(.65);transform:rotateY(180deg)}}@keyframes album-slide-next{to{opacity:.35;transform:translate(-105%)}}@keyframes album-slide-prev{to{opacity:.35;transform:translate(105%)}}@keyframes album-fade{to{opacity:0;transform:scale(.985)}}.album-turn{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:12px;place-items:center;width:44px;height:68px;font:300 38px/1 Arial;display:grid}.album-turn:hover:not(:disabled){background:#b91b29;border-color:#d83241}.album-turn:disabled{opacity:.2;cursor:not-allowed}.album-empty{color:#485967;place-items:center;height:100%;display:grid}.album-controls{color:#aebec9;grid-template-columns:minmax(120px,1fr) auto minmax(180px,2fr) minmax(190px,1fr);align-items:center;gap:14px;max-width:1170px;margin:13px auto 0;font-size:10px;display:grid}.album-controls>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.album-controls b{color:#fff;font-size:16px}.album-controls input{accent-color:#cf2332;width:100%}.album-controls small{text-align:right}.album-thumbnails{gap:8px;max-width:1170px;margin:15px auto 0;padding:5px 2px 10px;display:flex;overflow-x:auto}.album-thumbnails button{color:#bdc9d1;cursor:pointer;background:#ffffff0f;border:1px solid #0000;border-radius:7px;flex:0 0 118px;padding:4px}.album-thumbnails button.active{background:#d31f2f2e;border-color:#d62b39}.album-thumbnails img{aspect-ratio:4961/3366;object-fit:cover;border-radius:4px;width:100%;display:block}.album-thumbnails span{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:8px;display:block;overflow:hidden}.album-admin-panel{color:#263d4d;background:#f6f8fa;border:1px solid #d5dee4;border-radius:14px;max-width:1220px;margin:0 auto 40px;padding:20px;box-shadow:0 20px 50px #00000047}.album-admin-panel>header{border-bottom:1px solid #dbe2e7;justify-content:space-between;align-items:center;gap:20px;padding-bottom:15px;display:flex}.album-admin-panel>header span{color:#b51a28;font-size:9px;font-weight:700}.album-admin-panel h2{margin:3px 0;font-size:20px}.album-admin-panel p{color:#6e7e89;margin:0;font-size:10px}.album-admin-panel button,.album-upload-row>label{color:#24506c;cursor:pointer;background:#fff;border:1px solid #bbcbd6;border-radius:7px;padding:8px 13px;font-size:10px}.album-admin-panel>header>button,.album-admin-panel button.primary{color:#fff;background:#17648f;border-color:#17648f}.album-admin-message{color:#176a51;background:#e8f5ef;border-radius:7px;margin-top:12px;padding:9px 12px;font-size:11px}.album-settings-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.album-settings-grid>label{color:#5c7281;gap:5px;font-size:9px;display:grid}.album-settings-grid input,.album-settings-grid select{color:#253d4e;background:#fff;border:1px solid #cbd7df;border-radius:6px;min-width:0;padding:9px}.album-settings-grid label.album-check{color:#364f60;background:#fff;border:1px solid #d7e0e6;border-radius:6px;align-self:end;align-items:center;min-height:36px;padding:0 9px;display:flex}.album-check input{width:auto}.album-upload-row{flex-wrap:wrap;align-items:center;gap:9px;margin:16px 0;display:flex}.album-upload-row input[type=file]{display:none}.album-upload-row>span{color:#617481;align-items:center;gap:8px;margin-left:auto;font-size:10px;display:flex}.album-upload-row>span button{color:#b42b34;padding:4px 8px}.album-page-manager{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.album-page-manager article{background:#fff;border:1px solid #d8e1e7;border-radius:8px;grid-template-columns:108px minmax(0,1fr);gap:9px;padding:8px;display:grid}.album-page-manager article>img{aspect-ratio:4961/3366;object-fit:cover;border-radius:5px;width:108px}.album-page-manager article>div{align-content:start;gap:8px;display:grid}.album-page-manager article>div>input{border:1px solid #cdd8df;border-radius:5px;min-width:0;padding:7px}.album-page-manager article>div>label{font-size:9px}.album-page-manager article>nav{grid-column:1/-1;gap:5px;display:flex}.album-page-manager article>nav button{flex:1;padding:5px}.album-page-manager article>nav button.danger{color:#b12832}.album-admin-panel>footer{border-top:1px solid #dbe2e7;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:15px;display:flex}@media (width<=900px){.album-hero{grid-template-columns:1fr auto}.album-hero>div{text-align:left;grid-area:2/1/auto/-1}.album-hero nav{max-width:55vw}.album-settings-grid,.album-page-manager{grid-template-columns:repeat(2,minmax(0,1fr))}.album-controls{grid-template-columns:1fr auto}.album-controls input{grid-column:1/-1}.album-controls small{display:none}}@media (width<=620px){.album-hero{gap:10px;padding:10px 12px}.album-home>i{width:34px;height:34px}.album-home strong{font-size:12px}.album-hero nav{max-width:none}.album-hero nav button{padding:7px;font-size:0}.album-hero nav button:first-letter{font-size:15px}.album-hero h1{font-size:17px}.album-hero p{font-size:8px}.album-viewer-shell{padding:12px 0 24px}.album-audio-notice{max-width:90%;font-size:9px}.album-viewer{grid-template-columns:30px minmax(0,1fr) 30px;gap:2px}.album-turn{z-index:8;border-radius:8px;width:30px;height:54px;font-size:30px;position:relative}.album-stage{border-radius:0;max-height:70vh}.album-controls{padding:0 12px}.album-thumbnails{padding-left:10px}.album-thumbnails button{flex-basis:88px}.album-admin-panel{margin:0 8px 24px;padding:14px}.album-admin-panel>header{flex-direction:column;align-items:flex-start}.album-settings-grid,.album-page-manager{grid-template-columns:1fr}.album-page-manager article{grid-template-columns:92px minmax(0,1fr)}.album-page-manager article>img{width:92px}.album-upload-row>span{width:100%;margin-left:0}.album-admin-panel>footer{z-index:10;background:#f6f8fa;padding:10px;position:sticky;bottom:0}}@media (prefers-reduced-motion:reduce){.album-current.turning-next,.album-current.turning-prev{animation-duration:.01ms!important}}.company-album-page{min-height:100dvh}.company-album-page .album-hero{z-index:20;pointer-events:none;background:linear-gradient(#051019e0,#0000);border:0;grid-template-columns:auto 1fr auto;padding:9px clamp(12px,2vw,32px);position:absolute;top:0;left:0;right:0}.company-album-page .album-hero>div{display:none}.company-album-page .album-hero>*{pointer-events:auto}.company-album-page .album-viewer-shell{align-items:center;height:100dvh;min-height:100dvh;padding:0;display:grid;position:relative;overflow:hidden}.company-album-page .album-music-toggle{z-index:16;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#071926b8;border:1px solid #ffffff57;border-radius:18px;padding:8px 12px;font-size:11px;position:absolute;top:60px;right:clamp(12px,2vw,32px)}.company-album-page .album-music-toggle:hover{background:#223642e6;border-color:#e9b84f}.company-album-page .album-viewer{justify-content:center;align-items:center;gap:0;width:100%;max-width:none;height:100%;margin:0;display:flex}.company-album-page .album-stage{aspect-ratio:4961/3366;flex:none;width:min(100vw,147.39dvh);height:min(100dvh,67.85vw);max-height:none;margin:0;overflow:hidden;box-shadow:0 20px 60px #00000073}.company-album-page.album-one-page .album-stage,.company-album-page.album-cover-only .album-stage{aspect-ratio:2480.5/3366;width:min(100vw,73.7dvh);height:min(100dvh,135.7vw)}.company-album-page.album-cover-only .album-right{width:100%;left:0;right:0}.company-album-page.album-cover-only .album-spine{display:none}.company-album-page .album-half{background:#fff;position:absolute;top:0;bottom:0;overflow:hidden}.company-album-page.album-two-page .album-half{width:50%}.company-album-page.album-one-page .album-half{width:100%}.company-album-page.album-two-page.album-cover-only .album-right{width:100%;left:0;right:0}.company-album-page.album-two-page.album-cover-only .album-left{display:none}.company-album-page .album-left{left:0}.company-album-page .album-right{right:0}.company-album-page .album-half img{object-fit:fill;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:200%;max-width:none;height:100%;position:absolute;top:0}.company-album-page .half-left img{left:0}.company-album-page .half-right img{right:0}.company-album-page .album-blank{background:0 0}.company-album-page .album-flip-leaf{z-index:5;transform-style:preserve-3d;will-change:transform;position:absolute;top:0;bottom:0}.company-album-page.album-two-page .album-flip-leaf{width:50%}.company-album-page.album-one-page .album-flip-leaf{width:100%}.company-album-page .album-flip-leaf.turning-next{transform-origin:0;right:0}.company-album-page .album-flip-leaf.turning-prev{transform-origin:100%;left:0}.company-album-page .album-flip-leaf .album-half{backface-visibility:hidden;width:100%;inset:0}.company-album-page .album-flip-leaf .album-flip-back{transform:rotateY(180deg)}.company-album-page.effect-paper .album-flip-leaf.turning-next{animation:.85s ease-in-out forwards album-leaf-next}.company-album-page.effect-paper .album-flip-leaf.turning-prev{animation:.85s ease-in-out forwards album-leaf-prev}.company-album-page.effect-slide .album-flip-leaf.turning-next{animation:.52s forwards album-slide-next}.company-album-page.effect-slide .album-flip-leaf.turning-prev{animation:.52s forwards album-slide-prev}.company-album-page.effect-fade .album-flip-leaf{animation:.52s forwards album-fade}@keyframes album-leaf-next{0%{transform:rotateY(0)}to{transform:rotateY(-180deg)}}@keyframes album-leaf-prev{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}.company-album-page .album-spine{z-index:7;background:linear-gradient(90deg,#0000,#00000029,#ffffff40,#0000);width:1.5%}.company-album-page .album-turn{z-index:10;background:#07192694;border-radius:12px;width:clamp(38px,4vw,58px);height:clamp(60px,8vh,88px);position:absolute;top:50%;transform:translateY(-50%)}.company-album-page .album-turn.prev{left:clamp(4px,1vw,16px)}.company-album-page .album-turn.next{right:clamp(4px,1vw,16px)}.company-album-page .album-turn{transition:opacity .3s,background .2s}.company-album-page .album-turn.idle-hidden{opacity:0}.company-album-page .album-controls{z-index:11;color:#fff;background:linear-gradient(#05101926,#051019d9);grid-template-columns:minmax(80px,1fr) auto minmax(100px,1.5fr) auto;justify-content:center;align-items:center;gap:14px;max-width:none;margin:0;padding:12px clamp(14px,3vw,45px);display:flex;position:absolute;bottom:0;left:0;right:0}.company-album-page .album-controls input{width:min(48vw,800px)}.company-album-page .album-controls b{white-space:nowrap;font-size:12px}.company-album-page .album-controls small{white-space:nowrap}.company-album-page .album-audio-notice{z-index:15;white-space:nowrap;position:absolute;top:76px;left:50%;transform:translate(-50%)}.company-album-page .album-admin-panel{z-index:2;margin-top:24px;position:relative}.company-album-page .album-viewer-shell:fullscreen{background:#08141e;width:100vw;height:100dvh}@media (width<=899px),(orientation:portrait){.company-album-page .album-hero{gap:8px;padding:8px 12px}.company-album-page .album-hero>div{display:none}.company-album-page .album-hero nav{gap:4px}.company-album-page .album-hero nav button{padding:6px 8px;font-size:10px}.company-album-page .album-controls{grid-template-columns:1fr auto;padding:10px 14px}.company-album-page .album-controls input,.company-album-page .album-controls small{display:none}.company-album-page .album-turn{width:34px;height:58px}.company-album-page .album-audio-notice{white-space:normal;max-width:95vw;top:58px}.company-album-page .album-music-toggle{padding:7px 10px;font-size:10px;top:56px;right:10px}.company-album-page .album-audio-notice{top:96px}}.company-album-page .album-hero{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.company-album-page .album-controls{background:0 0}.company-album-page .album-stage{width:auto;height:min(100dvh - 104px,67.85vw)}.company-album-page .album-stage:before{content:"";z-index:6;pointer-events:none;position:absolute;inset:0;box-shadow:inset 13px 0 15px -12px #0d161f73,inset -13px 0 15px -12px #0d161f73}.company-album-page.album-two-page .album-spine{background:linear-gradient(90deg,#0000,#10192221 24%,#10192245 43%,#fff3 50%,#10192236 57%,#1019221c 76%,#0000);width:min(5%,70px)}.company-album-page.album-one-page .album-stage,.company-album-page.album-cover-only .album-stage{width:auto;height:min(100dvh - 104px,135.7vw)}.company-album-page[class*=album-boundary-] .album-stage{box-shadow:none;background:0 0}.company-album-page[class*=album-boundary-] .album-flip-leaf{box-shadow:0 10px 22px #0611193d}.company-album-page[class*=album-boundary-] .album-spine{display:none}.company-album-page.album-boundary-cover-open .album-flip-leaf.turning-next{animation:1.15s ease-in-out forwards album-cover-open}.company-album-page.album-boundary-cover-close .album-flip-leaf.turning-prev{animation:1.15s ease-in-out forwards album-cover-close}.company-album-page.album-boundary-back-close .album-flip-leaf.turning-next{animation:1.15s ease-in-out forwards album-back-close}.company-album-page.album-boundary-back-open .album-flip-leaf.turning-prev{animation:1.15s ease-in-out forwards album-back-open}.company-album-page.album-boundary-cover-open .album-right,.company-album-page.album-boundary-back-open .album-left,.company-album-page.album-boundary-back-open .album-right{animation:1.15s both album-boundary-reveal}.company-album-page.album-boundary-cover-close .album-right,.company-album-page.album-boundary-back-close .album-left{animation:1.15s both album-boundary-conceal}@keyframes album-cover-open{0%{transform:translate(-50%)rotateY(0)}32%{transform:translate(0)rotateY(0)}to{transform:translate(0)rotateY(-180deg)}}@keyframes album-cover-close{0%{transform:rotateY(0)}68%{transform:rotateY(180deg)}to{transform:translate(-50%)rotateY(180deg)}}@keyframes album-back-close{0%{transform:rotateY(0)}68%{transform:rotateY(-180deg)}to{transform:translate(50%)rotateY(-180deg)}}@keyframes album-back-open{0%{transform:translate(50%)rotateY(0)}32%{transform:rotateY(0)}to{transform:rotateY(180deg)}}@keyframes album-boundary-reveal{0%,27%{opacity:0}33%,to{opacity:1}}@keyframes album-boundary-conceal{0%,68%{opacity:1}78%,to{opacity:0}}.company-album-page.album-one-page.effect-paper .album-flip-leaf.turning-next{animation:1s ease-in-out forwards album-mobile-curl-next}.company-album-page.album-one-page.effect-paper .album-flip-leaf.turning-prev{animation:1s ease-in-out forwards album-mobile-curl-prev}.company-album-page.album-one-page.effect-paper .album-flip-leaf:after{content:"";pointer-events:none;backface-visibility:hidden;background:linear-gradient(90deg,#0000 55%,#0003 87%,#fff3);animation:1s ease-in-out forwards album-curl-shade;position:absolute;inset:0}@keyframes album-mobile-curl-next{0%{transform:rotateY(0)skewY(0)scaleX(1)}42%{transform:rotateY(-68deg)skewY(-1deg)scaleX(.96);box-shadow:-16px 9px 22px #00000047}58%{transform:rotateY(-112deg)skewY(1deg)scaleX(.96);box-shadow:-24px 9px 26px #00000040}to{transform:rotateY(-180deg)skewY(0)scaleX(1)}}@keyframes album-mobile-curl-prev{0%{transform:rotateY(0)skewY(0)scaleX(1)}42%{transform:rotateY(68deg)skewY(1deg)scaleX(.96);box-shadow:16px 9px 22px #00000047}58%{transform:rotateY(112deg)skewY(-1deg)scaleX(.96);box-shadow:24px 9px 26px #00000040}to{transform:rotateY(180deg)skewY(0)scaleX(1)}}@keyframes album-curl-shade{0%,to{opacity:0}50%{opacity:1}}.company-album-page.effect-paper .album-stage,.company-album-page.effect-paper.album-cover-only .album-stage{aspect-ratio:4961/3366;clip-path:inset(0 -100vw);width:min(100vw,147.4dvh - 153.296px);height:min(100dvh - 104px,67.85vw);box-shadow:none;isolation:auto;background:0 0;overflow:visible}.company-album-page.effect-paper .album-stage:before{display:none}.company-album-page .album-paper-book{z-index:2;width:100%;height:100%;margin:auto;position:relative}.company-album-page .album-paper-book .stf__parent{margin:auto}.company-album-page .album-paper-page{background:#fff;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:inset 12px 0 18px -17px #25313a,inset -12px 0 18px -17px #25313a}.company-album-page .album-paper-page img{object-fit:fill;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:200%;max-width:none;height:100%;position:absolute;top:0}.company-album-page .album-paper-page.half-left img{left:0}.company-album-page .album-paper-page.half-right img{right:0}.company-album-page.album-two-page .album-paper-page:not([data-density=hard]):after{content:"";z-index:2;pointer-events:none;width:8%;position:absolute;top:0;bottom:0}.company-album-page.album-two-page .album-paper-page.half-left:not([data-density=hard]):after{background:linear-gradient(90deg,#0000,#111c2617 43%,#111c2645);right:0}.company-album-page.album-two-page .album-paper-page.half-right:not([data-density=hard]):after{background:linear-gradient(90deg,#111c264f,#111c261a 57%,#0000);left:0}.company-album-page.album-one-page .album-paper-page:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#0a182321,#ffffff17 6%,#0000 22% 74%,#121f2814 91%,#0a162030);position:absolute;inset:0}.company-album-page.album-one-page .album-paper-page{box-shadow:0 9px 24px #00000057,inset 0 0 20px #ffffff29}.company-album-page.effect-paper .album-paper-book .stf__wrapper{filter:drop-shadow(0 12px 21px #0000005c)}.company-album-page.effect-paper.album-one-page:not(.album-paper-turning) .album-stage:after{content:"";z-index:4;pointer-events:none;background:linear-gradient(90deg,#0a18231f,#0000 8% 91%,#0a182329);position:absolute;inset:0}.company-album-page.effect-paper .album-paper-book .stf__wrapper{transition:transform .82s ease-in-out}.company-album-page.effect-paper.album-paper-front .stf__wrapper{animation:.55s ease-out both album-cover-reveal;transform:translate(-25%)}@keyframes album-cover-reveal{0%{opacity:0}to{opacity:1}}.company-album-page.effect-paper.album-paper-back .stf__wrapper{transform:translate(25%)}.company-album-page.effect-paper.album-one-page .album-paper-book{opacity:0;transition:opacity .7s ease-out}.company-album-page.effect-paper.album-one-page.album-paper-ready .album-paper-book{opacity:1}.company-album-page.effect-paper.album-one-page .album-paper-book{pointer-events:none}.company-album-page.effect-paper.album-one-page .album-mobile-reverse-under{z-index:3;inset:0}.company-album-page.effect-paper.album-one-page .album-mobile-reverse-leaf{z-index:5;filter:drop-shadow(10px 4px 11px #09141d47)}@media (prefers-reduced-motion:reduce){.company-album-page.effect-paper.album-one-page .album-paper-book{transition-duration:.01ms}}@media (width<=899px),(orientation:portrait){.company-album-page.effect-paper .album-stage,.company-album-page.effect-paper.album-cover-only .album-stage{aspect-ratio:2480.5/3366;width:min(100vw,73.7dvh - 76.648px);height:min(100dvh - 104px,135.7vw)}}.company-album-page .album-turn{appearance:none;margin:0;position:fixed;top:50%;transform:translateY(-50%)}
