
:root{--bg:#f4f6fb;--ink:#172442;--muted:#64718b;--line:#e3e8f2;--accent:#244ac7;--accent-soft:#edf1ff;--white:#fff;--sidebar:246px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.55}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input,select,textarea{font:inherit}button,.button{display:inline-block;border:1px solid #d9e0ee;background:#fff;color:var(--ink);border-radius:8px;padding:10px 16px;cursor:pointer;font-weight:600}button:hover{border-color:var(--accent);background:#f0f3ff}button:disabled{cursor:default;opacity:.65}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #91a7f2;outline-offset:3px}.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.primary:hover{background:#19389e;color:#fff}.wide{width:100%}.sidebar{width:var(--sidebar);position:fixed;inset:0 auto 0 0;background:white;border-right:1px solid var(--line);padding:34px 20px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;margin:0 10px 49px;font-size:25px;font-weight:750;letter-spacing:-1px}.brand small{font-size:8px;letter-spacing:1.5px;color:var(--muted);margin-top:0}.brand-icon{background:var(--accent);color:white;width:42px;height:44px;border-radius:12px;display:grid;place-items:center;font-family:Georgia,serif}.nav-label,.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:700;color:var(--muted)}.nav-label{padding:0 14px;margin-bottom:12px}nav a{display:flex;gap:13px;align-items:center;padding:12px 15px;border-radius:8px;color:#5d6b86;margin:4px 0;font-size:13px}nav a span{font-size:20px;width:20px}nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:650}.sidebar-bottom{margin-top:auto;padding:30px 7px 10px;display:flex;align-items:center;gap:10px;font-size:12px}.avatar{width:35px;height:35px;border-radius:50%;background:#e8edfb;display:grid;place-items:center;font-family:Georgia;font-size:19px}.logout{background:none;border:0;font-size:11px;color:var(--muted);padding:8px}main{margin-left:var(--sidebar)}.topbar{height:74px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.8);display:flex;justify-content:space-between;align-items:center;padding:0 45px;font-size:12px}.topbar b{background:var(--accent-soft);color:var(--accent);padding:3px 7px;border-radius:6px;margin-left:6px}.content{max-width:1440px;margin:auto;padding:34px 45px 70px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}h1{font-size:29px;letter-spacing:-.9px;font-weight:650;margin:6px 0 0}h2{font-size:17px;letter-spacing:-.3px;margin:0 0 15px;font-weight:650}h3{margin-bottom:5px;font-size:16px}small{display:block;color:var(--muted);font-size:11px;line-height:1.8}.date{font-size:12px;color:var(--muted)}.welcome{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(115deg,#122958 0%,#244ac7 100%);color:#fff;border:1px solid #244ac7;border-radius:14px;padding:29px 34px;margin-bottom:25px;overflow:hidden}.welcome .eyebrow{color:#c5d3ff}.welcome h2{font-family:Georgia,serif;font-weight:400;font-size:33px;line-height:1.17;margin:12px 0}.welcome p{font-size:12px;color:#e0e7ff;max-width:430px;margin-bottom:20px}.welcome-art{min-width:210px;padding:20px;text-align:center;transform:rotate(-8deg);display:flex;flex-direction:column;align-items:center;gap:2px}.welcome-art span{border:1px solid #768dd7;color:#fff;background:#3759ba;padding:8px 30px;border-radius:6px;font-size:10px;letter-spacing:2px;box-shadow:8px 8px 0 rgba(12,28,73,.24)}.welcome-art strong{font-family:Georgia;font-size:24px;transform:rotate(90deg);color:#b8c9ff;margin:3px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:19px;margin-bottom:25px}.stats article{border:1px solid var(--line);background:white;border-radius:12px;padding:21px 25px}.stats small{font-size:9px;letter-spacing:1px;font-weight:650}.stats strong{display:block;font-size:36px;font-weight:550;line-height:1.7}.stats span{font-size:11px;color:var(--muted)}.grid-two{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:start}.card{border:1px solid var(--line);border-radius:12px;background:white;padding:25px;margin-bottom:24px;min-width:0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.section-title h2{margin:0}.section-title a{font-size:11px;color:var(--accent)}.list-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid var(--line);font-size:12px}.list-row:last-child{border-bottom:0}.list-row strong{font-weight:600}.list-row>span{flex-shrink:0}.late{color:#ac6543}.empty{padding:32px 10px;text-align:center;color:var(--muted);font-size:13px}.empty small{margin-top:5px}.muted{color:var(--muted)}.badge{display:inline-block;white-space:nowrap;padding:5px 9px;border-radius:6px;font-size:10px;font-weight:600;background:#f1f3f5;color:#687583}.badge.working{background:#edf1ff;color:#3452a0}.badge.submitted{background:#faf1dd;color:#96712c}.badge.approved{background:#e7f2eb;color:#387455}.badge.changes{background:#fae9e2;color:#a96845}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:10px;color:var(--muted);font-weight:550;padding:15px 12px;border-bottom:1px solid var(--line)}td{padding:18px 12px;border-bottom:1px solid var(--line);font-size:12px}tr:last-child td{border:0}.student-link{font-weight:650}progress{width:105px;height:5px;accent-color:var(--accent);border:0;border-radius:8px;background:#e9eef0}progress::-webkit-progress-bar{background:#e9eef0;border-radius:8px}progress::-webkit-progress-value{background:#244ac7;border-radius:8px}label{display:block;font-size:12px;font-weight:550;margin:15px 0}input,textarea,select{display:block;width:100%;border:1px solid #d9e0ee;border-radius:7px;padding:11px;background:#fff;color:var(--ink);margin-top:7px;min-width:0}textarea{min-height:110px;resize:vertical}input[type=file]{font-size:12px}input[type=checkbox]{width:auto;margin:0}.checkbox{display:flex;align-items:center;gap:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}fieldset{border:1px solid var(--line);border-radius:8px;padding:15px;margin:20px 0}legend{font-size:12px;color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.notice{border:1px solid #dae4ed;background:#eef4f8;padding:14px 18px;border-radius:8px;margin-bottom:22px;font-size:13px}.notice.success{background:#eaf4ee;border-color:#d5e7dc;color:#356d50}.notice.error{background:#fff0ed;border-color:#f0ccc3;color:#a34932}.back{display:inline-block;color:var(--muted);font-size:12px;margin-bottom:18px}.stage-row{display:flex;gap:17px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.stage-row>div{flex:1}.stage-row strong{font-size:13px}.step-number{height:34px;width:34px;border-radius:10px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent);font-size:12px}.check-task{border:0;text-align:left;background:none;font-weight:400;padding:10px 0;width:100%}.file{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);word-break:break-word}.file-icon{height:38px;min-width:33px;border:1px solid #dce4f7;border-radius:5px;display:grid;place-items:center;color:var(--accent);font-size:8px;background:#f0f3fc}.comment{padding:15px;background:#f6f8f9;border-radius:8px;margin-bottom:12px;font-size:13px}.comment p{white-space:normal;overflow-wrap:anywhere}.review{border-color:#c2cff4}.meeting{padding:20px 0;border-bottom:1px solid var(--line)}.participant{font-size:12px;color:#6b7780}details{margin:15px 0}summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--accent);padding:8px 0}.danger{color:#a34932}.unread{border-left:3px solid var(--accent);padding-left:15px}hr{border:0;border-top:1px solid var(--line);margin:22px 0}.prose{white-space:normal;max-width:850px}.auth{margin:0;display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:white}.auth-intro{background:linear-gradient(145deg,#122958,#244ac7);padding:12vh 9%;position:relative;overflow:hidden}.auth-intro h1{font-family:Georgia;font-size:clamp(36px,4vw,62px);line-height:1.1;font-weight:400;margin-top:35px;color:#fff}.auth-intro p{color:#d8e2ff;margin-top:25px}.auth-mark{font-family:Georgia;font-size:250px;line-height:1;color:rgba(211,223,255,.22);margin-top:55px}.auth-form{max-width:440px;width:100%;padding:100px 30px;margin:auto}.auth-form h1{margin-top:15px}.auth-form form{margin:30px 0 20px}.subtle-link{font-size:12px;color:var(--muted)}@media(min-width:1600px){.content{padding-top:50px}.welcome{min-height:260px}}@media(max-width:1100px){:root{--sidebar:210px}.content{padding:25px}.topbar{padding:0 25px}.grid-two{grid-template-columns:1fr}.welcome-art{min-width:140px;padding:10px}.welcome h2{font-size:28px}}@media(max-width:700px){.sidebar{position:static;width:100%;padding:15px;border-right:0;border-bottom:1px solid var(--line)}.brand{margin:0 0 12px;font-size:21px}.brand-icon{height:34px;width:34px}.nav-label,.sidebar-bottom,.sidebar .logout{display:none}nav{display:flex;overflow-x:auto;gap:4px}nav a{white-space:nowrap;padding:8px;font-size:11px;gap:6px}nav a span{font-size:16px;width:auto}main{margin:0}.topbar{height:48px;padding:0 18px;font-size:10px}.content{padding:24px 16px}.welcome{padding:23px}.welcome-art{display:none}.stats{gap:8px}.stats article{padding:14px 10px}.stats small{font-size:8px;letter-spacing:.3px}.stats strong{font-size:28px}.stats span{font-size:9px}.card{padding:18px}.page-heading h1{font-size:25px}.date{display:none}.form-grid{grid-template-columns:1fr}.stage-row{gap:10px;flex-wrap:wrap}.auth{grid-template-columns:1fr}.auth-intro{padding:35px 25px}.auth-intro h1{font-size:35px;margin-top:15px}.auth-intro p{margin-bottom:0}.auth-mark{display:none}.auth-form{padding:35px 25px}.section-title{align-items:flex-start;flex-wrap:wrap}}

/* Accente de brand; culorile stărilor rămân semantice. */
.welcome .primary{background:#fff;color:#203e98;border-color:#fff;box-shadow:0 4px 12px rgba(7,20,58,.12)}
.welcome .primary:hover{background:#edf1ff;border-color:#edf1ff;color:#172e78}
.auth-intro .eyebrow{color:#c5d3ff}
.brand-icon{box-shadow:0 4px 12px rgba(36,74,199,.17)}
.card,.stats article{box-shadow:0 3px 14px rgba(23,36,66,.025)}
input[type=checkbox]{accent-color:var(--accent)}
progress::-moz-progress-bar{background:var(--accent);border-radius:8px}

/* Taburi de administrare: navigare nativă, disponibilă fără JavaScript. */
.settings-intro{margin:-12px 0 22px;font-size:13px}
.settings-tabs{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:24px;padding:0 0 1px;scrollbar-width:thin}
.settings-tabs a{position:relative;flex-shrink:0;margin:0;border-radius:8px 8px 0 0;padding:13px 18px;color:var(--muted);font-size:13px;font-weight:600;white-space:nowrap}
.settings-tabs a:hover{background:var(--accent-soft);color:var(--accent)}
.settings-tabs a.selected{background:var(--accent-soft);color:var(--accent)}
.settings-tabs a.selected::after{content:"";position:absolute;bottom:-1px;left:12px;right:12px;height:3px;background:var(--accent);border-radius:3px 3px 0 0}
@media(max-width:700px){.settings-tabs{margin-bottom:18px}.settings-tabs a{padding:12px 14px;font-size:12px}.settings-intro{margin-top:-10px}}

.file-details{flex:1;min-width:0}.resource-delete{flex-shrink:0;align-self:center;font-size:12px;padding:7px 12px}.resource-delete:hover{color:#923a28;border-color:#d9a99c;background:#fff4f0}
