:root{--canvas:#f7f9fc;--paper:#fff;--ink:#102039;--muted:#52627a;--line:#d7e0ef;--teal:#2459d3;--teal-pale:#edf2ff;--amber:#94652c;--amber-pale:#fff3dd;--red:#aa483e;--red-pale:#fff0ed;--shadow:0 8px 30px #1020390b;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:14px;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--canvas)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button,a{touch-action:manipulation}a{color:var(--teal)}.app-shell{display:flex;min-height:100vh}.sidebar{width:224px;position:fixed;inset:0 auto 0 0;background:#f0f4fa;border-right:1px solid var(--line);padding:30px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:24px;font-weight:650;letter-spacing:-1px}.brand img{width:39px;height:39px}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:4px;font-weight:600;color:var(--muted)}.workspace-label{font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--muted);margin:42px 0 10px}.sidebar select{background:#f8faff;width:100%;border:1px solid #d7e0ef;border-radius:7px;padding:10px 8px;color:var(--ink);font-size:12px}.sidebar-create{margin:7px 0 26px;text-align:left}.sidebar nav{display:grid;gap:6px}.nav-button{display:flex;align-items:center;gap:10px;background:none;border:0;padding:12px 10px;border-radius:7px;font-weight:550;text-align:left;color:#52627a}.nav-button:hover{background:#e8effc}.nav-button.active{background:#edf2ff;color:#1947ad}.nav-icon{font-size:20px;font-weight:400;line-height:16px;width:20px;text-align:center}.nav-count{margin-left:auto;background:#f0f4fa;border-radius:5px;padding:2px 5px;font-size:11px}.nav-count:empty{display:none}.sidebar-bottom{margin-top:auto;padding-top:34px}.local-indicator{font-size:10px;color:#52627a;display:flex;align-items:center;gap:6px}.local-indicator i{width:6px;height:6px;background:#2459d3;border-radius:50%}.sidebar-bottom p{font-size:13px;color:#52627a;line-height:1.6;margin:18px 0 26px}.version{font-size:9px;letter-spacing:1.5px;color:#64748b}main{margin-left:224px;flex:1;padding:38px 44px 55px;min-width:0;max-width:1600px}.page-header{display:flex;justify-content:space-between;gap:22px;align-items:center;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:#52627a;margin-bottom:10px}h1{font-size:30px;font-weight:600;letter-spacing:-1px;margin:0 0 8px}h2{font-size:18px;font-weight:600;letter-spacing:-.3px;margin:0}h3{font-size:16px;font-weight:600;margin:0}p{line-height:1.55}.page-header p{color:var(--muted);margin:0;font-size:13px;max-width:650px}.header-actions{display:flex;gap:8px;flex-shrink:0}.button{display:inline-flex;justify-content:center;align-items:center;gap:7px;padding:10px 14px;border:1px solid #b8caee;border-radius:7px;background:var(--paper);color:var(--ink);font-size:12px;font-weight:600;text-decoration:none;line-height:1.2}.button:hover{background:#f0f4fa;border-color:#64748b}.button.primary{background:var(--teal);border-color:var(--teal);color:white}.button.primary:hover{background:#1947ad}.button.danger{color:var(--red);border-color:#e8c4be}.button.small{padding:7px 10px;font-size:11px}.button.text-button{background:transparent;border-color:transparent;color:var(--teal);padding:7px 0}.subtle-button{background:none;border:0;color:var(--muted);font-size:11px;padding:7px 0}.subtle-button:hover{color:var(--teal)}.welcome{background:white;border:1px solid var(--line);border-radius:12px;padding:64px 50px;margin-top:35px;position:relative;overflow:hidden;box-shadow:var(--shadow)}.welcome .brand-mark{width:70px;height:70px;margin-bottom:28px}.welcome h2{font-size:30px;font-weight:550;letter-spacing:-1px;max-width:550px;line-height:1.2}.welcome p{font-size:15px;max-width:520px;color:var(--muted);margin:18px 0 28px}.welcome-actions{display:flex;gap:12px}.welcome-note{font-size:11px!important;margin-top:27px!important}.welcome-pattern{position:absolute;right:38px;top:72px;font-size:160px;color:#edf2ff;pointer-events:none;letter-spacing:-30px}.sample-banner{display:flex;align-items:center;gap:10px;margin-bottom:22px;padding:11px 14px;background:#edf2ff;border:1px solid #d7e0ef;border-radius:7px;font-size:12px;color:#52627a}.sample-banner strong{font-weight:650;color:#405069}.sample-banner .button{margin-left:auto}.environment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:15px;margin-bottom:32px}.environment-card{background:white;border:1px solid var(--line);border-radius:10px;padding:20px;box-shadow:var(--shadow)}.card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.tier{font-size:9px;letter-spacing:1px;font-weight:700;color:var(--muted)}.environment-card h3{margin:13px 0 6px;font-size:20px;letter-spacing:-.6px}.environment-card .meta{font-size:11px;color:var(--muted);margin:0}.card-metrics{display:flex;gap:20px;margin:20px 0 17px}.card-metrics strong{font-weight:600;font-size:18px;display:block}.card-metrics span{font-size:10px;color:var(--muted)}.card-actions{border-top:1px solid #edf2ff;padding-top:14px;display:flex;gap:8px;flex-wrap:wrap}.connection{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:5px}.connection:before{content:"";width:5px;height:5px;background:#64748b;border-radius:50%}.connection.connected:before{background:#3a9f70}.connection.error:before{background:#cf7665}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 14px}.section-head p{font-size:12px;color:var(--muted);margin:6px 0 0}.panel{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}.compare-bar{padding:17px 20px;display:flex;align-items:center;gap:12px;background:#f8faff;border-bottom:1px solid var(--line)}.compare-bar label{font-size:10px;font-weight:600;color:var(--muted)}.compare-bar select{border:1px solid #d7e0ef;border-radius:6px;padding:8px 10px;background:white;min-width:170px;color:var(--ink);font-size:12px}.compare-arrow{color:#64748b;font-size:20px}.compare-legend{margin-left:auto;display:flex;gap:14px;font-size:10px;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:5px;padding:4px 7px;font-size:10px;font-weight:600;white-space:nowrap;background:#f0f4fa;color:#52627a}.badge.changed,.badge.drifted{background:var(--amber-pale);color:var(--amber)}.badge.matching,.badge.approved{background:var(--teal-pale);color:var(--teal)}.badge.unknown,.badge.partial{background:#f0f4fa;color:#52627a}.badge.layout{background:#edf0fa;color:#6573a2}.badge.kind{border:1px solid #d7e0ef;background:transparent;font-size:9px;letter-spacing:.5px;color:#52627a}.badge.blocked{background:var(--red-pale);color:var(--red)}table{width:100%;border-collapse:collapse}thead{background:#f8faff}th{font-size:9px;letter-spacing:1px;font-weight:650;color:#52627a;text-align:left;padding:12px 18px;border-bottom:1px solid #edf2ff}td{padding:15px 18px;border-bottom:1px solid #edf2ff;font-size:12px;vertical-align:middle}tr:last-child td{border-bottom:0}td.object-cell{min-width:210px}.object-name{border:0;background:transparent;padding:0;font-weight:600;text-align:left;color:var(--ink);font-size:12px}.object-name:hover{color:var(--teal);text-decoration:underline}.row-subtitle{font-size:10px;color:var(--muted);margin-top:5px;max-width:390px}.row-pick{width:30px;text-align:center;padding-right:0}input[type=checkbox]{accent-color:var(--teal);width:14px;height:14px;vertical-align:middle}.revision-pill{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;color:#52627a;background:#f0f4fa;padding:4px 6px;border-radius:4px}.unknown-text{font-size:10px;color:#64748b;font-style:italic}.coverage-note{padding:12px 20px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);background:#f8faff}.selection-bar{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;background:#edf2ff;border-bottom:1px solid #d6e1ff;font-size:12px;color:var(--teal)}.empty-state{padding:44px 25px;text-align:center}.empty-state h3{font-weight:550;margin-bottom:8px}.empty-state p{color:var(--muted);font-size:12px;max-width:450px;margin:0 auto 20px}.loading-state{padding:45px;color:var(--muted);text-align:center}.error-state{padding:25px;color:var(--red);font-size:12px;line-height:1.6}.change-list,.release-list{display:grid;gap:15px}.change-card,.release-card{background:white;border:1px solid var(--line);border-radius:10px;padding:22px;box-shadow:var(--shadow)}.change-card h3,.release-card h3{font-size:18px;letter-spacing:-.35px}.change-card .purpose{color:var(--muted);font-size:12px;max-width:680px;margin:12px 0 18px}.change-meta{display:flex;flex-wrap:wrap;gap:18px;font-size:11px;color:var(--muted);margin:15px 0}.change-meta strong{color:var(--ink);font-weight:500}.change-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf2ff;padding-top:16px;margin-top:17px;gap:15px}.change-footer .actions{display:flex;gap:8px}.fingerprint{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;color:#52627a}.approved-copy{font-size:11px;color:var(--teal);line-height:1.5}.drift-note{font-size:11px;background:var(--amber-pale);color:var(--amber);padding:10px 12px;border-radius:6px;margin-top:12px}.release-card p{font-size:12px;color:var(--muted);margin:10px 0}.release-object-list{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}.modal-backdrop{position:fixed;inset:0;background:#1020395e;z-index:10;display:flex;align-items:center;justify-content:center;padding:30px;backdrop-filter:blur(3px)}.modal{width:min(560px,100%);max-height:calc(100vh - 60px);overflow:auto;background:#fff;border-radius:12px;box-shadow:0 25px 80px #10203938}.modal.wide{width:min(980px,100%)}.modal.signin{width:min(1120px,100%)}.modal-header{padding:24px 26px 17px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.modal-header h2{margin:0 0 6px}.modal-header p{font-size:12px;color:var(--muted);margin:0}.close-button{background:transparent;border:0;font-size:23px;color:#64748b;padding:0 3px}.modal-body{padding:23px 26px}.modal-footer{padding:17px 26px;display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);background:#f8faff}.form-field{display:block;margin-bottom:17px}.form-field>span{display:block;font-size:11px;font-weight:600;color:#405069;margin-bottom:8px}.form-field input,.form-field select,.form-field textarea{display:block;width:100%;padding:10px 11px;border:1px solid #d7e0ef;border-radius:6px;background:white;color:var(--ink);font-size:12px}.form-field textarea{resize:vertical;min-height:84px;line-height:1.55}.form-field small{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .form-field{margin:0}.inline-error{font-size:12px;color:var(--red);background:var(--red-pale);border-radius:6px;padding:10px 12px;margin-bottom:15px;white-space:pre-wrap}.inline-error:empty{display:none}.notice{background:#f0f4fa;border:1px solid #edf2ff;border-radius:7px;padding:12px 14px;color:#52627a;font-size:11px;line-height:1.6;margin:14px 0}.notice strong{color:#405069;font-weight:600}.source-tabs{display:flex;gap:6px;margin-bottom:14px}.source-tab{border:1px solid var(--line);border-radius:5px;padding:7px 10px;font-size:11px;background:#fff;color:var(--muted)}.source-tab.active{background:#edf2ff;border-color:#d6e1ff;color:var(--teal)}pre.source{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;line-height:1.7;background:#f8faff;border:1px solid #edf2ff;border-radius:7px;padding:16px;white-space:pre;overflow:auto;max-height:390px;margin:0}.source .diff-added{color:#2a7a4a;background:#e7f4e7;display:block}.source .diff-removed{color:#a94d40;background:#ffede7;display:block}.source .diff-hunk{color:#717fb1;display:block}.revision-select{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}.revision-select select{font-size:11px;border:1px solid var(--line);border-radius:5px;padding:8px;max-width:70%}.source-meta{display:flex;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:10px;margin:11px 0 17px}.hash{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px}.semantic-box{background:#f0f4fa;border:1px solid #d7e0ef;padding:13px 15px;border-radius:7px;margin-bottom:15px;font-size:12px;line-height:1.6}.semantic-box strong{display:block;color:#405069;margin-bottom:4px}.semantic-counts{display:flex;gap:14px;color:#52627a;font-size:10px;flex-wrap:wrap;margin-top:8px}.file-upload{border:1px dashed #b8caee;border-radius:8px;padding:22px;text-align:center;background:#f8faff}.file-upload input{font-size:11px;max-width:100%}.file-upload p{font-size:11px;color:var(--muted);margin:10px 0 0}.file-rows{margin-top:17px;display:grid;gap:10px}.file-row{display:grid;grid-template-columns:1fr 90px;gap:9px;padding:11px;background:#f0f4fa;border-radius:6px}.file-row small{grid-column:1/-1;font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.file-row input,.file-row select{width:100%;border:1px solid #d7e0ef;border-radius:5px;background:#fff;padding:7px;font-size:11px}.revision-options{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:6px;padding:6px;margin-bottom:17px}.revision-option{display:flex;align-items:center;gap:9px;padding:9px;border-bottom:1px solid #edf2ff;font-size:11px}.revision-option:last-child{border:0}.revision-option .badge{margin-left:auto}.review-summary{display:grid;gap:9px;margin-bottom:19px}.review-summary>div{font-size:11px;display:flex;justify-content:space-between;gap:20px}.review-summary span{color:var(--muted)}.signin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;font-size:11px;color:var(--muted)}.signin-actions{display:flex;gap:7px}.browser-frame{border:1px solid #d7e0ef;background:#f0f4fa;border-radius:8px;overflow:hidden;min-height:150px;text-align:center;position:relative}.browser-frame img{display:block;max-width:100%;max-height:calc(100vh - 345px);margin:auto;cursor:default;object-fit:contain}.browser-frame:focus{outline:2px solid #2459d3}.browser-placeholder{padding:65px;font-size:12px;color:var(--muted)}.signin-input{display:flex;gap:9px;align-items:center;margin-top:12px}.signin-input input{flex:1;min-width:0;border:1px solid #d7e0ef;border-radius:6px;padding:10px;font-size:12px}.signin-key-help{font-size:10px;color:var(--muted);line-height:1.5;margin-top:9px}.session-error{margin-top:12px}.toast{position:fixed;bottom:27px;left:calc(50% + 80px);transform:translateX(-50%);background:#102039;color:white;font-size:12px;padding:13px 20px;border-radius:8px;box-shadow:0 8px 40px #10203930;z-index:30;max-width:550px}.toast.error{background:#843e35}.toast[hidden]{display:none}.spacer{flex:1}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.small-muted{font-size:11px;color:var(--muted)}.view-all-sources{margin-left:auto}.artifact-library{margin-top:28px}.text-muted{color:var(--muted)}@media(max-width:1100px){main{padding:30px 25px}.sidebar{width:200px;padding:27px 18px}main{margin-left:200px}.compare-legend{display:none}.compare-bar select{min-width:145px}td,th{padding:13px 12px}.welcome-pattern{display:none}}@media(max-width:760px){.sidebar{position:static;width:100%;padding:16px;display:block;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:21px}.brand img{width:34px;height:34px}.workspace-label,.sidebar-create,.sidebar-bottom{display:none}.sidebar select{width:180px;margin-top:15px}.sidebar nav{display:flex;margin-top:14px}.nav-button{padding:10px;font-size:12px}.app-shell{display:block}main{margin-left:0;padding:25px 18px}.page-header{align-items:flex-start}.header-actions{flex-wrap:wrap;justify-content:flex-end}h1{font-size:26px}.page-header p{font-size:12px}.compare-bar{flex-wrap:wrap}.compare-bar select{min-width:0;max-width:145px}.panel{overflow:auto}.modal-backdrop{padding:12px}.modal{max-height:calc(100vh - 24px)}.modal-header,.modal-body,.modal-footer{padding:19px}.form-grid{grid-template-columns:1fr}.welcome{padding:35px 25px}.welcome h2{font-size:25px}.welcome-actions{flex-direction:column;align-items:flex-start}.change-footer{align-items:flex-start;flex-direction:column}.toast{left:50%;max-width:calc(100vw - 30px)}.browser-frame img{max-height:calc(100vh - 370px)}}

.form-spacer{height:18px}.file-row input[data-file-parent],.file-row input[data-file-native-type]{grid-column:1/-1;font-size:10px}.file-row input[data-file-parent]{margin-top:-4px}

.semantic-detail-list{display:grid;gap:5px;margin-top:12px}.semantic-detail-list>div{display:flex;gap:16px;font-size:11px}.semantic-detail-list span{min-width:115px;color:#52627a}.semantic-detail-list strong{font-weight:500;display:inline;color:#405069;word-break:break-word}.semantic-box p{margin:8px 0 0}

.review-pinned{margin:20px 0}.review-source{border:1px solid var(--line);border-radius:6px;padding:10px 12px;margin-bottom:8px}.review-source summary{display:flex;align-items:center;gap:9px;font-size:11px;cursor:pointer;list-style:none}.review-source summary:before{content:"›";font-size:17px;color:#52627a}.review-source[open] summary:before{content:"⌄"}.review-source summary strong{font-weight:600}.review-source summary code{margin-left:auto;font-size:10px;color:#52627a}.review-source pre.source{max-height:260px;font-size:10px;margin-top:10px}

.diff-direction{font-size:11px;color:var(--muted);padding:1px 0 13px}.diff-direction strong{font-weight:600;color:var(--ink);margin:0 3px}

[hidden]{display:none!important}.account-controls{margin-top:22px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px}.account-controls>strong,.account-controls>span{display:block;overflow-wrap:anywhere}.account-controls>span{color:var(--muted);font-size:10px;margin-top:4px}.account-controls>div{display:flex;justify-content:space-between;margin-top:8px;gap:10px}.account-controls .subtle-button{font-size:10px}.account-controls~.workspace-label{margin-top:24px}.auth-root{min-height:100vh}.account-page{min-height:100vh;display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(340px,1fr);max-width:1260px;margin:auto;padding:60px 7%;align-items:center;gap:12%}.account-story .brand{margin-bottom:100px}.account-story h1{font-size:clamp(32px,4vw,48px);line-height:1.13;font-weight:550;letter-spacing:-1.8px}.account-story>p{font-size:15px;max-width:420px;color:var(--muted);margin:22px 0 35px}.account-path{display:flex;align-items:center;gap:12px;margin:30px 0}.account-path span{border:1px solid #d6e1ff;background:#ffffff;border-radius:6px;padding:12px 17px;font-size:11px;color:var(--teal);font-weight:650;letter-spacing:1px}.account-path i{height:1px;background:#b8caee;width:28px;position:relative}.account-path i:after{content:'›';position:absolute;right:-2px;top:-8px;color:#7c94ba}.account-form-panel{padding:38px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.account-form-panel h2{font-size:25px;letter-spacing:-.7px}.account-form-panel>p{font-size:12px;color:var(--muted);margin:10px 0 26px}.account-form-panel .form-field input{font-size:14px;padding:12px}.account-form-panel .account-submit{width:100%;padding:13px;margin-top:4px}.account-form-panel .account-footnote{font-size:11px;line-height:1.7;margin:23px 0 14px}.account-form-panel .account-invite-note{font-size:10px;margin-bottom:0;padding-top:13px;border-top:1px solid var(--line)}.account-form-panel .subtle-button{color:var(--teal)}.account-service-error{max-width:500px;margin:0 auto;padding:90px 25px}.account-service-error h1{margin-top:35px;font-size:26px}.account-service-error p{color:var(--muted)}.invitation-history{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.invitation-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;font-size:12px}.invitation-row small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.invitation-row .button{font-size:10px;padding:6px 8px}@media(max-width:760px){.account-page{grid-template-columns:1fr;gap:32px;padding:30px 20px 45px}.account-story .brand{margin-bottom:45px}.account-story h1{font-size:34px}.account-story>p{font-size:13px;margin:16px 0 20px}.account-path{margin:20px 0}.account-form-panel{padding:26px}.account-controls{display:block!important;margin-top:14px;padding:10px 0}.account-controls>div{justify-content:flex-start;gap:20px}.account-controls[hidden]{display:none!important}}

/* Threadline uses the published AssignIT white, cobalt and navy design tokens. */
:root{--accent:#2459d3;--accent-2:#1947ad;--accent-tint:#edf2ff;--accent-line:#d6e1ff;--ink-soft:#405069;--shadow:0 1px 2px #10203906,0 12px 32px #1020390b}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.brand{font-weight:650}.eyebrow{color:var(--accent);letter-spacing:.12em}h1{font-weight:650;letter-spacing:-.045em}h2,h3{letter-spacing:-.025em}.button{border-radius:6px;transition:background .15s,border-color .15s}.button.primary{background:var(--accent);border-color:var(--accent)}.button.primary:hover{background:var(--accent-2);border-color:var(--accent-2)}.button:hover{background:#f0f4fa;border-color:#b8caee}.environment-card,.panel,.change-card,.release-card,.welcome{border-radius:6px}.modal,.account-form-panel{border-radius:8px}.sidebar select,.form-field input,.form-field select,.form-field textarea{border-radius:6px}.nav-button.active{background:var(--accent-tint);color:var(--accent-2)}.account-story h1{font-weight:650;letter-spacing:-.045em}.account-form-panel h2{font-weight:650}.account-path span{border-color:var(--accent-line);color:var(--accent-2)}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--accent);outline-offset:3px}.sample-banner strong,.semantic-box strong,.notice strong{color:var(--ink-soft)}
