:root{--ink:#19312f;--muted:#71837f;--green:#146b57;--line:#dfe7e2;--bg:#f3f6f2}*{box-sizing:border-box}body{margin:0;font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}[hidden]{display:none!important}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;border-radius:9px;padding:10px 16px;color:var(--ink)}button:disabled{opacity:.5;cursor:wait}button:hover{filter:brightness(.96)}.primary{background:var(--green);color:white;border-color:var(--green);font-weight:600}.text-button{border:0;background:transparent;color:var(--green)}label{display:block;font-size:13px;font-weight:600;margin:20px 0}input,select{display:block;width:100%;padding:13px;border:1px solid #cdd9d0;border-radius:8px;margin-top:8px;background:white}input:focus,select:focus,button:focus-visible{outline:3px solid #9bd2bf;outline-offset:2px}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:700;color:var(--muted)}.brand{font-size:38px;font-weight:700;letter-spacing:-2px}.brand span{display:block;font-size:10px;letter-spacing:.22em;color:var(--muted)}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-intro{background:#123b32;color:#f6fbf7;padding:9vh 9vw;position:relative;overflow:hidden}.login-intro .eyebrow{color:#acd4bf}.login-intro h1{font-size:clamp(38px,5vw,68px);line-height:1.15;font-weight:500;letter-spacing:-3px;margin:70px 0 24px}.login-intro p{color:#b7d4c6}.login-intro small{position:relative;display:block;margin-top:150px;color:#aac6b8}.orb{width:310px;height:310px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#b3d68a88,#5b9c7522 60%);position:absolute;right:-70px;bottom:30px;border:1px solid #97c69933}.login-form{max-width:430px;width:100%;margin:auto;padding:48px 28px}.login-form h2{margin-top:60px;font-size:25px;letter-spacing:-1px}.login-form .primary{width:100%;padding:13px}.muted,.hint{color:var(--muted)}.hint{font-size:12px}.login-form #loginMessage{color:#b0443f;font-size:13px}aside{position:fixed;inset:0 auto 0 0;width:230px;padding:35px 28px;background:#fcfdfb;border-right:1px solid var(--line)}nav{margin-top:56px;display:grid;gap:10px}nav button{border:0;text-align:left;background:transparent;color:#627771;padding:13px}.active{background:#e3efe5!important;color:var(--green)!important;font-weight:700}.aside-bottom{position:absolute;bottom:32px;font-size:12px;color:#61766c}.aside-bottom small{color:#8b9991}.dot{display:inline-block;width:7px;height:7px;background:#4d9c71;border-radius:50%;margin-right:8px}main{margin-left:230px;padding:36px 44px;max-width:1600px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px}header h1{font-size:30px;letter-spacing:-1px;margin:5px 0}.account{display:flex;gap:15px;align-items:center;font-size:12px}.account button{font-size:12px}.welcome{border:1px solid #cfdfce;background:#e9f0e3;padding:32px;border-radius:15px;display:flex;justify-content:space-between;align-items:center}.welcome h2{font-size:30px;letter-spacing:-1px;margin:14px 0 8px}.welcome p{color:#657b65;margin:0}.pill{font-size:10px;letter-spacing:.1em;font-weight:700;color:var(--green);border:1px solid #a2c3a8;border-radius:20px;padding:5px 10px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0 38px}.metrics article{background:white;border:1px solid var(--line);padding:24px;border-radius:12px}.metrics span{font-size:13px;color:var(--muted)}.metrics strong{display:block;font-size:35px;font-weight:500;letter-spacing:-1px;margin:10px 0}.metrics small{font-size:11px;color:var(--muted)}.section-head{display:flex;align-items:center;justify-content:space-between;margin:25px 0 14px}.section-head h2{font-size:18px;margin:0}.section-head>span,.section-head p{color:var(--muted);font-size:12px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.job{background:white;border:1px solid var(--line);border-radius:12px;padding:24px}.job .icon{font-size:24px;color:var(--green);width:46px;height:46px;display:grid;place-items:center;border-radius:10px;background:#e9f2e8}.job h3{font-size:17px;margin:18px 0 7px}.job p{color:var(--muted);font-size:12px;min-height:38px}.job .actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}.job button{font-size:12px;padding:8px 11px}.job .schedule{font-size:11px;color:var(--green)}.table{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.run{width:100%;display:grid;grid-template-columns:1fr 100px 160px;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:17px 22px;align-items:center;gap:10px}.run:last-child{border:0}.badge{font-size:11px;justify-self:start;border-radius:20px;padding:3px 10px;background:#e8f4e9;color:#267544}.badge.failed{background:#fceceb;color:#af4d43}.badge.running{background:#edf1fb;color:#5470af}.run time{font-size:12px;color:var(--muted)}.empty{padding:28px;color:var(--muted);font-size:13px}footer{color:var(--muted);font-size:11px;margin-top:40px}dialog{border:1px solid var(--line);border-radius:16px;padding:32px;max-width:600px;width:calc(100% - 30px);box-shadow:0 20px 80px #123b3222}dialog::backdrop{background:#123b3266}dialog h2{margin-top:0}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:50vh;overflow:auto;background:var(--bg);padding:20px;font-size:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}#message{font-size:13px;margin-bottom:12px;color:var(--green)}@media(max-width:1000px){aside{width:180px;padding:30px 18px}main{margin-left:180px;padding:28px}.cards{grid-template-columns:1fr 1fr}.welcome{gap:15px}.account span{max-width:130px;overflow:hidden}}@media(max-width:700px){.login{grid-template-columns:1fr}.login-intro{padding:35px;min-height:260px}.login-intro h1{font-size:38px;margin:30px 0 15px}.login-intro small{margin-top:30px}.login-form h2{margin-top:30px}aside{position:static;width:100%;padding:16px 22px;display:flex;align-items:center;justify-content:space-between;border-right:0;border-bottom:1px solid var(--line)}aside .brand{font-size:30px}nav{display:flex;margin:0;gap:3px}nav button{font-size:12px;padding:8px}.aside-bottom{display:none}main{margin:0;padding:24px 18px}header{align-items:flex-start}.account{flex-direction:column;gap:5px}.welcome{padding:24px;display:block}.welcome h2{font-size:26px}.welcome button{margin-top:20px}.metrics{gap:9px}.metrics article{padding:14px}.metrics strong{font-size:25px}.metrics small{font-size:10px}.cards{grid-template-columns:1fr}.run{grid-template-columns:1fr 60px;padding:15px}.run time{grid-column:1 / -1}.section-head>span{display:none}}

.google-button{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:600;padding:13px;margin-top:26px}.google-mark{font-size:20px;font-weight:750;color:#4285f4}.divider{display:flex;align-items:center;gap:14px;margin:24px 0;color:var(--muted);font-size:11px}.divider:before,.divider:after{content:"";height:1px;background:var(--line);flex:1}

.project-content{background:#fff;padding:24px;border-radius:16px;line-height:1.8}.project-content h2{margin-top:32px}.project-content a,#projectSource{color:#21634b}.project-table{overflow-x:auto;margin:20px 0}.project-table table{width:100%;border-collapse:collapse;min-width:780px}.project-table th,.project-table td{text-align:left;padding:12px;border-bottom:1px solid #e2e8e3;vertical-align:top}.project-table th{background:#edf3ee}.project-table td:first-child{min-width:240px}

.subpage-links{padding:16px 20px;background:#edf3ee;border-radius:12px;margin:20px 0}.subpage-links h2{margin:0 0 12px}.subpage-links a{display:block;padding:10px 0;text-decoration:none;font-weight:600}.subpage-links a:hover{text-decoration:underline}

.task-summary{display:flex;flex-wrap:wrap;gap:10px}.task-summary span{background:#edf3ee;border-radius:20px;padding:6px 12px}.task-card{padding:18px;border:1px solid #dfe7e0;border-radius:12px;margin:12px 0}.task-title{font-weight:600}.task-controls{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin:12px 0}.task-controls label,.task-review{display:flex;align-items:center;gap:6px;margin:0}.task-controls input,.task-review input{width:auto}.task-deleted .task-title{text-decoration:line-through;opacity:.65}.original-content{margin-top:30px;border-top:1px solid #ddd;padding-top:18px}.original-content summary{cursor:pointer}textarea{width:100%;font:inherit;padding:10px;border:1px solid #c9d6cc;border-radius:8px}#taskError{color:#b33636}
