/* gLodRa v7 - tokens and app-shell (app.glodra.com ile aynı dil) */
:root{
  color-scheme:light;
  --paper:#ffffff; --shell:#f7f9fb; --card:#eef2f6; --line:#e4e9ef; --line-soft:#edf1f5;
  --ink:#0c1a28; --ink-2:#4a5b6b; --ink-3:#8595a4;
  --navy:#0d2438; --navy-deep:#081726; --blue:#2563b8; --teal:#138a73; --green:#2f8f4e;
  --amber:#c47d2a; --rust:#c25d3a; --rust-soft:#f7e8e2; --info-bg:#eef2f8;
  --ok:var(--green); --warn:var(--amber); --risk:var(--rust);
  --brand-rule:linear-gradient(90deg,var(--navy),var(--teal) 62%,var(--green));
  --brand-gradient:linear-gradient(150deg,var(--navy),var(--teal) 75%,var(--green));
  --serif:Georgia,'Times New Roman',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --mono:'SF Mono','JetBrains Mono',Menlo,Consolas,monospace;
  --r:10px; --side:262px;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 var(--sans);-webkit-text-size-adjust:100%}
a{color:var(--blue);text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:600;margin:0 0 10px;color:var(--ink);letter-spacing:-.01em}
h1{font-size:26px} h2{font-size:18px} h3{font-size:15.5px}

/* ---------- shell ---------- */
.gh{display:flex;align-items:center;gap:14px;padding:12px 28px;background:var(--paper)}
.brand{display:flex;align-items:center;gap:11px;color:var(--ink)}
.mark{width:34px;height:34px;border-radius:9px;background:var(--brand-gradient);color:#fff;font:800 16px/34px var(--serif);text-align:center;flex:0 0 34px}
.word{font:700 22px var(--serif);color:var(--navy);letter-spacing:-.22px}
.prod{font:11.5px var(--mono);color:var(--ink-3);padding-left:14px;border-left:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gh .sp{flex:1}
.grule{height:3px;background:var(--brand-rule)}
.parties{display:flex;align-items:center;justify-content:center;gap:0;background:var(--shell);border-bottom:1px solid var(--line);padding:10px 28px}
.parties .plogo{flex:1;max-width:260px;display:flex;align-items:center;justify-content:center;height:40px;padding:0 20px}
.parties .plogo+.plogo{border-left:1px solid var(--line)}
.parties img{max-height:30px;max-width:100%;width:auto}
.app{display:flex;min-height:calc(100vh - 120px)}
.side{width:var(--side);flex:0 0 var(--side);background:var(--shell);border-right:1px solid var(--line);padding:8px 0 16px}
.slbl{font:10px/1.5 var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-3);padding:12px 22px 6px}
.proj{margin:0 16px 8px;padding:10px 12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
.proj .pn{font:600 15px var(--serif)} .proj .pm{font-size:12px;color:var(--ink-2)}
.snav{padding:4px 12px;border-top:1px solid var(--line);margin-top:10px;position:sticky;top:0}
.ssec{font:10px/1.5 var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-3);padding:14px 10px 4px}
.srow{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:7px;color:var(--ink)}
.srow:hover{background:var(--card)}
.srow .dot{width:6px;height:6px;border-radius:50%;border:1.5px solid var(--ink-3);flex:0 0 6px}
.srow .nm{font:600 15px var(--serif);flex:1}
.srow .ct{font:11px var(--mono);color:var(--ink-3)}
.srow.on{background:var(--card)} .srow.on .dot{background:var(--green);border-color:var(--green)}
.mainwrap{flex:1;min-width:0;display:flex;flex-direction:column}
.burger{display:none;border:1px solid var(--line);background:var(--paper);border-radius:8px;width:38px;height:38px;cursor:pointer}
.acct{position:relative}
.acct summary{list-style:none;cursor:pointer} .acct summary::-webkit-details-marker{display:none}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--brand-gradient);color:#fff;font:800 15px/34px var(--serif);text-align:center}
.apanel{position:absolute;right:0;top:42px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 10px 34px rgba(26,26,26,.12);min-width:230px;padding:4px 0;z-index:40}
.apanel .ahd{padding:10px 14px;border-bottom:1px solid var(--line-soft);font-size:13.5px}
.apanel a{display:block;padding:9px 14px;color:var(--ink);font-size:14px} .apanel a:hover{background:var(--shell)}
main{width:100%;max-width:1180px;padding:24px 34px 40px}
.mfoot{margin-top:auto;padding:18px 34px;font:11px var(--mono);color:var(--ink-3)}
body:has(.app)>footer{display:none}
.scrim{display:none}

