:root{--ink:#14233b;--muted:#6b7a90;--line:#e5eaf0;--surface:#ffffff;--canvas:#f4f7f9;--navy:#15243b;--navy-2:#1c304c;--cyan:#20b9b3;--cyan-dark:#119b96;--orange:#f39a52;--green:#2aa775;--red:#dc5b64;--shadow:0 12px 32px rgba(25,50,80,.08)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;overflow-x:hidden;background:var(--canvas);color:var(--ink)}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{background:var(--canvas)}.app,.sidebar{min-height:100vh;display:flex}.sidebar{width:248px;position:fixed;inset:0 auto 0 0;z-index:30;color:#dce5f1;background:linear-gradient(180deg,#172a45,#122038);flex-direction:column;box-shadow:8px 0 28px rgba(13,28,48,.08);transition:width .22s ease,transform .24s ease,box-shadow .24s ease}.sidebar-toggle{width:28px;height:28px;position:absolute;top:31px;right:-14px;z-index:2;display:grid;place-items:center;border:1px solid #dbe3eb;border-radius:9px;color:#5c6e83;background:white;box-shadow:0 5px 14px rgba(16,34,55,.14)}.sidebar-toggle:hover{color:var(--cyan-dark);border-color:#9cd9d5}.mobile-menu-button,.sidebar-backdrop,.sidebar-mobile-close{display:none}.brand{padding:26px 24px 22px;display:flex;gap:12px;align-items:center}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#23c9bf,#159c9d);box-shadow:0 8px 20px rgba(25,190,182,.28);color:white}.brand-logo{overflow:hidden;border-radius:9px;background:white;box-shadow:0 6px 18px rgba(0,0,0,.2)}.brand-logo img{width:100%;height:100%;object-fit:contain}.brand strong{display:block;font-size:15px;letter-spacing:.02em;color:white}.brand span{font-size:11px;color:#91a4bc}.nav-label{margin:8px 24px 10px;font-size:10px;letter-spacing:.18em;color:#70849d}.nav{display:grid;gap:5px;padding:0 14px}.nav button{border:0;position:relative;background:transparent;color:#9fb0c5;display:flex;align-items:center;gap:12px;width:100%;padding:11px 13px;border-radius:10px;text-align:left;transition:.18s ease;font-size:13px}.nav button:hover{color:white;background:rgba(255,255,255,.055)}.nav button.active{color:white;background:rgba(32,185,179,.14);box-shadow:inset 3px 0 0 var(--cyan)}.nav button.active svg{color:#43d4cc}.nav-badge{margin-left:auto;min-width:19px;height:19px;padding:0 6px;display:grid;place-items:center;border-radius:10px;background:rgba(243,154,82,.16);color:#ffb77c;font-size:10px}.sidebar-status{margin:auto 14px 16px;padding:15px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.035)}.status-title{display:flex;align-items:center;gap:8px;font-size:12px;color:white}.status-dot{width:7px;height:7px;border-radius:50%;background:#37c98a;box-shadow:0 0 0 4px rgba(55,201,138,.11)}.sidebar-status p{margin:8px 0 0;color:#8498b0;font-size:10px;line-height:1.6}.main{flex:1 1;min-width:0;margin-left:248px;transition:margin-left .22s ease}.sidebar-collapsed .sidebar{width:76px}.sidebar-collapsed .main{margin-left:76px}.sidebar-collapsed .brand{padding:26px 19px 22px;justify-content:center}.sidebar-collapsed .brand-text,.sidebar-collapsed .nav button span,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-status{display:none}.sidebar-collapsed .nav{padding:0 10px}.sidebar-collapsed .nav button{justify-content:center;padding:12px}.sidebar-collapsed .nav-badge{width:8px;min-width:8px;height:8px;position:absolute;margin:-17px -24px 0 0;overflow:hidden;padding:0;color:transparent;background:var(--orange)}.topbar{height:70px;padding:0 30px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);display:flex;align-items:center;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.page-title{font-size:16px;font-weight:700}.page-subtitle{margin-left:14px;padding-left:14px;border-left:1px solid var(--line);color:var(--muted);font-size:11px}.top-spacer{flex:1 1}.top-date{color:var(--muted);font-size:11px;margin-right:18px}.user{display:flex;align-items:center;gap:9px;font-size:12px}.logout{margin-left:8px;color:#7c8998}.avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;color:white;background:linear-gradient(135deg,#293e5b,#3d587c);font-weight:700}.content{min-height:calc(100vh - 70px);padding:25px 30px 34px}.content.full{padding:0;height:calc(100vh - 70px);min-height:640px;overflow:hidden}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px}.eyebrow{margin:0 0 6px;color:var(--cyan-dark);font-weight:700;letter-spacing:.12em;font-size:10px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}.page-head h1{margin-bottom:5px;font-size:23px;letter-spacing:-.02em}.page-head p{margin-bottom:0;color:var(--muted);font-size:12px}.card{background:var(--surface);border:1px solid var(--line);border-radius:15px;box-shadow:0 5px 18px rgba(32,55,82,.035)}.card-title{display:flex;align-items:center;justify-content:space-between;padding:17px 19px 13px}.card-title h3{margin:0;font-size:13px}.card-title span{color:var(--muted);font-size:10px}.btn{border:1px solid var(--line);background:white;color:#34445b;padding:8px 12px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:600;transition:.15s ease;white-space:nowrap}.btn:hover{border-color:#b9c7d6;background:#fafcfd;transform:translateY(-1px)}.btn.primary{border-color:var(--cyan);background:var(--cyan);color:white;box-shadow:0 7px 17px rgba(32,185,179,.2)}.btn.primary:hover{background:var(--cyan-dark);border-color:var(--cyan-dark)}.btn.dark{border-color:var(--navy);background:var(--navy);color:white}.btn.danger{color:var(--red)}.btn.small{padding:6px 9px;font-size:11px}.btn.icon{padding:7px}.btn:disabled{opacity:.5;cursor:default;transform:none}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:650;background:#edf8f6;color:#188878}.pill.pending{background:#f4f1ec;color:#8b7562}.pill.warn{background:#fff3e9;color:#be702d}.muted{color:var(--muted)}.panel{background:white;border:1px solid var(--line);border-radius:15px;box-shadow:0 5px 18px rgba(32,55,82,.035)}.section-head{min-height:64px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.section-head h3{margin:0 0 4px;font-size:13px}.section-head span{color:var(--muted);font-size:9px}.auth-loading{place-items:center;align-content:center;gap:12px;color:#738196;font-size:12px;background:#f2f5f7}.auth-loading,.login-page{min-height:100vh;display:grid}.login-page{place-items:center;padding:30px;background:radial-gradient(circle at 75% 12%,rgba(234,30,62,.1),transparent 31%),linear-gradient(135deg,#111e31,#1a3149 58%,#102237)}.login-card{width:min(430px,94vw);padding:34px 38px 30px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.97);box-shadow:0 28px 75px rgba(5,15,28,.34)}.login-logo{width:82px;height:82px;overflow:hidden;margin:0 auto 20px;border:1px solid #edf0f2;border-radius:18px;background:white;box-shadow:0 10px 25px rgba(20,30,45,.1)}.login-logo img{width:100%;height:100%;object-fit:contain}.login-copy>span{color:#ed1938;font-size:9px;font-weight:800;letter-spacing:.16em}.login-copy h1{margin:7px 0 8px;font-size:24px}.login-copy p{color:var(--muted);font-size:10px;line-height:1.65}.login-card form{display:grid;gap:13px;margin:24px 0 17px}.login-card label,.permission-form label{display:grid;gap:7px;color:#526176;font-size:10px;font-weight:650}.grant-row input,.grant-row select,.login-card input,.permission-form input,.permission-form select{width:100%;height:39px;padding:0 11px;border:1px solid #dce3e9;border-radius:9px;outline:0;color:#304157;background:white;font-size:11px}.grant-row input:focus,.login-card input:focus,.permission-form input:focus{border-color:#e86b7e;box-shadow:0 0 0 3px rgba(238,31,62,.07)}.login-submit{width:100%;min-height:41px;margin-top:4px;background:#ef1737!important;border-color:#ef1737!important;box-shadow:0 8px 18px rgba(239,23,55,.18)!important}.login-error{padding:9px 11px;border-radius:8px;color:#b33b4e;background:#fff0f2;font-size:10px}.login-card>small{display:block;color:#8793a2;font-size:9px;line-height:1.6;text-align:center}.permissions-page{display:grid;gap:15px}.permission-intro{padding:20px 22px;display:flex;align-items:center;gap:16px}.permission-icon{width:46px;height:46px;flex:0 0 auto;display:grid;place-items:center;border-radius:13px;color:#c51c35;background:#fff0f2}.permission-intro h2{margin:0 0 5px;font-size:17px}.permission-intro p{margin:0;color:var(--muted);font-size:10px;line-height:1.65}.permission-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:15px;align-items:start}.permission-users{padding:8px;display:grid;gap:4px}.permission-users>button{width:100%;padding:10px;display:flex;align-items:center;gap:10px;border:0;border-radius:10px;color:#45566b;background:transparent;text-align:left}.permission-users>button.active,.permission-users>button:hover{background:#f2f7f8}.permission-users>button.active{box-shadow:inset 3px 0 0 var(--cyan)}.permission-users span,.permission-users strong{display:block}.permission-users strong{margin-bottom:3px;font-size:11px}.permission-users span{color:var(--muted);font-size:9px}.permission-form{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.permission-form label>span{display:flex;align-items:center;gap:5px}.permission-switch{display:flex!important;align-items:center;align-self:end;height:39px;grid-column:1/-1}.permission-switch input{width:15px;height:15px}.grant-editor{margin:0 18px 18px;padding:15px;border:1px solid var(--line);border-radius:11px;background:#fafbfc}.grant-title{margin-bottom:10px;justify-content:space-between}.grant-title,.grant-title>div{display:flex;align-items:center}.grant-title>div{gap:7px;font-size:11px}.grant-row{display:grid;grid-template-columns:minmax(0,1fr) 130px 31px;gap:7px;margin-top:7px}.grant-row input,.grant-row select{height:34px}.grant-help{margin:10px 0 0;color:var(--muted);font-size:9px}.permission-message{margin:0 18px 12px;padding:9px 11px;border-radius:8px;color:#a44753;background:#fff0f2;font-size:10px}.permission-message.success{color:#24765e;background:#edf8f4}.permission-actions{padding:13px 18px;display:flex;justify-content:flex-end;border-top:1px solid var(--line)}.hero{min-height:225px;position:relative;overflow:hidden;padding:34px 38px;color:white;background:linear-gradient(114deg,#172b47,#1b3c58 54%,#176a70 145%);border:0}.hero:after{width:330px;height:330px;right:-75px;top:-140px;border:1px solid rgba(86,221,210,.17);box-shadow:0 0 0 45px rgba(86,221,210,.035),0 0 0 92px rgba(86,221,210,.025)}.hero:after,.hero:before{content:"";position:absolute;border-radius:50%}.hero:before{width:210px;height:210px;right:125px;bottom:-175px;background:radial-gradient(circle,rgba(39,194,184,.18),transparent 67%)}.hero-content{position:relative;z-index:2;max-width:650px}.hero .eyebrow{color:#5adbd3}.hero h1{margin-bottom:10px;font-size:27px;line-height:1.35;letter-spacing:-.02em}.hero p{max-width:570px;color:#b8c8d8;font-size:12px;line-height:1.8}.hero-actions{display:flex;gap:10px;margin-top:23px}.hero .btn.secondary{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.065);color:white}.hero-flow{position:absolute;right:28px;bottom:25px;z-index:2;display:flex;align-items:center;gap:7px;color:#8ba5b6;font-size:9px}.hero-flow span{padding:7px 9px;border:1px solid rgba(255,255,255,.1);border-radius:7px;background:rgba(255,255,255,.035);color:#c8d5df}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:15px 0}.metric{padding:18px;display:flex;align-items:center;gap:14px}.metric-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:var(--cyan-dark);background:#edf9f8}.metric.orange .metric-icon{color:#d07932;background:#fff3e8}.metric.blue .metric-icon{color:#5079ad;background:#eef3fa}.metric.gray .metric-icon{color:#6e7b8b;background:#f1f3f5}.metric strong{display:block;font-size:20px;letter-spacing:-.02em}.metric small{color:var(--muted);font-size:10px}.grid-2{display:grid;grid-template-columns:1.45fr 1fr;gap:15px}.workflow{padding:10px 18px 18px;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.workflow-step{position:relative;padding:14px 12px;border-radius:10px;background:#f7f9fb;border:1px solid #edf0f3}.workflow-step:not(:last-child):after{content:"›";position:absolute;right:-8px;top:23px;z-index:2;color:#a8b5c2;font-size:18px}.workflow-step b{width:22px;height:22px;margin-bottom:10px;border-radius:7px;display:grid;place-items:center;font-size:10px;color:white;background:var(--cyan)}.workflow-step strong{display:block;font-size:11px}.workflow-step span{display:block;margin-top:5px;color:var(--muted);font-size:9px;line-height:1.5}.service-list{padding:3px 18px 15px}.service-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #eef1f4}.service-row:last-child{border-bottom:0}.service-row strong{display:block;font-size:11px}.service-row small{color:var(--muted);font-size:9px}.workshop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.workshop-card{padding:19px;position:relative;overflow:hidden}.workshop-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--cyan);opacity:.75}.workshop-top{display:flex;align-items:center;justify-content:space-between}.workshop-icon{width:37px;height:37px;border-radius:10px;display:grid;place-items:center;background:#edf8f7;color:var(--cyan-dark)}.workshop-card h3{margin:14px 0 5px;font-size:14px}.workshop-card p{min-height:48px;color:var(--muted);font-size:10px;line-height:1.6}.workshop-actions{display:flex;gap:7px;padding-top:12px;border-top:1px solid #eff2f4}.connections-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.connection-card{padding:20px}.connection-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.connection-logo{width:41px;height:41px;border-radius:11px;display:grid;place-items:center;color:#33516f;background:#edf2f6}.connection-card h3{margin-bottom:5px;font-size:14px}.connection-card p{min-height:48px;color:var(--muted);font-size:10px;line-height:1.65}.connection-meta{padding-top:13px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.drive{height:100%;display:flex;flex-direction:column;background:white}.drive-toolbar{min-height:61px;padding:10px 18px;border-bottom:1px solid var(--line);gap:8px}.drive-title,.drive-toolbar{display:flex;align-items:center}.drive-title{margin-right:12px;gap:9px;font-size:13px;font-weight:700}.drive-title svg{color:var(--cyan-dark)}.toolbar-spacer{flex:1 1}.search-box{width:220px;position:relative}.search-box svg{position:absolute;left:10px;top:9px;color:#8b98a8}.search-box input{width:100%;height:34px;border:1px solid var(--line);border-radius:9px;padding:0 10px 0 32px;background:#f8fafb;outline:none;font-size:11px}.search-box input:focus{border-color:#78cbc6;background:white;box-shadow:0 0 0 3px rgba(32,185,179,.08)}.drive-breadcrumb{height:43px;padding:0 20px;display:flex;align-items:center;gap:6px;border-bottom:1px solid #edf0f3;color:var(--muted);font-size:11px}.drive-breadcrumb button{border:0;padding:4px 2px;color:#53667d;background:transparent}.drive-breadcrumb button:hover{color:var(--cyan-dark)}.drive-body{flex:1 1;min-height:0;display:flex}.file-area{flex:1 1;min-width:0;overflow:auto}.file-table{width:100%;border-collapse:collapse;table-layout:fixed}.file-table th{height:38px;position:sticky;top:0;z-index:2;padding:0 14px;text-align:left;background:#fafbfc;border-bottom:1px solid var(--line);color:#8190a1;font-size:9px;font-weight:650;letter-spacing:.04em}.file-table td{height:49px;padding:0 14px;border-bottom:1px solid #f0f2f4;color:#46576c;font-size:11px}.file-table tr{transition:.12s ease}.file-table tbody tr:hover{background:#f7fbfb}.file-table tr.selected{background:#edf9f8}.file-name{min-width:0;display:flex;align-items:center;gap:10px}.file-name svg{flex:0 0 auto;color:#71849a}.file-name svg.spreadsheet{color:#1b9d79}.file-name svg.folder{color:#e9a43d;fill:#fff2d9}.file-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-tag{display:inline-flex;flex:0 0 auto;padding:2px 5px;border-radius:5px;color:#b45b17;background:#fff1df;font-size:8px;font-style:normal;font-weight:700;vertical-align:middle}.file-actions{display:flex;justify-content:flex-end;gap:3px;opacity:0}tr.selected .file-actions,tr:hover .file-actions{opacity:1}.file-action{width:27px;height:27px;border:0;border-radius:7px;background:transparent;color:#718096;display:grid;place-items:center}.file-action:hover{background:white;color:var(--cyan-dark);box-shadow:0 2px 8px rgba(31,54,81,.08)}.drop-hint{margin:18px;min-height:72px;border:1px dashed #cfdae3;border-radius:11px;display:grid;place-items:center;color:#95a1ae;font-size:10px;background:#fafcfd}.drop-hint.active{border-color:var(--cyan);background:#effafa;color:var(--cyan-dark)}.empty{padding:70px 20px;text-align:center;color:#8997a6}.empty svg{margin-bottom:12px;color:#c3cdd7}.empty strong{display:block;color:#5f6f82;font-size:12px}.empty p{margin-top:6px;font-size:10px}.details{width:310px;flex:0 0 310px;border-left:1px solid var(--line);background:#fbfcfd;overflow:auto}.details-head{padding:18px;background:white;border-bottom:1px solid var(--line)}.details-icon{width:42px;height:42px;margin-bottom:12px;border-radius:11px;display:grid;place-items:center;background:#edf8f7;color:var(--cyan-dark)}.details h3{margin:0 0 5px;font-size:13px;overflow-wrap:anywhere}.details-path{color:var(--muted);font-size:9px;overflow-wrap:anywhere}.detail-actions{padding:14px 18px;display:grid;grid-template-columns:1fr 1fr;gap:7px;border-bottom:1px solid var(--line)}.detail-actions .wide{grid-column:1/-1}.meta-list{padding:13px 18px}.meta-row{display:flex;justify-content:space-between;gap:14px;padding:7px 0;color:var(--muted);font-size:9px}.meta-row strong{color:#46576c;text-align:right;font-weight:600}.drive-viewer{flex:1 1;min-width:0;display:flex;flex-direction:column;background:#eef2f5}.viewer-head{height:52px;flex:0 0 52px;padding:0 14px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);background:white}.viewer-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.viewer-content{flex:1 1;min-height:0;position:relative}.viewer-content iframe,.viewer-content img{width:100%;height:100%;border:0;object-fit:contain;background:white}.oo-wrap{width:100%;height:100%;position:relative;background:white}.oo-container,.oo-state{position:absolute;inset:0}.oo-state{display:grid;place-items:center;background:#f4f7f9;z-index:2}.oo-state-card{max-width:420px;padding:28px;text-align:center;border:1px solid var(--line);border-radius:14px;background:white;box-shadow:var(--shadow)}.oo-state-card svg{color:var(--cyan-dark)}.oo-state-card h3{margin:12px 0 7px;font-size:14px}.oo-state-card p{color:var(--muted);font-size:10px;line-height:1.7}.agent-page{height:100%;display:grid;grid-template-columns:minmax(0,1fr) 300px;background:#f5f7f9}.agent-chat{min-width:0;display:flex;flex-direction:column;background:white}.agent-head{height:62px;padding:0 20px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line)}.agent-orb{width:35px;height:35px;border-radius:11px;display:grid;place-items:center;color:white;background:linear-gradient(135deg,#1ec4ba,#1b8f94);box-shadow:0 7px 16px rgba(28,174,168,.2)}.agent-head strong{display:block;font-size:12px}.agent-head small{display:flex;align-items:center;gap:6px;margin-top:3px;color:var(--muted);font-size:9px}.agent-messages{flex:1 1;overflow:auto;padding:25px max(22px,calc((100% - 760px)/2))}.message{display:flex;gap:10px;margin-bottom:18px}.message.user{flex-direction:row-reverse}.message-avatar{width:29px;height:29px;flex:0 0 auto;border-radius:9px;display:grid;place-items:center;color:white;background:#1e3552;font-size:10px}.message.assistant .message-avatar{background:var(--cyan)}.bubble{max-width:min(80%,650px);padding:11px 13px;border:1px solid var(--line);border-radius:4px 12px 12px 12px;color:#3f5064;background:#f8fafb;font-size:11px;line-height:1.75;white-space:pre-wrap}.message.user .bubble{border:0;border-radius:12px 4px 12px 12px;color:white;background:#203752}.agent-welcome{max-width:600px;margin:55px auto 20px;text-align:center}.agent-welcome .agent-orb{width:54px;height:54px;margin:auto;border-radius:16px}.agent-welcome h2{margin:16px 0 8px;font-size:18px}.agent-welcome p{color:var(--muted);font-size:11px;line-height:1.7}.suggestions{max-width:650px;margin:20px auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.suggestion{border:1px solid var(--line);padding:11px 12px;border-radius:10px;background:white;color:#526379;text-align:left;font-size:10px;line-height:1.55}.suggestion:hover{border-color:#9cd9d5;background:#f6fbfb}.agent-compose{padding:13px max(22px,calc((100% - 760px)/2)) 17px;border-top:1px solid var(--line)}.compose-box{display:flex;align-items:flex-end;gap:9px;padding:7px 7px 7px 13px;border:1px solid #d9e1e8;border-radius:12px;background:white;box-shadow:0 5px 16px rgba(31,54,81,.05)}.compose-box:focus-within{border-color:#79ccc7;box-shadow:0 0 0 3px rgba(32,185,179,.08)}.compose-box textarea{flex:1 1;min-height:36px;max-height:115px;padding:8px 0;resize:none;border:0;outline:0;color:#35465b;font-size:11px}.send{width:36px;height:36px;border:0;border-radius:10px;display:grid;place-items:center;color:white;background:var(--cyan)}.send:disabled{opacity:.45;cursor:default}.compose-hint{margin-top:6px;text-align:center;color:#9ca8b4;font-size:8px}.agent-context{padding:20px;border-left:1px solid var(--line);overflow:auto;background:#f9fbfc}.agent-context h3{font-size:12px}.context-card{margin-bottom:10px;padding:13px;border:1px solid var(--line);border-radius:11px;background:white}.context-card strong{display:block;margin-bottom:5px;font-size:10px}.context-card p{margin:0;color:var(--muted);font-size:9px;line-height:1.6}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:25px;background:rgba(12,26,44,.52);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:min(920px,96vw);max-height:88vh;display:flex;flex-direction:column;overflow:hidden;border-radius:16px;background:white;box-shadow:0 28px 70px rgba(9,25,44,.25)}.modal.narrow{width:min(650px,96vw)}.modal-head{min-height:58px;padding:12px 18px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.modal-head h3{margin:0;font-size:13px}.modal-body{padding:18px;overflow:auto}.modal-foot{padding:12px 18px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);background:#fafbfc}.agent-task textarea{width:100%;min-height:90px;padding:12px;border:1px solid #dbe2e8;border-radius:10px;outline:0;resize:vertical;font-size:11px;line-height:1.6}.agent-task textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(32,185,179,.08)}.plan-summary{padding:13px;border-radius:10px;background:#eff9f8;color:#315e5d;font-size:11px;line-height:1.65}.plan-notes{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0}.plan-note{padding:11px;border:1px solid var(--line);border-radius:9px;font-size:9px;color:var(--muted)}.plan-note strong{display:block;margin-bottom:5px;color:#425368}.changes-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:9px}.changes-table th{text-align:left;color:var(--muted);background:#f6f8fa}.changes-table td,.changes-table th{padding:8px;border:1px solid var(--line)}.changes-table td{overflow-wrap:anywhere;vertical-align:top}.change-old{color:#a26363;text-decoration:line-through}.change-new{color:#167a68;font-weight:600}.version-list{display:grid;gap:8px}.version-item{padding:12px;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:1fr auto;gap:10px}.version-item strong{font-size:10px}.version-item p{margin:5px 0 0;color:var(--muted);font-size:9px}.version-hash{display:inline-block;margin-left:5px;padding:2px 5px;border-radius:5px;background:#eef2f5;color:#617187;font-family:ui-monospace,monospace;font-size:8px}.spinner{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:1050px){.connections-grid,.metric-grid,.workshop-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.hero-flow{display:none}.permission-layout{grid-template-columns:270px minmax(0,1fr)}}@media (hover:none){.file-actions{opacity:1}}@media (max-width:820px){.sidebar,.sidebar-collapsed .sidebar{width:min(84vw,300px);min-height:100dvh;transform:translateX(-102%);box-shadow:none}.mobile-nav-open .sidebar{transform:translateX(0);box-shadow:18px 0 48px rgba(8,22,39,.3)}.sidebar-toggle{display:none}.sidebar-mobile-close{width:34px;height:34px;position:absolute;top:20px;right:16px;z-index:3;display:grid;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:9px;color:#b7c6d8;background:rgba(255,255,255,.05)}.sidebar-collapsed .brand{padding:24px 22px 20px;justify-content:flex-start}.sidebar-collapsed .brand-text,.sidebar-collapsed .nav-label{display:block}.sidebar-collapsed .nav button span{display:inline}.sidebar-collapsed .sidebar-status{display:block}.nav,.sidebar-collapsed .nav{padding:0 14px}.nav button,.sidebar-collapsed .nav button{justify-content:flex-start;padding:12px 13px}.sidebar-collapsed .nav-badge{width:auto;min-width:19px;height:19px;position:static;margin:0 0 0 auto;overflow:visible;padding:0 6px;color:#ffb77c;background:rgba(243,154,82,.16)}.sidebar-backdrop{position:fixed;inset:0;z-index:29;display:block;border:0;pointer-events:none;opacity:0;background:rgba(10,23,39,.48);transition:opacity .24s ease}.mobile-nav-open .sidebar-backdrop{pointer-events:auto;opacity:1}.main,.sidebar-collapsed .main{width:100%;margin-left:0}.topbar{height:60px;padding:0 12px;gap:9px}.mobile-menu-button{display:inline-flex;flex:0 0 auto}.page-subtitle,.top-date,.user span{display:none}.page-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.user{margin-left:auto}.logout{margin-left:0}.content{min-height:calc(100dvh - 60px);padding:14px}.content.full{height:calc(100dvh - 60px);min-height:0}.page-head{align-items:flex-start;flex-direction:column;gap:12px}.connections-grid,.metric-grid,.workflow,.workshop-grid{grid-template-columns:1fr}.workflow-step:after{display:none}.hero{min-height:0;padding:25px 20px}.hero h1{font-size:22px}.hero-actions,.workshop-actions{flex-wrap:wrap}.details{display:none}.drive-toolbar{min-height:0;padding:9px 10px;flex-wrap:wrap}.drive-title{width:100%;margin:0 0 2px}.drive-toolbar .toolbar-spacer{display:none}.search-box{order:3;width:100%}.drive-breadcrumb{height:auto;min-height:40px;padding:7px 12px;overflow-x:auto;white-space:nowrap}.file-table td:first-child,.file-table th:first-child{width:65%!important;padding-left:10px;padding-right:6px}.file-table td:last-child,.file-table th:last-child{width:35%!important;padding-left:4px;padding-right:8px}.file-table td:nth-child(2),.file-table td:nth-child(3),.file-table th:nth-child(2),.file-table th:nth-child(3){display:none}.file-actions{opacity:1;gap:1px}.file-action{width:25px;height:25px}.drop-hint{margin:12px;min-height:58px;padding:10px;text-align:center}.viewer-head{height:50px;flex-basis:50px;padding:0 9px;gap:7px;overflow-x:auto}.viewer-head strong{min-width:110px}.viewer-head .toolbar-spacer{flex:0 0 1px}.agent-page{grid-template-columns:1fr}.agent-context{display:none}.agent-head{height:55px;padding:0 13px}.agent-messages{padding:18px 12px}.agent-welcome{margin-top:25px}.agent-compose{padding:10px 10px max(12px,env(safe-area-inset-bottom))}.bubble{max-width:calc(100% - 40px)}.permission-form,.permission-layout,.suggestions{grid-template-columns:1fr}.permission-intro{align-items:flex-start;padding:16px}.grant-editor{margin:0 12px 12px;padding:11px}.grant-row{grid-template-columns:minmax(0,1fr) 40px}.grant-row input{grid-column:1/-1}.permission-actions{padding:12px}.modal-backdrop{padding:7px}.modal{width:100%;max-height:calc(100dvh - 14px);border-radius:12px}.modal-body,.modal-foot,.modal-head{padding-left:12px;padding-right:12px}.plan-notes{grid-template-columns:1fr}.changes-table{min-width:700px}.version-item{grid-template-columns:1fr}.login-page{padding:14px}.login-card{width:100%;padding:28px 22px 24px}}@media (max-width:390px){.topbar .avatar{width:29px;height:29px}.drive-toolbar .btn.small{padding:6px 7px}.file-name{gap:7px}.file-table td{font-size:10px}}