:root{--ink:#162b3a;--muted:#758594;--line:#e1e8ec;--paper:#f7fafb;--card:#fff;--teal:#0e8f83;--teal-dark:#0c6f68;--mint:#dff3ef;--amber:#f2ad56;--red:#dc6b62;--blue:#547da7;--shadow:0 18px 45px rgba(31,56,70,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Cairo,Arial,sans-serif;font-size:14px}button,input{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}.app-shell{min-height:100vh;display:flex;direction:rtl}.sidebar{width:260px;background:#153440;color:#dce9ea;display:flex;flex-direction:column;padding:29px 20px 22px;position:fixed;inset:0 0 0 auto;z-index:5}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 42px}.brand b{display:block;font-size:15px;color:#f9ffff;letter-spacing:-.3px}.brand span{font:500 9px "IBM Plex Mono",monospace;color:#82b3ae;letter-spacing:1px;direction:ltr;display:block;margin-top:4px}.brand-mark{width:34px;height:34px;border-radius:11px;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:800;font-size:18px;box-shadow:0 8px 17px rgba(14,143,131,.25)}nav{display:grid;gap:7px}.nav-item{height:44px;display:flex;align-items:center;gap:12px;padding:0 13px;border-radius:10px;color:#98b4b7;font-size:13px;transition:.2s}.nav-item:hover,.nav-item.active{background:#234a53;color:white}.nav-item.active{box-shadow:inset -3px 0 var(--teal)}.nav-icon{width:19px;text-align:center;font-size:17px;opacity:.9}.side-note{margin:43px 5px 0;padding:19px 15px;border:1px solid #2e5660;border-radius:12px;background:#1b414a}.side-note .lock{color:#5ac6b5;font-size:19px;display:block;margin-bottom:11px}.side-note b{font-size:11px;color:#e0f4f1}.side-note p{font-size:10px;line-height:1.8;color:#8fb0b2;margin:8px 0 0}.side-bottom{margin-top:auto}.user-chip{display:flex;align-items:center;gap:9px;border-top:1px solid #2a4b54;padding:17px 7px 12px}.avatar{width:29px;height:29px;border-radius:50%;background:#d3ece7;color:#16584f;display:grid;place-items:center;font-size:12px;font-weight:800}.user-chip b,.user-chip span{display:block;font-size:10px}.user-chip b{color:#e8f4f2}.user-chip span{color:#7ca5a7;margin-top:3px}.logout{font-size:11px;color:#87aaad;padding:0 9px}.main{margin-right:260px;max-width:1400px;width:calc(100% - 260px);padding:33px 48px 58px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.eyebrow{font-size:10px;letter-spacing:1.1px;color:var(--teal);font-weight:800;margin:0 0 6px}.topbar h1{font-size:22px;letter-spacing:-.7px;margin:0;font-weight:800}.button{border:0;border-radius:9px;min-height:40px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;font-size:12px;transition:.2s}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--teal);color:white;box-shadow:0 7px 16px rgba(14,143,131,.19)}.button.primary:hover{background:var(--teal-dark)}.button.secondary{border:1px solid #c9dedb;background:#f3faf9;color:var(--teal)}.button.ghost{background:transparent;color:var(--muted)}.button.full{width:100%}.hero{background:#dff3ef;min-height:250px;border-radius:17px;display:flex;align-items:center;justify-content:space-between;padding:32px 45px 30px 47%;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(14,143,131,.11);border-radius:50%;left:-145px;top:-110px}.hero>div:first-child{position:relative;z-index:2;max-width:560px}.hero-kicker{color:#44877f;font-size:10px;font-weight:700;display:flex;align-items:center;gap:7px;margin-bottom:11px}.pulse-dot{width:7px;height:7px;background:var(--teal);border-radius:50%;box-shadow:0 0 0 5px rgba(14,143,131,.12)}.hero h2{font-size:28px;letter-spacing:-1px;margin:0 0 10px;font-weight:800;color:#173b43}.hero p{line-height:1.9;color:#507574;margin:0 0 18px;max-width:480px;font-size:12px}.hero-button{background:#173b43;color:#fff;padding:0 19px}.hero-button:hover{background:#245866}.hero-illustration{position:absolute;left:25px;top:10px;width:45%;height:230px}.orbit{position:absolute;border:1px solid rgba(14,143,131,.23);border-radius:50%;width:230px;height:105px;left:62px;top:65px;transform:rotate(-27deg)}.orbit-b{width:250px;height:120px;transform:rotate(31deg);left:43px;top:57px}.code-card{position:absolute;left:92px;top:71px;width:200px;height:99px;border-radius:10px;background:#173b43;box-shadow:0 18px 31px rgba(22,59,67,.25);padding:14px 16px;color:#9de4d6;font:12px/1.65 "IBM Plex Mono",monospace;direction:ltr}.code-card i{font-style:normal;color:#6b9e9c;margin-right:12px}.code-card b{color:#f5c26e}.code-card em{color:#87b8d0;font-style:normal}.code-card small{display:block;color:#eef7f4;font-size:11px;margin-left:19px}.scan-beam{position:absolute;left:93px;top:107px;width:198px;height:2px;background:#74e8d5;box-shadow:0 0 18px 5px rgba(116,232,213,.5);transform:rotate(-8deg)}.spark{position:absolute;color:#e0a752;font:bold 23px Arial}.spark-a{left:312px;top:60px}.spark-b{left:52px;top:174px;color:#80b5b2;font-size:18px}.section-block{margin-top:38px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:17px}.section-heading h3{margin:0;font-size:18px;letter-spacing:-.5px}.heading-actions{display:flex;gap:4px}.filter{border:0;background:transparent;color:#9aa8b0;font-size:11px;padding:7px 12px;border-radius:6px}.filter.active,.filter:hover{background:#e5f4f1;color:var(--teal);font-weight:700}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.project-card,.empty-card{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:19px 18px 15px;box-shadow:0 5px 18px rgba(31,56,70,.025);transition:.2s}.project-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.project-card-top{display:flex;justify-content:space-between;align-items:center}.file-icon{width:32px;height:32px;border-radius:9px;background:#e7f5f2;color:var(--teal);display:grid;place-items:center;font-size:17px}.status{font-size:10px;padding:4px 8px;border-radius:10px;font-weight:700}.status.ready{background:#e1f4ec;color:#258363}.status.uploaded{background:#fff3dd;color:#ad7b33}.status.analyzing{background:#e6f0fa;color:#547da7}.project-card h4{font-size:14px;margin:15px 0 4px}.project-meta{font:10px "IBM Plex Mono",monospace;color:#9aa7ad;direction:ltr;text-align:right}.metric-row{border-top:1px solid #edf0f1;border-bottom:1px solid #edf0f1;padding:12px 0 10px;display:flex;justify-content:space-between;margin:16px 0 12px}.metric-row span,.metric-row b{display:block}.metric-row span{font-size:9px;color:#98a6ad;margin-bottom:4px}.metric-row b{font:500 14px "IBM Plex Mono",monospace;color:#364d59}.card-actions{display:flex;align-items:center;justify-content:space-between}.text-button{border:0;background:transparent;color:var(--teal);font-size:11px;font-weight:700;padding:4px 0}.text-button span{font-size:15px;margin-right:5px}.icon-button{border:0;background:transparent;color:#a6b4b8;font-size:16px}.icon-button:hover{color:var(--red)}.empty-card{grid-column:1/-1;text-align:center;padding:37px}.empty-icon{font-size:33px;color:#8ccac0}.empty-card h4{margin:6px 0;font-size:15px}.empty-card p{color:var(--muted);font-size:11px;margin:0 0 16px}.insight-strip{margin-top:27px;border:1px solid #d2e8e4;background:#f0faf8;border-radius:12px;padding:16px 19px;display:flex;align-items:center;gap:14px}.insight-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#d6eee9;color:var(--teal);font-size:17px}.insight-strip b{font-size:12px}.insight-strip p{font-size:10px;color:#718986;margin:3px 0 0}.insight-arrow{margin-right:auto;color:var(--teal);font-size:18px}.modal-backdrop{position:fixed;inset:0;background:rgba(12,38,45,.54);display:grid;place-items:center;padding:20px;z-index:20}.modal-backdrop[hidden]{display:none}.modal{background:#fff;width:min(500px,100%);border-radius:17px;padding:30px;position:relative;box-shadow:0 25px 80px rgba(10,30,38,.25)}.modal-close{position:absolute;left:18px;top:15px;border:0;background:transparent;color:#9aa7ad;font-size:23px}.modal h2{font-size:22px;margin:0 0 8px}.modal-copy{font-size:11px;color:var(--muted);line-height:1.8;margin:0 0 18px}.stack{display:grid;gap:12px}label{display:grid;gap:5px;font-size:11px;font-weight:700;color:#48616c}input{width:100%;border:1px solid #dbe5e8;border-radius:8px;background:#fbfdfd;min-height:40px;padding:0 11px;color:var(--ink);outline:0;font-size:12px}input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(14,143,131,.09)}.dropzone{border:1.5px dashed #9ed0c9;border-radius:12px;background:#f3fbfa;min-height:124px;position:relative;display:grid;place-items:center;text-align:center;overflow:hidden}.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer;height:100%}.drop-content{display:grid;gap:4px;pointer-events:none}.upload-icon{width:32px;height:32px;border-radius:9px;background:#d9f1ed;color:var(--teal);display:grid;place-items:center;margin:0 auto 3px;font-size:20px}.drop-content b{font-size:12px;color:#315761}.drop-content span{font-size:9px;color:#8aa3a4}.drop-content strong{font-size:10px;color:var(--teal)}.or-line{display:flex;align-items:center;gap:10px;color:#a2b0b4;font-size:10px}.or-line:before,.or-line:after{content:"";height:1px;background:#e4ebed;flex:1}.folder-picker{border:1px solid #dce7e8;border-radius:9px;min-height:46px;display:flex;align-items:center;gap:9px;padding:5px 8px;color:#547078}.folder-picker input{display:none}.folder-picker .button{font-size:10px;min-height:32px;padding:0 11px;order:2;margin-right:auto}.folder-picker small{font-weight:400;color:#9aa9ae;font-size:9px}.notice{padding:10px 12px;border-radius:8px;font-size:10px;line-height:1.7}.notice.danger{background:#fff0ee;color:#a44942}.notice.success{background:#e8f8f2;color:#237a60;margin-bottom:16px}.muted-notice{background:#f7f9f9;color:#768b90}.modal-actions{display:flex;justify-content:flex-start;gap:8px;margin-top:7px}.report-modal{width:min(760px,100%);max-height:90vh;overflow:auto}.report-head{padding-bottom:15px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px}.report-head h2{margin:0;font-size:20px}.report-date{font-size:10px;color:var(--muted);margin-top:5px}.report-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.report-stat{background:#f5f9f9;border-radius:9px;padding:12px}.report-stat span,.report-stat b{display:block}.report-stat span{font-size:9px;color:var(--muted)}.report-stat b{font:600 19px "IBM Plex Mono",monospace;margin-top:3px}.report-section-title{font-size:13px;margin:22px 0 9px}.finding{display:flex;gap:9px;border:1px solid #edf0f1;border-radius:8px;padding:10px;margin-bottom:7px}.finding-level{font-size:9px;font-weight:800;min-width:46px}.finding-level.high,.finding-level.critical{color:#ce5c52}.finding-level.medium{color:#bd8634}.finding-level.info{color:var(--teal)}.finding b{font-size:11px}.finding p{font-size:10px;color:#71838a;margin:3px 0 0;line-height:1.65}.finding code{font:10px "IBM Plex Mono",monospace;color:#6b8990;direction:ltr;display:block}.question-box{display:flex;gap:7px;margin-top:18px}.question-box input{flex:1}.answer-box{background:#eff9f7;border-radius:10px;padding:14px;margin-top:12px;font-size:11px;line-height:1.8}.answer-box h4{margin:0 0 4px;color:var(--teal)}.answer-box ul{margin:7px 0 0;padding-right:18px}.answer-box li{margin:3px 0}.auth-page{min-height:100vh;display:grid;place-items:center;background:#dff3ef;padding:20px}.auth-card{background:white;width:min(475px,100%);padding:35px;border-radius:18px;box-shadow:var(--shadow)}.auth-card.compact{width:min(410px,100%)}.auth-card h1{font-size:23px;margin:0 0 23px}.auth-card>.brand-mark{margin-bottom:17px}.auth-card .section-label{font-size:10px;color:var(--teal);font-weight:800;margin-top:7px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.muted{font-size:9px;font-weight:400;color:var(--muted)}@media(max-width:1050px){.main{padding:30px}.hero{padding-left:40%;}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.sidebar{width:62px;padding:18px 8px}.brand{padding:0 5px 35px}.brand>div:last-child,.nav-item:not(.active)::after,.nav-item{font-size:0}.nav-item{justify-content:center;padding:0}.nav-icon{font-size:19px}.side-note,.side-bottom{display:none}.main{margin-right:62px;width:calc(100% - 62px);padding:22px 15px}.topbar h1{font-size:17px}.topbar .button{font-size:0;width:42px;padding:0}.topbar .button:after{content:"＋";font-size:21px}.hero{padding:28px;min-height:330px;align-items:flex-start}.hero h2{font-size:23px}.hero p{max-width:100%}.hero-illustration{opacity:.34;left:-10px;bottom:0;top:auto;width:100%;height:160px}.hero>div:first-child{max-width:100%}.project-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start;gap:10px;flex-direction:column}.heading-actions{display:none}.insight-strip{align-items:flex-start}.insight-arrow{display:none}.report-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:420px){.modal{padding:25px 18px}.grid-2{grid-template-columns:1fr}.topbar{gap:10px}.topbar .eyebrow{font-size:8px}}