/* ---------- components ---------- */
.card{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px 22px 16px;margin:0 0 16px;overflow:hidden}
.card::before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:var(--brand-rule)}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:16px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column-reverse;justify-content:flex-end}
.kpi .n{font:400 26px/1.4 var(--serif);color:var(--ink)}
.kpi .l{font:10px/1.6 var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-3)}
.kpi .kn{font-size:12px;color:var(--ink-2)}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.row>*{flex:0 1 auto}
.grow{flex:1 1 200px}
input,select,textarea{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:8px 11px;min-height:40px;max-width:100%;font-size:14px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(19,138,115,.12)}
textarea{width:100%;min-height:80px}
label.f{display:block;margin:10px 0 3px;font:10px var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-3)}
.btn{background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:8px;padding:8px 14px;min-height:40px;cursor:pointer;font-size:14px}
.btn:hover{background:var(--navy-deep)}
.btn.sec{background:var(--paper);color:var(--ink);border-color:var(--line)} .btn.sec:hover{background:var(--shell)}
.btn.ok{background:var(--teal);border-color:var(--teal)} .btn.bad{background:var(--rust);border-color:var(--rust)}
.btn:disabled{opacity:.45;cursor:default}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th,td{text-align:left;padding:10px 13px;vertical-align:top}
td{border-top:1px solid var(--line-soft)}
th{font:10px/1.5 var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--ink-3);background:var(--card);font-weight:400}
tr.click{cursor:pointer} tr.click:hover td{background:var(--shell)}
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--r)}
.card .tw{margin-top:6px}
.pill{display:inline-block;padding:1px 8px;border-radius:6px;font-size:12px;background:var(--card);color:var(--ink-2);white-space:nowrap}
.pill.ok{background:#e3f2e8;color:var(--green)} .pill.warn{background:#f8eedf;color:var(--amber)} .pill.risk{background:var(--rust-soft);color:var(--rust)}
.pill.info{background:var(--info-bg);color:var(--blue)}
.mono{font-family:var(--mono);font-size:12.5px}
.muted{color:var(--ink-3)}
.crumbs{font:11.5px var(--mono);color:var(--ink-3);margin-bottom:10px}
.tree a{display:flex;align-items:baseline;gap:6px;padding:5px 10px;border-radius:7px;color:var(--ink);font-size:14px}
.tree a:hover{background:var(--card)}
.tree a .ct{margin-left:auto;font:11px var(--mono);color:var(--ink-3)}
.tree a.grp{font:600 15px var(--serif);margin-top:4px}
.tree a.sub{padding-left:22px}
.tree a.bld{padding-left:36px;font-size:13px}
.tree a.bld .muted{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tree a.empty{color:var(--ink-3)}
.tree a.sel{background:var(--card);font-weight:600}
tr.grow-row td{background:var(--shell)}
.split{display:grid;grid-template-columns:240px 1fr;gap:16px}
.split>*{min-width:0}
details.treebox>summary{cursor:pointer;font:600 16px var(--serif);padding:4px 0;list-style:none}
.photos{display:flex;gap:8px;flex-wrap:wrap}
.photos img{width:110px;height:110px;object-fit:cover;border-radius:8px;border:1px solid var(--line);cursor:pointer}
.check{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 0;border-bottom:1px solid var(--line-soft)}
.seg{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.seg button{border:0;background:var(--paper);padding:8px 12px;min-width:52px;min-height:40px}
.seg button.on.OK{background:var(--green);color:#fff}.seg button.on.NOK{background:var(--rust);color:#fff}.seg button.on.NA{background:var(--ink-3);color:#fff}
#queue{font:11px var(--mono);padding:3px 8px;border-radius:6px;background:var(--amber);color:#fff;display:none}
#queue.on{display:inline-block}
#offline{display:none;background:var(--amber);color:#fff;text-align:center;padding:4px;font-size:13px}
#offline.on{display:block}
.modal{position:fixed;inset:0;background:rgba(8,23,38,.45);display:flex;align-items:flex-start;justify-content:center;padding:24px 12px;z-index:50;overflow:auto}
.modal .box{background:var(--paper);border-radius:14px;max-width:640px;width:100%;padding:20px 22px;border:1px solid var(--line)}
.toast{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:10px 16px;border-radius:8px;z-index:60;font-size:14px}
footer{text-align:center;font:11px var(--mono);color:var(--ink-3);padding:24px 16px}
.hold{color:var(--rust);font-weight:600}

/* ---------- login ---------- */
.login{max-width:400px;margin:48px auto 0;padding:0 16px}
.login .card{padding:24px 26px 20px}
.login .slbl{padding:4px 0 2px}
.login h1{font-size:22px;margin-bottom:8px}

/* ---------- mobile ---------- */
@media (max-width:900px){
  .side{position:fixed;left:0;top:0;bottom:0;z-index:45;overflow-y:auto;transform:translateX(-100%);transition:transform .2s;padding-top:16px}
  body.nav-open .side{transform:none}
  body.nav-open .scrim{display:block;position:fixed;inset:0;background:rgba(8,23,38,.35);z-index:44}
  .burger{display:block}
  .gh{padding:10px 14px;gap:10px}
  .prod{display:none}
  .parties{padding:8px 6px}
  .parties .plogo{padding:0 8px;height:32px}
  .parties img{max-height:22px}
  main{padding:12px 14px 32px}
  .mfoot{padding:14px}
  .split{grid-template-columns:1fr}
  th,td{padding:8px 9px}
  h1{font-size:22px}
}
@media print{.side,.gh,.grule,.burger,.mfoot,.noprint,footer .noprint{display:none!important} body{background:#fff} .card{border:0} .card::before{display:none} main{padding:0}}
