:root{--ink:#29263b;--muted:#837e92;--line:#e9e6ed;--bg:#faf9f7;--violet:#6557c8;--violet-bg:#f0effa;--green:#278e70;--yellow:#a77b08;--red:#c84b4b;--blue:#397bb3}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,"Yu Gothic",sans-serif;font-size:14px}aside{width:230px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:30px 18px;display:flex;flex-direction:column}.brand{font-size:20px;font-weight:800;letter-spacing:-1px;margin:0 12px 42px}.brand span{font-weight:400;color:#aaa5b6}nav{display:grid;gap:5px}nav a,.account a{padding:11px 12px;border-radius:8px;text-decoration:none;color:#777286;font-size:13px}nav a.active{background:var(--violet-bg);color:var(--violet);font-weight:bold}.account{border-top:1px solid var(--line);margin-top:auto;padding:17px 10px 0}.account b,.account small{display:block}.account small{color:var(--muted);font-size:11px;margin-top:3px}.account a{display:block;padding:10px 0 0;color:var(--violet);font-size:11px}.main{margin-left:230px;max-width:1420px;padding:42px 54px;min-height:100vh}.top,.job-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.eyebrow{font-size:10px;color:#9a95a5;font-weight:bold;letter-spacing:1.3px;margin:0 0 8px}h1{font:32px Georgia,"Yu Mincho",serif;margin:0}h1 small{font:14px Arial;color:var(--muted);margin-left:8px}.sub{color:var(--muted);margin:10px 0 0;font-size:13px}.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px}.primary,.form button,.inline button,.step button,.compact button,.search button{background:var(--violet);border:0;border-radius:7px;color:#fff;padding:11px 16px;font-weight:bold;cursor:pointer}.btn{text-decoration:none;font-size:12px}.filters{display:flex;gap:7px;margin-bottom:16px}.filters a{border:1px solid var(--line);background:#fff;padding:8px 14px;border-radius:20px;text-decoration:none;color:var(--muted);font-size:12px}.filters .chosen{background:var(--violet);border-color:var(--violet);color:#fff}.dash{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.card h2{font-size:17px;margin:0 0 14px}.todo>a{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;border-top:1px solid var(--line);padding:15px 4px;color:inherit;text-decoration:none}.todo small{grid-column:2;color:var(--muted);font-size:11px}.dot{width:8px;height:8px;border-radius:50%;background:#aaa}.normal{color:var(--green)!important}.warn{color:var(--yellow)!important}.danger{color:var(--red)!important}.dot.warn{background:#e6b43e}.dot.danger{background:var(--red)}.dot.normal{background:var(--green)}em{font-size:11px;font-style:normal}.alertbox h3{font-size:11px;color:var(--red);letter-spacing:.3px;margin:19px 0 5px}.alertbox a{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #f2f0f4;color:inherit;text-decoration:none;font-size:12px}.alertbox p,.empty{color:var(--muted);font-size:12px}.search{display:flex;gap:8px;margin-bottom:14px}.search input{flex:1;max-width:500px}.table{padding:0;overflow:auto}.thead,.tr{min-width:880px;display:grid;grid-template-columns:1.2fr 1.05fr .7fr .65fr .7fr 1.25fr;gap:13px;align-items:center}.thead{padding:13px 18px 9px;color:#a19baa;font-size:10px}.tr{padding:14px 18px;border-top:1px solid #f0eef2;text-decoration:none;color:inherit;font-size:12px}.tr small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.tr b{font-size:13px}.pill{border-radius:14px;padding:4px 8px;font-size:10px;white-space:nowrap}.unpaid{background:#fceaea;color:var(--red)}.pending{background:#fff5dc;color:var(--yellow)}.paid{background:#e9f7f1;color:var(--green)}.back{color:var(--violet);font-size:12px;text-decoration:none;display:inline-block;margin-bottom:23px}.next{display:flex;justify-content:space-between;gap:15px;margin-bottom:15px;background:#fdfcff;border-left:4px solid var(--violet)}.next b,.next small{display:block}.next small{color:var(--muted);font-size:11px;margin-top:7px}.inline{display:flex;gap:6px;align-items:center}.inline input{width:145px}.inline input[name=next_action]{width:200px}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:15px}.summary>div{background:#fff;border:1px solid var(--line);border-radius:9px;padding:16px}.summary small,.summary b,.summary em{display:block}.summary small{font-size:10px;color:var(--muted)}.summary b{margin:7px 0;font-size:14px}.payment{margin-bottom:15px}.notice{background:#fff2e7;color:#b65b26;border-radius:6px;padding:10px;font-size:12px}.form{max-width:850px}.wide{max-width:none}.form h2{font-size:16px;margin:24px 0 13px}.form h2:first-of-type{margin-top:0}.fields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.fields label,.form>label{display:block;font-size:11px;color:#716c7e}.fields .check{align-self:center;padding-top:18px}input,select,textarea{font:inherit;border:1px solid #ded9e4;border-radius:6px;background:#fff;padding:9px;width:100%;margin-top:5px;color:var(--ink)}textarea{min-height:80px;resize:vertical}.form>label{margin:13px 0}.steps{padding:0;margin:15px 0;overflow:auto}.steps h2,.logs h2{padding:20px 21px 5px}.steps h2 small{font-size:11px;color:var(--muted);font-weight:normal}.step{display:grid;grid-template-columns:1.15fr .75fr .75fr 1.3fr .9fr 50px;min-width:760px;align-items:center;gap:9px;border-top:1px solid #f0eef2;padding:10px 20px}.step b{font-size:12px}.step input,.step select{margin:0;padding:7px;font-size:11px}.step small{font-size:10px;color:var(--muted)}.step button,.compact button{padding:7px;font-size:10px}.compact{grid-template-columns:repeat(5,1fr) auto;align-items:end}.logs p{border-top:1px solid var(--line);padding:11px 0;margin:0;font-size:12px}.logs time{color:var(--muted);font-size:10px;margin-right:8px}.archive{text-align:right}.archive button{background:none;border:0;color:#9b5361;font-size:11px;text-decoration:underline;cursor:pointer}.flash{max-width:750px;background:#e9f7f1;color:#25755e;padding:11px 14px;border-radius:7px;font-size:12px;margin-bottom:15px}.flash.error{background:#fceaea;color:#a83c3c}.auth{max-width:430px;margin:80px auto;padding:20px}.auth .brand{margin:0 0 30px}.auth h1{font-size:28px}.auth>p{color:var(--muted);font-size:13px;line-height:1.7;margin:14px 0 22px}.auth .form label{margin:0 0 15px}.auth .form button{width:100%;margin-top:8px}@media(max-width:900px){aside{width:64px;padding:22px 8px}.brand{font-size:0;margin:0 0 34px;text-align:center}.brand:before{content:'C';font-size:21px;color:var(--violet)}nav a{font-size:0;text-align:center;padding:12px 2px}.nav a:first-letter{font-size:17px}.account{display:none}.main{margin-left:64px;padding:30px 24px}.dash{grid-template-columns:1fr}.fields{grid-template-columns:1fr 1fr}.next{display:block}.inline{margin-top:13px;flex-wrap:wrap}}@media(max-width:600px){aside{display:none}.main{margin:0;padding:24px 14px}.top{align-items:start}.top h1{font-size:27px}.dash{gap:12px}.summary{grid-template-columns:1fr}.fields{grid-template-columns:1fr}.compact{grid-template-columns:1fr 1fr}.compact button{height:37px}.next .inline input,.next .inline input[name=next_action]{width:100%}.next .inline select{width:48%}.next .inline button{width:48%}.todo>a{grid-template-columns:10px 1fr}.todo em{grid-column:2}.top .btn{padding:9px;font-size:0}.top .btn:first-letter{font-size:17px}.card{padding:16px}.steps h2,.logs h2{padding:16px 16px 5px}}
