:root{--navy:#25051f;--blue:#6d1a5b;--ink:#2d1229;--muted:#806b7b;--line:#eadfe8;--bg:#faf7fa;--red:#b8445d;--green:#287765;--amber:#9b681c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Tahoma,Arial,sans-serif}button,input,select,textarea{font:inherit}a{text-decoration:none;color:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;right:0;top:0;bottom:0;width:235px;background:var(--navy);padding:28px 15px;color:#dce4f1;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;margin:0 8px 42px}.brand>b,.auth-logo{display:grid;place-items:center;width:38px;height:38px;background:#efc678;color:#17233c;border-radius:10px;font-size:22px}.brand strong,.brand small{display:block}.brand strong{font-size:19px;color:#fff}.brand small{font-size:10px;color:#9cabc1;margin-top:3px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{padding:13px;border-radius:8px;color:#aebbcf;font-size:13px}.sidebar nav a.active,.sidebar nav a:hover{background:#2a3958;color:#fff}.account{border-top:1px solid #34435e;margin-top:auto;padding:18px 5px 0;display:flex;align-items:center;gap:8px}.account>span{width:31px;height:31px;border-radius:50%;background:#bf8059;display:grid;place-items:center}.account strong,.account small{display:block}.account strong{font-size:11px}.account small{font-size:9px;color:#98a6ba;margin-top:3px}.account form{margin-right:auto}.account button{border:0;background:none;color:#b6c2d3;font-size:18px;cursor:pointer}.content{width:calc(100% - 235px);margin-right:235px}.content>header{height:70px;background:#fff;border-bottom:1px solid var(--line);padding:0 36px;display:flex;align-items:center;justify-content:space-between}.content>header h1{font-size:15px;margin:0}.content>header div{font-size:11px;color:var(--muted)}.page{max-width:1300px;margin:auto;padding:34px 36px 60px}.alert{max-width:1300px;margin:15px auto 0;padding:11px 14px;border-radius:7px;background:#e5f5ee;color:#23765e;font-size:12px}.alert.error{background:#fee8eb;color:#b83f4c}.primary{border:0;background:var(--blue);color:#fff!important;border-radius:7px;padding:10px 15px;font-weight:bold;cursor:pointer}.button{display:inline-flex;font-size:12px}.hero{background:linear-gradient(120deg,#1a2a49,#315084);color:#fff;border-radius:15px;padding:31px;display:flex;justify-content:space-between;align-items:center}.hero p{font-size:10px;color:#b9c7dd;font-weight:bold}.hero h2{font-size:27px;margin:8px 0}.hero span{font-size:12px;color:#d8e1ef}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.stats article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px}.stats b,.stats span{display:block}.stats b{font-size:26px}.stats span{font-size:10px;color:var(--muted);margin-top:4px}.panel,.reviews,.review-work{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}.panel-head{padding:18px 20px;border-bottom:1px solid #edf0f4;display:flex;justify-content:space-between;align-items:center}.panel-head h2{font-size:15px;margin:0}.panel-head a{font-size:10px;color:var(--blue)}.panel-head span{font-size:10px;background:#eef1f5;padding:4px 8px;border-radius:20px}.list-row{display:flex;gap:10px;align-items:center;padding:13px 20px;border-top:1px solid #edf0f4}.list-row>div,.table-row>div{display:grid;gap:4px}.list-row strong,.table-row strong{font-size:12px}.list-row small,.table-row small{font-size:9px;color:#8792a4}.badge{font-size:9px;font-weight:bold;padding:4px 8px;border-radius:20px;width:max-content}.badge.danger{background:#fee8eb;color:#c14350}.badge.warning{background:#fff3dd;color:#9b6615}.badge.success{background:#e4f5ee;color:#20745a}.badge.info{background:#e8eeff;color:#395dce}.badge.muted{background:#edf0f4;color:#667286}.title-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.title-row h2,.project-head h2{font-size:25px;margin:0 0 7px}.title-row p,.project-head p{font-size:11px;color:var(--muted);margin:0}.title-row>button{font-size:11px}.table-header,.table-row{display:grid;grid-template-columns:1.5fr 170px 140px 160px;gap:15px;align-items:center;padding:14px 20px}.table-header{font-size:10px;font-weight:bold;color:#748096;background:#f8f9fb}.table-row{border-top:1px solid #edf0f4;font-size:11px}.table a.table-row:hover{background:#fafbfe}.empty{padding:30px;text-align:center;color:#8894a6;font-size:12px}.project-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.project-head>div>small{color:#8490a3}.next-form{background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 12px}.next-form label{font-size:10px;font-weight:bold;color:#5f6d84}.next-form input{border:0;color:var(--blue);font-size:11px}.next-form button{border:0;background:none;color:var(--blue);font-size:10px;cursor:pointer}.project-grid{display:grid;grid-template-columns:285px 1fr;gap:17px;align-items:start}.review-link{display:flex;align-items:center;gap:9px;padding:13px;border-bottom:1px solid #edf0f4}.review-link.active{background:#f4f7ff;box-shadow:inset -3px 0 var(--blue)}.review-link>b{font-size:10px;color:#4b65b9}.review-link>div{display:grid;gap:3px}.review-link strong{font-size:11px}.review-link small{font-size:9px;color:#8792a4}.review-link>.badge{margin-right:auto}.new-review{border:1px dashed #aab9d7;color:#4260c5;background:#fff;border-radius:7px;padding:9px;margin:12px;width:calc(100% - 24px);font-size:10px;cursor:pointer}.review-help{background:#f2f6ff;color:#5a6d91;border:1px solid #e1e9fa;margin:14px 17px;padding:10px;border-radius:7px;font-size:10px}.review-actions{display:flex;gap:7px;margin:0 17px}.review-actions button{border:0;background:#edf2ff;color:#3d5fc8;border-radius:6px;padding:8px 10px;font-size:10px;cursor:pointer}.issues-list{padding:5px 17px}.issue-card{border:1px solid #e4e9f0;border-radius:9px;margin:10px 0;padding:13px}.issue-card.child-issue{margin-right:28px;border-right:3px solid #9bb0df;background:#fafbfe}.issue-title>span{display:inline-flex;margin-left:5px}.issue-title h3{font-size:12px;margin:6px 0}.issue-title small{font-size:9px;color:#8490a2}.workflow-checks{display:grid;grid-template-columns:1fr 1.25fr;gap:8px;margin:12px 0}.workflow-checks form{display:flex;gap:6px}.workflow-checks button{border:1px solid #dde4ee;background:#f4f6fa;color:#647188;border-radius:6px;padding:7px;font-size:10px;cursor:pointer}.workflow-checks .developer.checked{background:#ebf2ff;color:#345bc9;border-color:#cfdbf7}.workflow-checks .tester{background:#edf8f4;color:#26775f;border-color:#d4ece3}.workflow-checks .tester.checked{background:#258169;color:#fff}.workflow-checks button:disabled{opacity:.62;cursor:not-allowed}.tester-form input{min-width:130px;flex:1;border:1px solid #dfe5ed;border-radius:6px;padding:7px;font-size:10px}.note-form{display:flex;gap:6px}.note-form input{flex:1;border:1px solid #dde3ed;border-radius:6px;padding:8px;font-size:10px}.note-form button{border:0;border-radius:6px;background:#263956;color:#fff;font-size:10px;padding:8px}.close-review{text-align:left;margin:15px 17px}.close-review button{font-size:10px}dialog{border:0;border-radius:12px;padding:0;box-shadow:0 25px 70px #17233c55;width:min(460px,calc(100% - 30px))}dialog::backdrop{background:#14203b9a}.modal-form{padding:24px;display:grid;gap:13px}.modal-form h2{font-size:18px;margin:0}.modal-form p{font-size:10px;color:var(--muted);margin:0}.modal-form label,.form-grid label,.auth-card label{font-size:11px;font-weight:bold;color:#48566d;display:grid;gap:6px}.modal-form input,.modal-form select,.modal-form textarea,.form-grid input,.auth-card input{border:1px solid #d9e0ea;border-radius:6px;padding:9px;font-size:11px}.modal-form textarea{min-height:75px}.modal-form>div{display:flex;gap:7px;border-top:1px solid #edf0f4;padding-top:14px}.modal-form>div button:not(.primary){border:0;background:#eef1f5;color:#637087;border-radius:6px;padding:9px}.auth-body,.install-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef2fb,#f9fafc);padding:20px}.auth-card,.install-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:0 20px 60px #17233c1a}.auth-logo{margin:auto}.auth-card h1{text-align:center;font-size:21px}.auth-card>p{text-align:center;color:var(--muted);font-size:11px;margin-bottom:20px}.auth-card form{display:grid;gap:13px}.auth-card form button{margin-top:5px}.install-card{width:min(720px,100%)}.install-brand{display:flex;align-items:center;gap:10px;margin-bottom:22px}.install-brand h1{font-size:21px;margin:0}.install-brand p,.install-note{font-size:10px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid h2,.form-grid .wide{grid-column:1/-1}.form-grid h2{font-size:13px;border-bottom:1px solid #edf0f4;padding-bottom:8px;margin:8px 0 0}.install-note{text-align:center;margin-top:18px}@media(max-width:850px){.sidebar{display:none}.content{width:100%;margin:0}.project-grid{grid-template-columns:1fr}.reviews{display:flex;overflow:auto}.reviews>.panel-head{min-width:160px}.review-link{min-width:195px}.stats{grid-template-columns:1fr 1fr}}@media(max-width:600px){.content>header{padding:0 15px}.content>header div{display:none}.page{padding:22px 13px 40px}.hero,.project-head,.title-row{display:block}.hero .button,.title-row>button{margin-top:14px}.stats{gap:8px}.table-header{display:none}.table-row{grid-template-columns:1fr 90px}.table-row>span:nth-last-child(-n+2){display:none}.next-form{margin-top:14px}.workflow-checks{grid-template-columns:1fr}.workflow-checks .tester-form{display:grid}.note-form{display:grid}.issue-card.child-issue{margin-right:12px}.form-grid{grid-template-columns:1fr}.form-grid h2,.form-grid .wide{grid-column:auto}}@media print{.sidebar,.content>header,.title-row button,.review-actions,.note-form,.workflow-checks,.close-review{display:none!important}.content{width:100%;margin:0}.page{padding:0}.panel{border:0}}.notes{margin:14px 0;display:grid;gap:8px}.notes>strong{font-size:13px;color:var(--muted)}.notes>div{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:10px}.notes b{font-size:12px}.notes span{font-size:11px;color:var(--muted);margin-inline-start:8px}.notes p{margin:6px 0 0;white-space:normal}.attachments{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.attachments a{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:7px 10px;font-size:12px}.upload-form{display:flex;align-items:center;gap:8px;margin-top:10px}.upload-form input[type=file]{flex:1;font-size:12px}.schedule-history{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:0 0 16px}.schedule-history summary{cursor:pointer;font-weight:700}.schedule-history div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:9px 0;margin-top:8px}.schedule-history span{font-size:12px;color:var(--muted)}@media(max-width:640px){.upload-form,.schedule-history div{align-items:stretch;flex-direction:column}}.project-report-link{display:inline-block;margin-top:8px;font-size:13px;font-weight:700}.report-filter{display:flex;justify-content:flex-end;margin-bottom:14px}.report-filter label{min-width:240px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:0;overflow:hidden}.settings-grid>div{display:grid;gap:6px;padding:20px;background:var(--surface)}.settings-grid small{color:var(--muted)}@media(max-width:640px){.settings-grid{grid-template-columns:1fr}}.sidebar{background:linear-gradient(180deg,#25051f 0%,#3b0b32 58%,#170312 100%)}.brand{background:#fff;border-radius:14px;padding:12px 10px;margin:0 2px 34px;justify-content:center;box-shadow:0 8px 24px #12000e55}.brand img{display:block;width:170px;height:auto}.sidebar nav a{color:#d7c5d2}.sidebar nav a.active,.sidebar nav a:hover{background:#6d1a5b;color:#fff}.account{border-top-color:#6d4662}.account>span{background:#8a316f;color:#fff}.account small,.account button{color:#d3b9cc}.hero{background:linear-gradient(120deg,#2b0624,#6d1a5b 64%,#8b3b76)}.hero p{color:#e9cfe2}.hero span{color:#f3e7f0}.auth-body,.install-body{background:radial-gradient(circle at top right,#f0e3ed,#faf7fa 46%,#f5f5f5)}.auth-card,.install-card{box-shadow:0 20px 60px #3b0b321c}.auth-brand-logo{display:block;width:180px;height:auto;margin:0 auto 16px}.install-brand{gap:20px}.install-brand img{display:block;width:115px;height:auto;border-radius:10px}.primary{background:linear-gradient(135deg,#6d1a5b,#48103e)}.project-head{border-top:3px solid #6d1a5b}input:focus,select:focus,textarea:focus{outline:2px solid #6d1a5b33;border-color:#6d1a5b}@media(max-width:600px){.install-brand{align-items:flex-start}.install-brand img{width:90px}}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start}.mail-settings{overflow:visible}.mail-settings .panel-head small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.settings-form{padding:20px;display:grid;gap:16px}.settings-form fieldset{border:1px solid var(--line);border-radius:10px;padding:15px;display:grid;gap:12px}.settings-form legend{padding:0 8px;font-weight:700;color:var(--blue)}.smtp-grid{display:grid;grid-template-columns:1fr 130px;gap:12px}.settings-actions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px}.settings-actions button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:10px 14px;cursor:pointer;font-weight:700}.settings-actions .primary{border:0}.settings-side{display:grid;gap:15px}.notification-switch,.connection-help,.system-info{padding:20px}.notification-switch h2,.connection-help h2{font-size:15px;margin:0 0 8px}.notification-switch p{font-size:12px;line-height:1.7;color:var(--muted)}.notification-switch>strong{display:block;margin:14px 0}.notification-switch button{width:100%;margin:4px 0 10px;border:0;border-radius:7px;padding:11px;font-weight:700;cursor:pointer}.notification-switch>small{display:block;color:var(--muted);line-height:1.6}.danger-button{background:#fee8eb;color:#b83f4c}.connection-help dl{margin:15px 0 0}.connection-help dl div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:10px 0;font-size:12px}.connection-help dt{color:var(--muted)}.connection-help dd{margin:0;font-weight:700;direction:ltr}.system-info{display:grid;gap:7px}.system-info small{color:var(--muted);margin-top:5px}.system-info strong{font-size:12px;overflow-wrap:anywhere}@media(max-width:900px){.settings-layout{grid-template-columns:1fr}}@media(max-width:600px){.smtp-grid{grid-template-columns:1fr}.settings-actions{display:grid}.settings-actions button{width:100%}}.settings-form>label,.settings-form fieldset label{display:grid;grid-template-columns:1fr;gap:7px;font-size:12px;font-weight:700;color:var(--ink)}.settings-form input,.settings-form select{display:block;width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:9px 11px;color:var(--ink)}.settings-form input[name=api_key],.settings-form input[name=smtp_host],.settings-form input[name=smtp_port],.settings-form input[name=smtp_user],.settings-form input[name=smtp_password],.settings-form input[name=test_email]{direction:ltr;text-align:left}.settings-form input:focus,.settings-form select:focus{outline:3px solid #6d1a5b1f;border-color:var(--blue)}.settings-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.settings-actions button,.settings-actions .primary{display:block!important;min-height:44px;width:100%}.settings-actions .primary{background:linear-gradient(135deg,#6d1a5b,#48103e)!important;color:#fff!important}.mail-settings fieldset{min-width:0}.mail-settings legend{font-size:14px}@media(max-width:700px){.settings-actions{grid-template-columns:1fr}}.settings-form input[name=mail_from]{direction:ltr;text-align:left}
