*{box-sizing:border-box}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17202a;background:#f4f6f8}body{margin:0;min-width:320px;background:#f4f6f8}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#eef2f7,#dfe7ef)}.login-card{width:420px;max-width:100%;padding:42px;background:#fff;border-radius:18px;box-shadow:0 20px 60px #0000001f}.login-logo{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:#17202a;color:#fff;font-weight:800;font-size:18px}.login-card h1{margin:22px 0 5px}.login-subtitle{color:#68737d;margin-bottom:30px}.login-card label{display:block;margin-top:16px;margin-bottom:7px;font-size:14px;font-weight:600}.login-card input{width:100%;padding:12px 14px;border:1px solid #d6dce1;border-radius:9px;outline:none}.login-card input:focus{border-color:#657786}.login-card button{width:100%;margin-top:24px;padding:13px;border:0;border-radius:9px;background:#17202a;color:#fff;font-weight:600}.app{min-height:100vh;display:flex}.sidebar{width:270px;flex:0 0 270px;min-height:100vh;background:#17202a;color:#fff;display:flex;flex-direction:column}.brand{padding:24px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#fff;color:#17202a;font-weight:800}.brand small{display:block;color:#aeb8c1;margin-top:3px}.sidebar nav{padding:15px}.sidebar nav button{width:100%;text-align:left;border:0;background:transparent;color:#c7d0d8;padding:12px 14px;border-radius:8px;margin-bottom:4px}.sidebar nav button:hover,.sidebar nav button.active{background:#ffffff1a;color:#fff}.sidebar-bottom{margin-top:auto;padding:20px;border-top:1px solid rgba(255,255,255,.08)}.user-info strong{display:block}.user-info span{color:#9da8b1;font-size:13px}.logout{width:100%;margin-top:14px;padding:9px;border:1px solid rgba(255,255,255,.15);border-radius:7px;background:transparent;color:#fff}.main{flex:1;min-width:0}.topbar{min-height:88px;display:flex;align-items:center;background:#fff;padding:20px 35px;border-bottom:1px solid #e1e5e8}.topbar h2{margin:0 0 5px}.topbar span{color:#78838c;font-size:14px}.content{padding:30px 35px;max-width:1700px}.page-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.page-intro h1{margin:0 0 5px;font-size:27px}.page-intro p{margin:0;color:#78838c}.actions{display:flex;gap:10px}.button{border:1px solid transparent;border-radius:8px;padding:10px 15px;font-weight:600}.button.primary{background:#17202a;color:#fff}.button.secondary{background:#fff;color:#17202a;border-color:#d7dde2}.button.small{padding:7px 11px;font-size:13px}.loading,.loading-screen{color:#78838c;padding:50px;text-align:center}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700}.error-panel,.form-error{background:#fdecec;color:#a32222;border-radius:8px;padding:12px 14px;margin-bottom:20px}.empty{padding:35px;text-align:center;color:#7c8790}.empty p{margin-top:0}.cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin-bottom:25px}.stat-card{min-width:0;background:#fff;border:1px solid #e4e8eb;border-radius:12px;padding:20px}.stat-card span{display:block;color:#78838c;font-size:13px}.stat-card strong{display:block;margin-top:9px;font-size:29px}.panel{background:#fff;border:1px solid #e4e8eb;border-radius:12px;padding:24px;margin-bottom:20px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.panel-title h3{margin:0 0 4px}.panel-title span{color:#7c8790;font-size:13px}.status-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #edf0f2}.status-row:last-child{border-bottom:0}.workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.workspace>.panel:nth-child(3),.workspace>.panel:nth-child(4){grid-column:span 1}.entity-list{display:flex;flex-direction:column;gap:8px}.entity-card{padding:13px 15px;border:1px solid #e4e8eb;border-radius:9px;display:flex;justify-content:space-between;align-items:center;gap:15px}.entity-main{min-width:0}.entity-main strong{display:block}.entity-main span{display:block;margin-top:3px;color:#78838c;font-size:13px}.entity-meta{white-space:nowrap;color:#78838c;font-size:12px}.project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.project-card{text-align:left;padding:16px;background:#fff;border:1px solid #e1e6ea;border-radius:10px;color:#17202a}.project-card:hover,.project-card.selected{border-color:#7b8791;background:#f8fafb}.project-code{display:inline-block;margin-bottom:8px;padding:4px 7px;border-radius:5px;background:#eef2f5;color:#52606b;font-size:11px;font-weight:700}.project-card strong{display:block}.project-card>span{display:block;margin-top:5px;color:#78838c;font-size:12px}.project-stats{display:flex;gap:12px;margin-top:14px;color:#78838c;font-size:11px}.system-card{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;padding:13px 15px;border:1px solid #e1e6ea;border-radius:9px;background:#fff;color:#17202a}.system-card:hover,.system-card.selected{border-color:#7b8791;background:#f8fafb}.system-card strong,.system-card span{display:block}.system-card span{margin-top:3px;color:#78838c;font-size:12px}.system-card small{color:#78838c}.module-list{display:flex;flex-direction:column;gap:8px}.module-card{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #e1e6ea;border-radius:9px}.module-code{min-width:75px;color:#52606b;font-family:monospace;font-size:12px;font-weight:700}.module-main{flex:1}.module-main strong,.module-main span{display:block}.module-main span{margin-top:3px;color:#78838c;font-size:12px}.badge{padding:4px 8px;border-radius:5px;background:#eef2f5;color:#52606b;font-size:11px;font-weight:700}.modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:#11181d73}.modal{width:560px;max-width:100%;max-height:90vh;overflow-y:auto;background:#fff;border-radius:14px;box-shadow:0 30px 80px #00000040;padding:24px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.modal-header h3{margin:0}.modal-close{width:32px;height:32px;border:0;border-radius:7px;background:#f1f3f5;color:#4b5660;font-size:22px;line-height:1}.field{display:block;margin-bottom:17px}.field>span{display:block;margin-bottom:7px;font-size:13px;font-weight:600}.required{color:#a32222}.field input,.field textarea,.field select{width:100%;padding:10px 12px;border:1px solid #d6dce1;border-radius:8px;outline:none;background:#fff}.field textarea{resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:#657786}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px;padding-top:18px;border-top:1px solid #edf0f2}.placeholder-panel{min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.placeholder-panel h2{margin-bottom:8px}.placeholder-panel p{max-width:600px;color:#78838c;line-height:1.6}.placeholder-icon{padding:12px 18px;border-radius:10px;background:#17202a;color:#fff;font-weight:800}@media(max-width:1250px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1000px){.sidebar{width:230px;flex-basis:230px}.content{padding:25px}.workspace{grid-template-columns:1fr}.workspace>.panel:nth-child(3),.workspace>.panel:nth-child(4){grid-column:auto}}@media(max-width:750px){.sidebar{width:70px;flex-basis:70px}.brand{padding:14px;justify-content:center}.brand>div:last-child{display:none}.sidebar nav{padding:10px}.sidebar nav button{text-align:center;padding:12px 5px;font-size:0}.sidebar nav button:first-letter{font-size:16px}.sidebar-bottom{padding:10px}.user-info{display:none}.logout{font-size:0}.logout:after{content:"↪";font-size:18px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.page-intro{align-items:flex-start;flex-direction:column}.actions{width:100%}}@media(max-width:520px){.topbar{padding:18px 20px}.content{padding:20px 15px}.cards,.project-list{grid-template-columns:1fr}.panel{padding:18px}.actions{flex-direction:column}.actions .button{width:100%}}
